Yii2 свяжись с нами со Swiftmailer - PullRequest
0 голосов
/ 04 июня 2019

Я использовал 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 за подсказку

...