Symfony и SwiftMailer отправляют с помощью starttls

Может кто-нибудь объяснить мне, как работают SSL и STARTTLS с PHP?

У меня есть выделенный сервер с Postfix и Dovecot (управляется plesk). У меня нет SSL.

Чтобы получать и отправлять свои электронные письма, я использую SMTP / IMAP с STARTTLS.

Но в PHP, со Swiftmailer и Symfony, у меня есть только два варианта: ssl или tls.
Ни одна из 2-х не работает в моем случае, письма не уходят.

Выполняя поиск по stackoverflow, я помещаю это в мой код, и это работает:

$transport = \Swift_SmtpTransport::newInstance('smtp.server.fr', 587, 'tls')
->setUsername($username)
->setPassword($password)
->setStreamOptions(array('ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)));

$mailer = \Swift_Mailer::newInstance($transport);

Как вы думаете, моя конфигурация верна?

2

Решение

Порт 587 Вы предоставили указание, что опция tls верно. Таким образом, чтобы заставить его работать в Symfony с Swiftmailer, вам не нужно создавать новый экземпляр SmtpTransport,

Просто добавьте следующее в вашу конфигурацию Swiftmailer config.yml:

Swiftmailer
# here are some other swiftmailer options like host, user etc.
stream-options:
ssl:
allow_self_signed : true
verify_peer: false

Продолжайте использовать swiftmailer как обычно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]