有人可以向我解释如何使用SSL工作SSL和STARTTLS吗?
我有一个专门的服务器,有Postfix和Dovecot(由plesk管理)。我没有SSL。
要获取和发送我的电子邮件,我使用带有STARTTLS的SMTP / IMAP。
但是在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);
您认为我的配置是否正确?
答案 0 :(得分:0)
您提供的端口587
表示选项tls
正确无误。因此,要使用Swiftmailer在Symfony中工作,您不需要实例化新的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。