Я настроил постфикс для мандрила следующим образом
в / etc / postfix / sasl_passwd [smtp.mandrillapp.com]:587 myusername:apikey
затем побежал postmap /etc/postfix/sasl_passwd
В /etc/postfix/main.cf
я добавил
myhostname = webmail.mysite.com
mydestination = localhost
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
relayhost = [smtp.mandrillapp.com]:587
Но журнал ошибок отправки почты показывает SASL authentication failed; server smtp.mandrillapp.com[52.7.100.156] said: 435 4.7.8 Error: authentication failed:
Я использую centos 7 Наконец-то он работает! У меня возникла эта проблема (tail -f /var/log/mailog
):
to=<usmanali@example.com>, relay=smtp.sendgrid.net[169.45.113.201]:587, delay=0.3, delays=0.05/0.07/0.16/0.02, dsn=5.0.0, status=bounced (host smtp.sendgrid.net[169.45.113.201] said: 550 Unauthenticated senders not allowed (in reply to MAIL FROM command))
Затем я изменил файл /etc/postfix/main.cf
таким образом, добавив следующие строки в конец файла
mtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
mailbox_size_limit = 256000000
# Sendgrid Settings
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:apikey:SG.YOUR_SENDGRID_KEY
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
Затем установка зависимости отсутствующего модуля postfix с помощью:
sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
Затем перезапускаем postfix
sudo systemctl restart postfix.service
В твоем smtp_sasl_password_maps
карта, ключ должен быть только имя хоста без скобок и номера порта.
smtp.mandrillapp.com nikolas@example.com:Y1gkQRajCjusxkvEXwv1Z