How to use Mailgun/Resend as SMTP server
會有這個紀錄是因為deploy Mastodon Instance時需要用到SMTP Server,雖然是Optional,但還是嘗試建立一個試看看
Prerequisite
- 有一台具有domain的device
Mailgun Step
- 先到官網註冊帳號
- 在Sending > Domains中新增Domain,我是只有domain name,而不是包含subdomain
其他參數不用改
- 進入到DNS records並且查看有哪些東西需要加進去到DNS的紀錄,以我的為例,因為我有開啟automatic sender security,所以有以下6個
包含3個CNAME,2個MX,一個TXT 接著就到當初申請domain的網站,以我的為例是namesilo,新增這幾個紀錄,就是複製貼上,最後新增完如下
- 接著就一直等,由於DNS更新也會需要時間,所以mailgun要verify也可能要等很久,我大概是等了半小時才好,在Mailgun的Domain Setting頁面,會顯示所有的紀錄為Verified或是Active的字樣(如上上圖)
- 接著就看哪一個service需要用到SMTP,以我的為例就是Mastodon Instance,他會建立一個.env.production,裡面就要放SMTP會用到的環境變數,如下
1
2
3
4
5
6
7
8SMTP_SERVER=smtp.mailgun.org SMTP_PORT=587 SMTP_LOGIN=postmaster@sbk6401.sbs SMTP_PASSWORD=<your SMTP Password> SMTP_AUTH_METHOD=plain SMTP_OPENSSL_VERIFY_MODE=none SMTP_ENABLE_STARTTLS=auto SMTP_FROM_ADDRESS='Mastodon <notifications@mastodon.sbk6401.sbs>'
首先解釋一下上面的變數 SMTP_SERVER和SMTP_PORT建議不要改,login如果沒有特別指定,就是使用postmaster@<your domain name>,而password要到Mailgun的SMTP Credentials中,利用Reset Password並且複製新的密碼就可以貼上
而auto_method、openssl_verify和enable_starttls則是有其他的選項可以選,可以視情況自行使用,from_address則是看要用什麼身份傳送mail,我是直接使用mastodon的預設模式
- Done!!! 通常這樣沒有什麼問題的話就完成了,只要mastodon有出現任何被Follow、登入、被tag發文等操作,都應該要發送信件通知才對
Resend Step
我發現在設定Bluesky的SMTP的時候,無法用mailgun當作server,不確定是什麼原因,但官方doc說建議用Resend或是SendGrid,然後和Mailgun設定的差不多,先新增一個自己的domain,然後他會給4個DNS config的紀錄(3個TXT和1個MX)
就直接到自己當初申請domain的DNS Server設定,接下來就是等DNS server更新
等到更新成功後,先申請API key,到API Keys > Create API Keys 建立SMTP的API,然後就可以開始填寫pds.env
1 |
|