我将yii2 basic和与Yii2一起提供的swiftmailer一起使用。
我不使用它来发送电子邮件,只是用来通过我的contact us
页接收消息。我收到各种消息,而在尝试使用Google电子邮件时,遇到了与安全相关的错误,即使我打开了allowed less secure apps accessing my account
,即使使用我的应用程序,Google仍然认为我的应用程序可能是恶意的。
我实际上想使用@domain.com
随附的电子邮件。我的托管服务提供商是hostgator
,所以可以说我已经用cpanel制作了admin@domain.com
。
我已经在参数中设置了adminEmail=>admin@domain.com
,并在Web配置中配置了传输数组
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'mail.domain.com',
'username' => 'admin@domain.com',
'password' => '*****',
'port' => '993',
'encryption' => 'ssl',
],
这是我的电子邮件smtp设置,从hostgator
开始(出于隐私保护,我将我的实际域名更改为domain.com
Username: admin@domain.com
Password: Use the email account’s password.
Incoming Server: mail.domain.com
IMAP Port: 993 POP3 Port: 995
Outgoing Server: mail.domain.com
SMTP Port: 465
IMAP, POP3, and SMTP require authentication.
如您所见,我只需要接收电子邮件而不是发送出去,所以我将端口设置为993
,之后设置为995
。我还尝试按照Stackoverflow中的一些建议将类设置为'class' => 'Swift_MailTransport'
,但仍然收到错误消息:Connection to tcp://mail.domain.com:465 Timed Out
已更新:尝试使用传出端口和Swift_MailTransport
类组合,但仍然遇到相同的错误。
我在这里做错了什么?我真的被卡住了。任何帮助将不胜感激。谢谢!
已更新:已解决。因此,我应该改用传出端口(在SO / google中,使用swiftmailer的人很少有资源只是用来接收电子邮件(大多数人使用它来发送电子邮件),所以我错误地认为我应该使用传入端口。我应该将加密的正确配置配置到各自的可用端口上,在我的情况下,我的托管服务提供商仅向我提供了端口465,因此entreption应该与ssl
匹配。然后它可以工作!提示