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