1. 程式人生 > 實用技巧 >laravel傳送郵件配置

laravel傳送郵件配置

1.設定傳送方,即郵件伺服器,可以使用163郵箱,設定smtp,開啟後獲取授權碼

2.在env檔案配置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com //郵箱伺服器
MAIL_PORT=25 //25埠
MAIL_USERNAME=130****@163.com //你登入163的郵箱賬號
MAIL_PASSWORD= ***** //開啟smtp的授權碼
MAIL_ENCRYPTION=tls //郵箱加密方式,25埠的為tls,其他的為ssl

3.在config下的mail檔案中設定

'from'=>[ 'address'=>env('MAIL_FROM_ADDRESS','你登入163的郵箱賬號'), 'name'=>env('MAIL_FROM_NAME','發件人名稱'), ], 4.建立控制器,然後呼叫mail類進行傳送 這裡以生成pdf和傳送pdf到郵箱為例 $data = ['name'=>'li','age'=>'12']; $pdf=PDF::loadView('pdfTemplate.testPage',compact('data'))->setPaper('a4'); //pdfTemplate.testPage為views目錄下的檢視檔案,compact('data')是傳到pdf中的資料, setPaper('a4')設定pdf的大小 //將pdf傳送到[email protected]的郵箱 Mail::to('[email protected]')->send(newReportPage($pdf,$user)); 5.建立mail類 php artisan make:mail Test
class
ReportPage extends Mailable { use Queueable, SerializesModels; // protected $data; protected $pdf; //傳遞過來的pdf原資料 protected $data; //pdf的變數資料 /** * Create a new message instance. * * @return void */ public function __construct($pdf,$data) { $this->data = $data
; $this->pdf = $pdf; } /** * Build the message. * * @return $this */ public function build() {    //傳送郵件檢視testPage時,data資料也要傳到檢視中去,output()是pdf原資料,testPage.pdf傳送到郵箱的pdf檔名字 return $this->view('pdfTemplate.testPage',['data'=>$this->data])
->subject('testPage') //郵件主題,即收到郵件時郵件的名字 ->attachData($this->pdf->output(), 'testPage.pdf', [ 'mime' => 'application/pdf' ]); } }

這樣就可以傳送郵件了,如果有報錯的地方就自己排一下錯,這裡只是說一下發送郵箱的一些流程