前言
近期工作替商品做了下訂的功能,寫了一堆寄信功能,像是下訂成功、下訂失敗、請求報價、信箱驗證信和優惠碼通知信等…
那就來記錄一下寄信的寫法吧
環境
- OS : Windows 10
筆記說明
- 程式可以參考我的 laravel筆記
- 建立 Controller
php artisan make:controller MailController
- 新增 app\Mail 來放建立信件的物件
- 新增 resources\views\email 來放信件的 html template
- 用 Blade Templates 去建立信件樣板
- 可以用
@include
去匯入部分樣板 - 我的筆記程式參考這個樣板
- 在 MailService 用 Mail 去寄信
1
2
3$sampleMail = new SampleMail($smapleData);
Mail::to($receiverMail)
->send($sampleMail);- 可以傳入
$smapleData
信件需要的資料- 可以用雙層大括號顯示傳入變數
- Mail::to 設定收件者信箱
- 可以傳入
- 寄件者和寄件者名稱會吃 env
1
2MAIL_FROM_ADDRESS="sender@gmail.com"
MAIL_FROM_NAME="寄件者" - 在 env 設定 smtp
- 測試寄信結果我會用 Mailtrap
1
2
3
4
5
6MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=test_username
MAIL_PASSWORD=test_password
MAIL_ENCRYPTION=tls
- 測試寄信結果我會用 Mailtrap
結語
- 寄信不難,只是麻煩