У меня есть капелька на DigitalOcean и решенный для реализации моего собственного почтового сервера там с помощью постфикса и голубятни. Все работало правильно, и я смог отправить и получить электронные письма через почтовый клиент (Авиапочта для Mac). Моя капелька является debian, и я установил все рекорды DNS как ожидалось.
Я установил следующие ограничения (на постфиксе 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, почта привет обмениваются сообщениями, отклоняется, но если я установил его на example.com, сообщение отправляется.
Если я не ошибаюсь, мое компьютерное имя хоста не должно оказывать влияние на электронные письма, отправил/получил. Какие-либо идеи, почему это происходит?
Вам также следует добавить permission_sasl_authenticated
в начале smtpd_helo_restrictions
, поскольку эта часть оценивается до ограничений получателя и ваше сообщение будет отклонено, потому что example.local
не считается допустимым именем хоста Postfix.