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

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 и снова безуспешно перенес его на карту.

В рецепте упоминается smtp_use_tls но вы установили smtpd_use_tls.

http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html Устранение неполадок / 1. Нет TLS

Попробуйте следующее модифицированная версия это сработало для меня в Ubuntu 18.04 (при условии, что начиная с нуля, замените vi с участием nano или любой другой редактор, с которым вы знакомы):

Выполните эти шаги как root.

  1. apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
    Примечание. Выберите «Интернет-сайт» и другие параметры по умолчанию, если в терминале появятся вопросы. Бегать dpkg-reconfigure postfix если вам нужно перенастроить postfix поверх.
  2. Создайте файл паролей с помощью vi /etc/postfix/sasl_passwd
  3. Заполните файл паролей. Пример: [smtp.gmail.com]:587 myusername@gmail.com:mypassword
  4. Защитите файл, запустив chmod 600 /etc/postfix/sasl_passwd
  5. Заменить содержимое файла конфигурации, запустив vi /etc/postfix/main.cf
  6. Поместите в файл следующее:

    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
    
  7. Закодируйте файл паролей, запустив postmap /etc/postfix/sasl_passwd

  8. Начать сначала postfix сервис, запустив systemctl restart postfix.service

  9. Заменить you@example.com с вашим адресом электронной почты в следующем коде и тестовой отправкой почты: echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com

  10. Дайте Google минуту на обработку. Вы должны увидеть отправленное письмо в папке отправленных для вашей учетной записи Gmail и в папке «Входящие» указанной целевой учетной записи. Если не пришло письмо, проверьте cat /var/mail/root, cat /var/log/mail.log или другие места в зависимости от вашего распределения на ошибки.

Помимо наблюдения Анджея А. Филипа, файл паролей содержал орфографическую ошибку:

stmp.gmail.com на самом деле должно быть smtp.gmail.com