# 使用 Mailgun 寄信
Mailgun 對於初期的產品是一個不錯的郵件服務,每個月可以免費寄送 10000 封信,對於初期的應用應該是綽綽有餘,而且 Laravel 5 預設有支援 Mailgun 的服務,所以我們來介紹如何使用 Mailgun 寄信
### 設定 `config/mail.php`
> driver 設為 `mailgun`
> host 設為 `smtp.mailgun.org`
> port 設為 `587`
> username 設為 `postmaster@mailgun.kejyun.com`,這個帳號可以登入後到 Domains 頁選擇你設定的 Domains,找到 `Default SMTP Login` 就可以看到這個帳號
> password 設為你自己的密碼,Mailgun 顯次的欄位為 `Default Password`,密碼長度為 32 碼
> pretend 設為 `true`,這樣才可以正常使用 Mailgun 寄送
設定完後會像這樣:
~~~
// config/mail.php
return [
'driver' => 'mailgun',
'host' => 'smtp.mailgun.org',
'port' => 587,
'from' => ['address' => 'kejyun@gmail.com', 'name' => 'KeJyun'],
'encryption' => 'tls',
'username' =>'postmaster@mailgun.kejyun.com',
'password' => 'abcdefghijklmnopqrstuvwxyz123456',
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
~~~
### 設定 `config/services.php`
> domain 設定為你自己定義的 domain,若沒有自己定義 domain 的話,可以使用 Mailgun 替你產生的 domain,可以看看 `Default SMTP Login` 後面的 `sandboxXXXXXX.mailgun.org`,這個為 Mailgun 產生的 domain
> secret 設為 Mailgun 提供的 `API Key`,會長的像 `key-abcdefghijklmnopqrstuvwxyz123456`
設定完後會像這樣:
~~~
// config/services.php
[
'mailgun' => [
'domain' => 'mailgun.kejyun.com',
'secret' => 'key-abcdefghijklmnopqrstuvwxyz123456',
],
]
~~~
### 測試使用 Mailgun 寄信
~~~
Mail::raw('測試使用 Laravel 5 的 Mailgun 寄信服務', function($message)
{
$message->to('kejyun@gmail.com');
});
~~~
這樣我們就可以使用 Mailgun 去當作我們的郵件寄送服務了!!!
### 參考資料
- [Mailgun](https://mailgun.com/)
- [Setting up Mailgun with Laravel 5](http://jamie.sh/tutorials/7/setting-up-mailgun-with-laravel-5)
- [郵件 - Laravel.tw](http://laravel.tw/docs/5.0/mail)
- 介紹
- 環境
- .env 檔案
- 資料庫
- Migration (遷移)
- Eloquent Model (模型)
- 設定
- 關聯
- 魔術函式
- 使用 Eloquent
- 常見問題
- 無法取得查詢 Log
- 使用大量資料的方式新增時無法新增
- 使用中繼模型繼承 Eloquent 模型造成無法使用大量資料新增
- PostgreSQL
- 安裝 PostgreSQL ODBC driver
- HTTP
- 請求
- 中介層 (Middleware)
- 視圖 (View)
- 服務
- 認證登入(Auth)
- 郵件(Mail)
- 使用 Gmail 寄信
- 使用 Mailgun 寄信
- 隊列(Queue)
- database
- 非同步(async)
- 輔助方法 (Helpers)
- 自定義輔助方法
- 單元測試 (Unit Test)
- Post CSRF 錯誤
- 錯誤與日誌
- 在單元測試顯示例外
- 日誌記錄層級
- 日誌巨集
- 加密
- 雜湊
- Elixir
- 使用 Elixir 合併 CSS 與 JS
- 設計模式
- 服務容器
- PSR
- Model 模型
- 學習資源
- 套件
- Debug
- Artisan tail
- 工具
- Carbon
- 設計模式
- 其他常見問題
- Call to undefined method getCachedCompilePath()
- 變更專案目錄名稱導致 View 無法讀取
- Laravel 5.1 目錄結構異動
- 學習資源
- 官方
- 社群
- 會議議程
- 工作
- 文件
- 文章
- 套件
- 服務工具
- 教學影片
- 教學網站
- 編輯開發
- 主機
- 成功案例