Я использовал yii2 basic с swiftmailer, который шел вместе с Yii2.
Я не использую его для отправки электронной почты, просто для того, чтобы получать сообщение через мою contact us
страницу. Я получал различные сообщения, пытаясь при помощи электронной почты Google получить ошибку, связанную с безопасностью, из-за которой при просмотре в Google мои приложения могли быть вредоносными даже при включенном allowed less secure apps accessing my account
.
Я на самом деле хочу использовать мою электронную почту, предоставленную моим @domain.com
. Мой хостинг-провайдер - hostgator
, поэтому предположим, что я сделал admin@domain.com
с моей cpanel.
Я установил adminEmail=>admin@domain.com
в своих параметрах и настроил транспортный массив в моей веб-конфигурации
'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
. Я также попытался установить свой класс на 'class' => 'Swift_MailTransport'
, как рекомендовано некоторыми в Stackoverflow, но все равно получило сообщение об ошибке: Connection to tcp://mail.domain.com:465 Timed Out
Обновлено: попробуйте использовать исходящий порт и комбинацию классов Swift_MailTransport
, но ошибка все равно возникла.
Что я здесь не так делаю? Я действительно застрял. Любая помощь будет принята с благодарностью. Спасибо!
Обновлено: решено. Так что вместо этого мне следовало использовать исходящий порт (в SO / google мало людей, использующих swiftmailer, только для получения электронной почты (большинство используют его для отправки электронных писем), поэтому я ошибочно предположил, что должен использовать входящий порт. Наряду с этим, Я должен настроить правильную конфигурацию моего шифрования для моего соответствующего доступного порта. В моем случае, мой хостинг-провайдер предоставил мне только порт 465. Таким образом, шифрование должно совпадать с ssl
. Тогда это работает! Спасибо @tim за подсказку