我在使用
Yii2 swiftmailer
发送电子邮件时遇到问题。我无法从我的网站转发电子邮件。
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtpout.secureserver.net',
'username' => '[email protected]',
'password' => 'mypassword',
'port' => '465',
'encryption' => 'ssl',
],
'useFileTransport' => true,
],
我该怎么做?
我不知道该怎么办。
任何错误信息?
'enableSwiftMailerLogging' => true,
您可以使用 . 编写和查看错误日志
如果 ssl 出错,您可以通过以下代码消除 ssl 错误
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtpout.secureserver.net',
'username' => '[email protected]',
'password' => 'mypassword',
'port' => '465',
'encryption' => 'ssl',
'streamOptions' => [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
],
'streamOptions' => ['ssl' => ['verify_peer' => false, 'verify_peer_name' => false]],
'streamOptions' => ['ssl' => ['allow_self_signed' => true]],
'streamOptions' => ['ssl' => ['verify_depth' => false]],
],
'enableSwiftMailerLogging' => true,
将 verify_peer 设置为 false 可能会使您的应用程序面临安全风险,因为它会禁用对等方 SSL/TLS 证书的验证。
可能是因为您将 useFileTransport 设置为 true。如果将其设置为 True,电子邮件将作为文件保存在 $fileTransportPath 下,而不是将它们发送给实际收件人。