POSTFIX - ptt/pttbbs GitHub Wiki

如何設定 Internet 寄信/站際信箱

1. 寄信至站外

  1. 找可以 relay 的 server, 或是申請 domain 並確認其有 MX record
  2. 安裝 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

2. 從站外收信

若為 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

3. 郵件尚未加密

雖然以上設定完成基本上就能寄信了,

但因傳輸信件過程未經加密連線 (SSL/TLS)

請有相關需求者, 自行找尋相關資料完成加密設定, 以確保信件傳輸之安全.

Reference

Thanks to:

⚠️ **GitHub.com Fallback** ⚠️