發送郵件是我們日常在開發中必不可少會遇到的一個需求,下面這篇文章主要給大家介紹了關於laravel5.4利用163郵箱發送郵件的步驟,文中通過範例程式碼和圖片介紹的非常詳細,需要的朋友可以參考下。
前言
其實發送郵箱其實不難,不如說挺簡單的,本文將詳細介紹關於laravel5.4用163郵箱發送郵件的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
一、首先還是現在163註冊一個帳號並且設定如
授權碼很重要的,請好好記住,待會在laravel的.env中要配置到的~~
二、如果以上你都做完了,那接下來就是配置.env了
MAIL_DRIVER=smtpMAIL_HOST=smtp.163.comMAIL_PORT=465MAIL_USERNAME=你的帳號@163.comMAIL_PASSWORD=你的用戶端授權密碼MAIL_FROM_ADDRESS=你的帳號@163.comMAIL_FROM_NAME=帳號名MAIL_ENCRYPTION=ssl
三、然後接下來就是配置路由以及在控制器上寫發送郵件的方法了
Route::get('mail/send','CommonController@send');
隨意在哪一個控制器上就寫這個send方法:
public function send(){$name='學院君';$flag= Mail::raw('你好,我是PHP程式!',function($message) {$to='你的qq郵箱@qq.com';$message->to($to)->subject('純文字資訊郵件測試');});if(!$flag){echo '發送郵件成功,請查收!';}else{echo '發送郵件失敗,請重試!';}//以上是純文字,下面則是附帶檔案發送// $flag = Mail::send('emails.test',['name'=>$name],function($message){// $to = '你的qq郵箱@qq.com';// $message->to($to)->subject('text');// // $filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '學產生績').'.xls';// $attachment = storage_path('app/files/test.txt');// //在郵件中上傳附件// $message->attach($attachment,['as'=>'text.txt']);// });//下面是發送郵件附帶圖片的// $imgPath = 'http://laravelacademy.org/wp-statics/images/carousel/LaravelAcademy.jpg';// $flag = Mail::send('emails.test',['name'=>$name,'imgPath'=>$imgPath],function($message){// $to = '你的qq郵箱@qq.com';// $message ->to($to)->subject('網狀圖片測試');// });// if(!$flag){// echo '發送郵件成功,請查收!';// }else{// echo '發送郵件失敗,請重試!';// }}
好的,接下來就是你們自己訪問路由就能得到你想要的結果了~~~~~
PS:重點就是搞定報錯過程了,基本上按照步驟來走的大概是不會有啥大問題的,但是呢,最重要的是我用的是Ubuntu16.04系統來做的,裡面的許可權問題應該首先是首要解決的,所以我建議先給好許可權,在你的目錄裡面開啟命令列:sudo chmod 777 -R ./
好了,接下來就是處理串連不上163網易郵箱的問題了,我能給的方法就是在StreamBuffer.php 的263行添加兩行代碼:
$options['ssl']['verify_peer'] = FALSE;$options['ssl']['verify_peer_name'] = FALSE;
基本上大體照以上步驟走都能搞定了~~~
總結