有一台設備置於 DMZ 網路區,需要發系統通知的信件,但只能透過 SMTP 方式寄信,而且只提供兩個收件地址。
目的:架設一台 postix SMTP server + mail forward,使得系統郵件通知的收件地址不受限制
更多說明:
NOTE:
qnap_alert@postfix.dmz 這是一個無效的郵件位址
qnap_alert 必須是 postfix 主機上作為轉信用的帳號
postfix.dmz 是發信的設備要能解析這名稱,對應到 postfix 主機的 IP 位址,通常可以設定在設備裡的 /etc/hosts
xxx.xxx.xxx.xxx postfix.dmz
- 假設收件者郵件位址可以接收 IP 內容,就不需要這個設定
- 如果這設備沒有 /etc/hosts 可用,或者這個檔案在某些情況下會被強制復原成未修改,可以使用外部的 DNS 來解析名稱
移除 sendmail 套件以及安裝 postfix
yum remove sendmail 或者 rpm -e sendmail sendmail-cf yum install postfix
編輯 /etc/postfix/main.cf
... inet_interfaces = all ... mydestination = $myhostname, localhost.$mydomain, localhost, postfix.dmz #加上 postfix.dmz ... mynetworks = 172.17.1.0/24 # DMZ 的網段 ... relayhost = [172.17.1.3] # Domino SMTP 主機 ...
新增一個轉信帳號
useradd qnap_alert su - qnap_alert vi .forward
#加上要轉信的郵件位址 user1@my.com,user2@my.com
chmod 0644 .forward
本機測試發信
mail -s "Test Mail" user1@my.com