Назад | Перейти на главную страницу

Я могу отправлять электронную почту через Thunderbird, но не через собственное приложение. Настройки электронной почты идентичны

У меня есть свой сервер Postfix. Я могу без проблем отправлять электронную почту через него, используя Thunderbird. Для smtp у меня есть:

port - 587
Normal Password
STARTTLS

Однако я не могу отправить электронное письмо через тот же сервер через собственное приложение. Настройки такие:

server: "mail.my_server.com",
username: "aaa@my_domain123.com",
password: "fdsafdsafdsfds"",
port: 587,
allowed_tls_versions: [:"tlsv1", :"tlsv1.1", :"tlsv1.2"],
retries: 5,
auth: :if_available

// tls: :always,
// ssl: true,
// no_mx_lookups: false, # can be `true`
// auth: :always,

У меня исключение:

450 4.7.1 Client host rejected: cannot find your reverse hostname: 11.22.33.44

Где 11.22.33.44 - мой внешний IP-адрес моего домашнего компьютера

Как я могу отправлять электронную почту с домашний компьютер через Thunderbird, но не мое собственное приложение, работающее на том же домашнем компьютере, с тем же сервером и, предположительно, с настройками?

Держу пари, это связано с тем, что ваше приложение отправляет что-то вроде localhost или localhost.localdomain в EHLO, или вообще не отправлять EHLO. Скорее всего, Thunderbird отправляет более подходящее значение.

Не могли бы вы опубликовать вывод /var/log/maillog для обоих, когда вы пытаетесь отправить почту из вашего приложения, а затем, когда вы отправляете почту из Thunderbird?

Быстрое решение может заключаться в удалении reject_unknown_helo_hostname директива от smtpd_helo_restrictions конфигурация. Более безопасным и, вероятно, таким же быстрым решением было бы настроить mynetworks а затем используйте allow_mynetworks директива smtpd_helo_restrictions конфигурация.