如何註冊每月3萬封的mailgun
從以下連結進去註冊,並綁訂信用卡即可
設定好後要記好「SMTP_LOGIN」與「SMTP_PASSWORD」
之後設定寄信功能會用到
註冊Linode
首先到 https://www.linode.com/ 網站,註冊帳號並登入
填寫名稱後 填寫帳單資料與信用卡


登入後 創建Linode

Images 選擇 Ubuntu 20.04 LTS (Cyberpanel目前只支援到20.04)
Region 選擇 Tokyo 2, JP
Linode Plan 選擇 Dedicated CPU > Dedicated 8 GB
Linode Label 可以自行取名
Linode Tags 也是自行取名
自己設定好Root Password後,別忘記密碼!
附加功能 選擇 Backups (自動備份)
選擇完畢後 Create Linode即可



創建好畫面如下

安裝Cyberpanel
接下來點即建立好的主機,右上角 Launch LISH Console,進入SSH控制台


首先登入你的帳號
基本上帳號預設:root
密碼則是剛剛設定的密碼
登入成功畫面

然後就準備開始裝設cyberpanel
安裝指令:
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
選擇是否安裝(1、安裝,2、離開)

安裝OpenLiteSpeed

是否安裝所有服務:Y

是否移除MySQL:N

直接點Enter安裝最新版本的Cyberpanel,或是自己指定版本

預設Admin密碼為1234567 (d:預設、r:亂數、s:自己設定)

是否安裝PHP拓展:Y

同上,是否安裝PHP拓展:Y

是否安裝安全狗:Y

以上都設定完畢後,系統就會開始跑安裝

安裝完成後會有一些基本資訊,同時會詢問要不要重啟服務器
我這邊是先不重啟

這樣Cyberpanel就安裝完畢了
接下來是登入Cyberpanel後台
在沒有指定網址之前可以使用IP:8090 登入Cyberpanel後台
這邊的範例是於瀏覽器輸入IP:8090
之後就是剛剛admin的密碼,輸入後即可登入
沒變更的話是1234567,有變更的話就是看當時變更什麼密碼

登入成功後

DNS設定
接下來就要設定DNS了
把要用網域指定過來
我們的後台是IP:8090
所以A Record就是設到IP
要把後台變成 esheng.tw:8090

當網域IP轉移完成後
原本Cyberpanel的後台是 IP:8090
這時候可以指定網域當後台登入的連結
於後台 > SSL > Hostname SSL 發給esheng.tw
原則上後台登入應該要是esheng.tw:8090
但不知道esheng.tw怎麼網址轉不過來 所以就變成www.esheng.tw:8090了

設定Postfix 郵寄功能
來開始設定發送郵件Postfix
這次要使用mailgun來發送信件
先於mailgun後台設定網域,並根據他的需求設定DNS records


設定完成並驗證過後,回到Linode開啟SSH控制台
首先要在Ubuntu上安裝 mailutils package
只需要輸入以下指令即可
第一: sudo apt-get update -y
第二: sudo apt-get install -y mailutils
這樣就安裝完成了
後續步驟可以參考 線上教學
接下來,我們要編輯main.cf這個檔案
檔案所在路徑為 etc/postfix/main.cf
要確認有沒有這個檔案的話可以輸入cd /etc/postfix 進入postfix資料夾
並輸入ls 來確認裡面有什麼檔案

要編輯這個檔案的指令為
vim main.cf
進入後,輸入o 就會出現—INSERT–
要注意有—INSET—才是代表可以編輯
方向鍵往下點到最下面
然後貼上以下代碼
relayhost = [smtp.mailgun.org]:2525
smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
完成後點擊ESC,這樣—INSERT—就會消失不見
之後輸入 :wq 就可以保存並離開該檔案
Ps.如果vim main.cf進入後 沒點擊o,就是單純瀏覽模式
要退出的話 輸入 :q 即可
w是寫入 q是退出編輯器

再來就是我們要提供帳號密碼給postfix
這樣postfix寄信時連線至Mailgun才能正確寄出信件
直接使用vim來建立這個檔案
先cd返回根目錄
然後輸入 vim /etc/postfix/sasl_passwd 就可以建立新的檔案了

之後點擊 i 進入編輯模式
一樣會看到下方有—INSERT—就是成功進入編輯
然後貼上
[smtp.mailgun.org]:2525 SMTP_LOGIN:SMTP_PASSWORD
「SMTP_LOGIN」請取代成您的「Default SMTP Login」帳號名稱
「SMTP_PASSWORD」請取代成您的「Default Password」
所以當時申請Mailgun的時候要記住好這些資訊
如果忘記帳號密碼的話
可以到Domain settings > SMTP credentials > SMTP credentials 去找到帳號
以及使用 Reset password 去重置密碼

當編輯好了以後,相同步驟
點即Esc讓—INSERT—消失
:wq 存檔離開
接著利用postmap將剛剛的sasl_passwd轉換成postfix看得懂的資料庫檔案
只要輸入指令即可
postmap /etc/postfix/sasl_passwd
然後就能確認看看是否有產生.db的檔案
可以用這個指令檢查 ls -l /etc/postfix/sasl_passwd.db
也可以cd /etc/postfix 進入postfix資料夾 再輸入ls 查看是否有該檔案

確認檔案出現之後
就可以把剛剛的密碼檔案刪除(sasl_passwd),以防被別人看到而盜用
刪除指令如下
rm /etc/postfix/sasl_passwd

設定檔更新後,通知postfix重新載入新的設定檔,需使用以下指令:
postfix reload
載入新的設定檔之後就能來測試寄信了
只要輸入以下指令就能測試
echo ‘Test passed.’ | mail -s Test-Email [email protected]
【[email protected]】要改成自己的郵箱才能收到信件!
成功收信

有收到郵件後,這樣就代表寄信功能正常了
之後也可以開啟wordpress網站來做一下測試
Mailgun main.cf 缺少參數
參考文章:undefined parameters in /etc/postfix/master.cf
在main.cf添加以下代碼
smtpd_restriction_classes = mua_sender_restrictions, mua_client_restrictions, mua_helo_restrictions
mua_client_restrictions = permit_sasl_authenticated, reject
mua_sender_restrictions = permit_sasl_authenticated, reject
mua_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_invalid_hostname, permit