Yii2郵箱發送與配置


1配置郵箱

在 common/config/web.php中寫入以下代碼配置 Mail代理

 return [
        'components' => [
            ...//your code,
            //以下是 mail 的配置
            'mailer' => [
                'class' => 'yii\swiftmailer\Mailer',
                'viewPath' => '@common/mail',
                'transport' => [
                    'class' => 'Swift_SmtpTransport',
                    //我用的是QQ 的代理,所以這里是 QQ 的配置信息
                    'host' => 'smtp.qq.com',
                    'port' => 587,
                    'encryption' => 'tls',    
                    //這部分信息不應該公開,所以后期會由數據庫中拿取
                    'username' => '你的 QQ 號',
                    'password' => '在開啟SMTP服務后,生成de一個授權碼,不是扣扣密碼',
                ],
                //發送的郵件信息配置
                'messageConfig' => [

                    'charset' => 'utf-8',

                    'from' => ['410345759@qq.com' => '祝雲']
                ],

            ],'

        ]

    ];

2接下來就可以發送郵件了

   不使用模板
    $mail = Yii::$app->mailer->compose();
    $mail->setTo('發送的郵箱');
    $mail->setSubject('郵件的標題');
    $mail->setHtmlBody('郵件內容,這里可以使用 HTML 代碼');
    $mail->send();//發送

    使用模板           //你也可以在 compose() 方法中傳遞一些視圖所需參數,這些參數可以在視圖文件中使用
Yii::$app->mailer->compose(
'模板文件名稱',['key' => $value])
 ->setFrom('from@domain.com')
  ->setTo('to@domain.com')
   ->setSubject('Message subject')
   ->setTextBody('Plain text content')
   ->setHtmlBody('<b>HTML content</b>')
   ->send();
//compose 與控制器中的 render 方法參數方式相同.

問題當出現:

Failed to authenticate on SMTP server with username "1710000" using 1 possible authenticators

   1、在郵箱設置中開啟SMTP服務

   2、在開啟SMTP服務后,生成一個授權碼,填入配置文件的  password 即可。

 

 2016-11-13 18:48:15

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM