Я пытаюсь получить скрипт Python для отправки почты (используя smtplib.SMTP), но postfix отказывается ретранслировать сообщение. Я не использую сервер Virtualmin Ubuntu 10.10 в качестве почтового сервера (для этого я использую приложения Google), но я хочу, чтобы скрипты могли отправлять почту. Вот журнал, в котором адреса заменены на общие:
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: connect from localhost[127.0.0.1]
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <example@gmail.com>: Relay access denied; from=<noreply@example.info> to=<user@gmail.com> proto=ESMTP helo=<unimatrix-01.example.com>
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: lost connection after RSET from localhost[127.0.0.1]
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: disconnect from localhost[127.0.0.1]
Я уже безуспешно пытался исправить это, выполнив # dpkg-reconfigure postfix в соответствии с Документы Ubuntu. Как я могу это исправить?
Заранее спасибо.
Обновление: интересно, что приложения, использующие PHP, могут нормально отправлять почту. Итак, я подозреваю, что это как-то связано с postfix, требующим локальной аутентификации. В этом нет необходимости, поскольку я являюсь единственным пользователем этого ВП. Надеюсь, это поможет в устранении неполадок.
Проверьте, разрешаете ли вы локальным сетям ретранслировать электронные письма без аутентификации.
Прежде всего, следующая команда должна включать allow_mynetworks
sudo postconf smtpd_recipient_restrictions
Затем проверьте, если 127.0.0.1 в $ mynetworks. Просто сделать,
sudo postconf mynetworks
и проверьте, если 127.0.0.1 здесь.
Я предполагаю, что вы нигде не устанавливаете mydomain и, следовательно, не сообщаете postfix, куда он может доставлять почту.
По сути, вам нужно установить mydomain = gmail.com, а затем добавить gmail.com или $ mydomain в mydestination.
Обязательно перезагрузите / перезапустите postfix
У меня возникла проблема при отправке электронной почты из веб-интерфейса squirrelmail. он сказал:
relay access denied
Я исправил это, удалив следующую запись из моего /etc/hosts
:
::1 localhost ip6-localhost ip6-loopback