yii2 0發郵件出現發不出去的問題

2021-09-22 21:23:16 字數 1117 閱讀 3996

yii框架郵件傳送步驟:

1.設定配置檔案,main.php

'mailer' => [

'class' => 'yii\swiftmailer\mailer',

'viewpath' => '@common/mail',

'usefiletransport' => false,//這句一定有,false傳送郵件,true只是生成郵件在runtime資料夾下,不發郵件

'transport' => [

'class' => 'swift_smtptransport',

'host' => 'smtp.exmail.qq.com', //每種郵箱的host配置不一樣

'username' => '*******@jwsem.com',

'password' => '********',

'port' => '465',//企業郵箱,163郵箱伺服器端口為: 25

'encryption' => 'ssl',

],'messageconfig' => [

'charset' => 'utf-8',

'from' => ['*******@jwsem.com' => '系統']

],],

2.控制器中的使用

$mail->usefiletransport = false;//不加此句時,如果收不到郵箱,就是在其他環境設定時是true,所以此處可以加上此句,避免收不到郵箱

$mail->compose()

->setfrom([*******@jwsem.com'=>'系統'])

->setto(['*******@jwsem.com','*******@qq.com'])//此處為陣列時可以發給多個人

->setsubject('郵箱標題')

->send();

注:在某個專案開發過程中,我的這個郵件怎麼也發不出去,看了配置檔案中的配置 『usefiletransport』 => false也沒錯,後來發現在測試環境中的配置是』usefiletransport』 =>true,此時我在控制器中也新增了 『usefiletransport』 => false此時就能正常傳送了,不過最終原因是要將測試環境中的配置改為false。

基於Yii2 0傳送郵箱

yii2.0傳送郵件是很容易的,只需要配置個檔案,然後開啟php openssl擴充套件即可。首先我們先配置yii2.0郵件類,在yii2.0框架的配置檔案的components陣列裡配置如下 mailer class yii swiftmailer mailer 這句一定有,false傳送郵件,t...

使用php發郵件二(發郵件流程)

傳送郵件過程 1 配置好你的郵箱服務 qq郵箱為例 2 使用socket連線,建立乙個套接字 fp fsockopen hostname,port,errno,errmsg,30 3 向對方郵件伺服器發出的標識自己的身份的命令fputs fp,ehlo ki r n 4 即將進行身份認證fputs ...

yii 2 0 寫入日誌

首先,我們的 web.php 配置檔案中,更改於下 log tracelevel yii debug 3 0,targets class yii log filetarget levels error warning trace 在 levels 中,增加了 trace,使用如下 yii trace...