Laravel 使用 Mailgun 發送Email

Laravel 使用 Mailgun 發送Email

完成了這個功能後過了一個多月,當初設定了什麼都快忘光了,趁還有一絲絲印象趕快做個紀錄,雖然網路上都有資源可以看啦~但自己做的還是比較有印象


首先需要先安裝套件composer require guzzlehttp/guzzle

然後配置 config/mail.php (斜體字就填入自己要的名稱)<?phpreturn ['driver' => env('MAIL_DRIVER', 'smtp'),
   'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
   'port' => env('MAIL_PORT', 587),
   'from' => [
       'address' => env('MAIL_FROM_ADDRESS', 'Your app name'),
       'name' => env('MAIL_FROM_NAME', 'Your app name'),
   ],
   'encryption' => env('MAIL_ENCRYPTION', 'tls'),
   'username' => env('MAIL_USERNAME'),
   'password' => env('MAIL_PASSWORD'),
   'sendmail' => '/usr/sbin/sendmail -bs',
   'markdown' => [
       'theme' => 'default',
       'paths' => [
           resource_path('views/vendor/mail'),
       ],
   ],
   'pretend' => true,
];?>

然後上面的設定會去抓 .env 裡面的設定MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME= // 填入 Default SMTP Login 後面的字串
MAIL_PASSWORD= // 填入 Default Password 後面的字串
MAIL_ENCRYPTION=null
MAILGUN_DOMAIN= // 填入 DOMAIN 下面的字串 SandBox...
MAILGUN_SECRET= // 填入 API Key 後面的字串

實際登入Mailgun進入domains會是下面的畫面,就對應上圖填入相對應的值

然後就可以測試寄信功能啦~大概是這樣吧~
祈禱大家照我的方法做都能成功!