POSTFIX - ptt/pttbbs GitHub Wiki
- 找可以 relay 的 server, 或是申請 domain 並確認其有 MX record
- 安裝
postfix
, 修改/etc/postfix/main.cf
:
myhostname = <你申請的domain>
確定有:
mydestination = $myhostname, ....
若相關單位沒有提供相關的 mail relay server 服務,請將 relay host 設定成自己的主機、區網中其他相關主機或是設定為空白: 像是
relayhost = 127.0.0.1
或
relayhost = 192.168.1.1
或
relayhost =
接著重開postfix:
-root- # service postfix restart
- 若主機架設在分享器下,請確認 port 25 有 forwarding
若為 Debian GNU/Linux , 請確認有安裝 postfix-pcre
套件, 並確認相關指令 (如: postmap
) 可被執行
以下是以 deer.twbbs.org 為例,請自己改成你的 hostname。
我們先在 main.cf 裡面新增兩項設定:
# virtual 的部分,我們用 pcre 來處理 :
virtual_maps = pcre:/etc/postfix/virtual
# transport 的部分,我們用 hash 來處理:
transport_maps = hash:/etc/postfix/transport
我們先新增 /etc/postfix/virtual: (請依自己的 domain name 來改變)
/^(.+)\.bbs@deer\.twbbs\.org(\.tw)?$/ $1@bbsmail.
然後再新增 /etc/postfix/transport:
bbsmail bbsmail:
新增完以後,跑下面的命令讓它產生相關的設定:
-root- # postmap hash:/etc/postfix/transport
然後我們要告訴 postfix,bbsmail 這個 mailer 到底是那隻程式負責。
修改 /etc/postfix/master.cf,加到最後面:
# 請注意,這是沒有換行的,請自行接上:(用 tab)
bbsmail unix - n n - - pipe flags=FR user=bbs argv=/home/bbs/bin/bbsmail $mailbox
設定改完以後,請輸入下列指令,讓 postfix 去重新讀入設定:
-root- # postfix reload
雖然以上設定完成基本上就能寄信了,
但因傳輸信件過程未經加密連線 (SSL/TLS)
請有相關需求者, 自行找尋相關資料完成加密設定, 以確保信件傳輸之安全.
Thanks to:
- bamchisu.bbs<at>ptt.cc
- MapleBBS Ver 3.10 postfix FAQ by Gea-Suan Lin <gslin<at>ccca.nctu.edu.tw>