У меня есть капля на DigitalOcean, и я решил реализовать там свой собственный почтовый сервер, используя postfix и dovecot. Все работало правильно, и я мог отправлять и получать электронные письма через почтовый клиент (Airmail для Mac). Моя капля - это debian, и я установил все записи DNS, как ожидалось.
Я установил следующие ограничения (на postfix main.cf):
smtpd_banner = $myhostname ESMTP
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, permit
smtpd_recipient_restrictions = reject_unknown_client_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender
Странно то, что мои электронные письма отклоняются из-за того, как имя хоста установлено на моем локальном компьютере (а не на сервере). Итак, если я установил имя хоста на своем компьютере на example.local, почтовое сообщение helo отклоняется, но если я установил его на example.com, сообщение будет отправлено.
Если я не ошибаюсь, имя моего компьютера не должно влиять на отправленные / полученные электронные письма. Есть идеи, почему это происходит?
Вам также следует добавить permit_sasl_authenticated
в начале smtpd_helo_restrictions
, поскольку эта часть оценивается до ограничений получателя, и ваше сообщение будет отклонено, потому что example.local
не считается допустимым именем хоста Postfix.