Мне нужно отправить электронное письмо через внешний SMTP, используйте STARTTLS, мой postconf -n:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 0.0.0.0/0
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relayhost = xx.xx.xx.xx:2525
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_note_starttls_offer = yes
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtp_tls_security_level = may
smtp_use_tls = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
unknown_local_recipient_reject_code = 550
/ и т.д. / постфикс / sasl_passwd
xx.xx.xx.xx:2525 user:password
/ и т.д. / постфикс / tls_policy
xx.xx.xx.xx:2525 encrypt
У меня такая ошибка:
Jul 6 17:49:11 ip-10-1-4-140 postfix/smtp[25156]: 95F826276D: to=<foo@bar.com>, relay=xx.xx.xx.xx[xx.xx.xx.xx]:2525, delay=0.43, delays=0.23/0.01/0.19/0, dsn=4.7.4, status=deferred (TLS is required, but was not offered by host xx.xx.xx.xx[xx.xx.xx.xx])
Любая идея?
Это может случиться, когда у вас smtp_use_tls = yes
.
smtp_use_tls
(дефолт:no
)Оппортунистический режим: используйте TLS, когда удаленный SMTP-сервер объявляет о поддержке STARTTLS, в противном случае отправляйте почту в открытом виде. Осторожно: некоторые SMTP-серверы предлагают STARTTLS, даже если он не настроен. С Postfix <2.3, если квитирование TLS не удается, и другой сервер недоступен, доставка откладывается, и почта остается в очереди. Если вас это беспокоит, используйте smtp_tls_per_site функция вместо этого.
Никаких изменений в postfix вносить не нужно. Просто убедитесь, что ваш маршрутизатор / брандмауэр разрешает почтовые службы. Вы можете проверить это, выполнив следующую команду.
telnet smtp.gmail.com 587 <- введите
введите свое имя пользователя Gmail.
EHLO foo@gmail.com <- войти,
после этого вы должны увидеть результат, как показано ниже.
250-smtp.gmail.com
250-8BITMIME
250-РАЗМЕР 10485760
250-STARTTLS
250-АУТ. ОБЫЧНЫЙ ВХОД
250 ок
421 Тайм-аут ожидания данных от клиента.
Если вы не находите STARTTLA тогда ваш маршрутизатор / брандмауэр блокирует. Разблокируйте 25 587 и 465, все будет нормально.
Надеюсь, это решит вашу проблему.