Postfix & Gmail: ошибка проверки подлинности
Я настроил Postfix, используя это руководство. Когда я отправляю тестовое электронное письмо, я получаю следующее сообщение об ошибке:
May 23 15:36:26 VM11 postfix/smtp[15321]: connect to smtp.gmail.com[2a00:1450:4001:c02::6d]:587: Network is unreachable
May 23 15:36:26 VM11 postfix/smtp[15321]: 4AA58243A3: to=<root@VM11.rbg.informatik.tu-darmstadt.de>, relay=smtp.gmail.com[173.194.70.108]:587, delay=0.07, delays=0.01/0/0.04/0.02, dsn=5.7.0, status=bounced (host smtp.gmail.com[173.194.70.108] said: 530 5.7.0 Must issue a STARTTLS command first. y10sm16916731eev.3 - gsmtp (in reply to MAIL FROM command))
May 23 15:36:26 VM11 postfix/qmgr[15314]: 4AA58243A3: removed
Я настроил свои данные аутентификации:
[stmp.gmail.com]:587 USER@GOOGLEDOMAIN:PASSWORD
И что следует, это моя общая конфигурация main.cf
:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = VM11.rbg.informatik.tu-darmstadt.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =
relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 51200000
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
# Further authentication stuff
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_auth_only = no
Так что не так с конфигурацией?
РЕДАКТИРОВАТЬ: На основании предложения Анджей А. Филип я изменил smtpd_use_tls=yes
в smtp_use_tls
, Это теперь оставляет меня с другим сообщением об ошибке:
May 26 11:20:36 VM11 postfix/smtp[20031]: D9982243B9: to=<root@VM11.rbg.informatik.tu-darmstadt.de>, relay=smtp.gmail.com[173.194.70.108]:587, delay=0.19, delays=0.02/0/0.15/0.01, dsn=5.5.1, status=bounced (host smtp.gmail.com[173.194.70.108] said: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 z52sm34463651eea.1 - gsmtp (in reply to MAIL FROM command))
Я дважды проверил файл sasl_password и снова отправил его на карту без какого-либо успеха.
3 ответа
Рецепт упоминает smtp_use_tls
но вы установили smtpd_use_tls
,
http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html Устранение неполадок / 1. Нет TLS
Попробуйте следующую модифицированную версию, которая работала для меня в Ubuntu 18.04 (если начать с нуля, заменить vi
с nano
или любой редактор, с которым вы знакомы):
Выполните эти шаги от имени пользователя root.
apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
Примечание. Выберите "Интернет-сайт" и другие параметры по умолчанию, если на экран выводятся вопросы. Бежатьdpkg-reconfigure postfix
если вам нужно перенастроить постфикс поверх.- Создайте свой файл паролей с
vi /etc/postfix/sasl_passwd
- Заполните файл паролей. Пример:
[smtp.gmail.com]:587 myusername@gmail.com:mypassword
- Защитите файл, запустив
chmod 600 /etc/postfix/sasl_passwd
- Замените содержимое файла конфигурации, запустив
vi /etc/postfix/main.cf
Поместите в файл следующее:
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Кодировать файл пароля, запустив
postmap /etc/postfix/sasl_passwd
Запустить снова
postfix
сервис, запустивsystemctl restart postfix.service
замещать
you@example.com
с вашим адресом электронной почты в следующем коде и тестовой отправкой почты:echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com
Дай гугл мин, чтобы обработать. Вы должны увидеть отправленную почту в папке для вашей учетной записи Gmail и в папке "Входящие" указанной целевой учетной записи. Если почта не приходит, проверьте
cat /var/mail/root
,cat /var/log/mail.log
или в других местах, в зависимости от вашего распространения для ошибок.
В дополнение к наблюдению Анджея А. Филипа файл пароля содержал орфографическую ошибку:
stmp.gmail.com
должно быть на самом деле smtp.gmail.com