如何用Gmail發信

如何用Gmail發信

0.重要參數介紹:

config/mail.php 參數

driver: Mail Driver,支援 “smtp", “mail", “sendmail", “mailgun", “mandrill", “ses", “log",這邊選擇 smtp

host: SMTP Host Address,使用 smtp.gmail.com

port: SMTP Host Port,使用 587

from: Global “From" Address,指定由應用程式寄出信件的寄件者及名字

encryption: E-Mail Encryption Protocol,使用 tls

username: SMTP Server Username,使用 Gmail address

password: SMTP Server Password,使用 Gmail password

sendmail: Sendmail System Path

pretend: 設定為true時,郵件訊息將會寫到應用程式的 log 檔案中,而不會發送給使用者,設定為false時,郵件才會真得寄出

* encryption 可選擇使用 tls 或 ssl,但使用port不同,tls port: 587, ssl port: 465

 

1.修改 config/mail.php 以及 .env 設定

// config/mail.php
return [

 'driver' => env('MAIL_DRIVER', 'smtp'),
 'host' => env('MAIL_HOST', 'smtp.gmail.com'),
 'port' => env('MAIL_PORT', 587),
 'from' => ['address' => 'your@gmail.com', 'name' => 'yourname'],
 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
 'username' => env('MAIL_USERNAME'),
 'password' => env('MAIL_PASSWORD'),
 'sendmail' => '/usr/sbin/sendmail -bs',
 'pretend' => false,

];
// .env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your@gmail.com
MAIL_PASSWORD=yourgmailpassword
MAIL_ENCRYPTION=tls

PS:這個步驟是讓應用知道可以透過哪個管道來進行發信

 

2.因為Gmail安全性的設計,預設是無法讓其他應用去進行發信,所以必須修改Gmail安全性設定

找到 [允許安全性較低的應用程式] 設定,開啟此網頁 https://www.google.com/settings/security/lesssecureapps登入後設為「啟用」。

3.新增信件內容頁面

// resources/views/email/test.blade.php

Hi {{ $name }}!

 

4.測試發信功能是否正常

// app/Http/routes.php
Route::get('sendmail', function() {
 $data = ['name' => 'Test'];
 Mail::send('email.test', $data, function($message) {
  $message->to('your@email')->subject('This is test email');
 });
 return '信件寄送成功!';
});

 




分享這篇文章:

發佈自 林品爵

林品爵
一個堅信程式教育能夠改變下一代未來的狂熱者,青少年揚帆計畫的推動者。十年以上全端程式開發,上百場程式教學經驗,累積學生數達百人以上。 成大學士畢業,使用過J2EE.PHP.MySQL.CoronaSDK.Android.Objective-C.Swift.Python等技術知識,歷任友訊科技總部Java工程師首席.黑快馬股份有限公司研發經理.諾亞數碼娛樂執行長等職位,現任哥布林程式教育學苑創辦人,所開發過專案涵括產品管理系統.POS系統.拍賣平台.擴增實境.問券.社區App等等。 程式啟蒙班講師 . Laravel網頁程式班講師 . App程式班講師

關聯文章:

留下留言