顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (站長 那克斯)
標題 [CentOS] mail server postfix 設定
時間 2014年04月05日 Sat. PM 05:07:55


CentOS 的 mail server 預設已安裝 postfix

修改設定檔

$ sudo vim /etc/postfix/main.cf
# 設定 hostname
# 後面很多設定會用到 $myhostname 這個變數
myhostname = disp.cc

# 可以接收mail的hostname
# 預設是 localhost 只收本機寄的信
# 改成 all 才能接收別的信箱寄來的信
inet_interfaces = all

# 要符合mydestination的mail位址才會收下來,不然會再傳出去
mydestination = $myhostname, mail.$myhostname

# mynetworks_style 代表要幫哪種類型的server傳信
# 預設為subnet 代表相同子網域的server就幫忙傳 (會被當成垃圾信跳板!)
# 改成 host 代表只幫本機的使用者寄信
mynetworks_style = host

# mynetworks 指定哪個 IP 範圍的 server 才幫忙寄
# 可以不用設,如果設定的話 mynetworks_style 的設定就會無效
# mynetworks = 168.100.189.0/28, 127.0.0.0/8


重啟 postfix
(CentOS 6)$ sudo service postfix restart
(CentOS 7)$ sudo systemctl restart postfix

將 postfix 設為開機即執行
(CentOS 6)$ sudo chkconfig postfix on
(CentOS 7)$ sudo systemctl enable postfix


記得開啟防火牆的 port 25
iptables -A INPUT -p TCP -i eth0 --dport  25  -j ACCEPT   # SMTP



設定虛擬使用者

postfix 收到信後會判斷收信者是不是主機上存在的帳號
不是的話就把信退回去

如果我想讓 任意帳號.bbs@mail.disp.cc 的E-mail都會收下來
並存到 /var/spool/mail/virtual_user 檔

$ sudo vim /etc/postfix/main.cf
最後面加上
virtual_alias_maps = regexp:/etc/postfix/virtual

$ sudo vim /etc/postfix/virtual
最後面加上
disp.cc anything

/^(.+)\.bbs@.*/   virtual_user

執行 postmap 將 virtual 檔轉為 virtual.db 檔
$ sudo postmap /etc/postfix/virtual

$ sudo vim /etc/postfix/aliases
最後面加上
virtual_user:      /var/spool/mail/virtual_user

執行 postalias 將 aliases 檔轉為 aliases.db 檔
$ sudo postalias /etc/postfix/aliases

重啟 postfix


參考

[Postfix] 設定禁止接收的E-mail黑名單 - KnucklesNote板 - Disp BBS

[Postfix] 清除待寄郵件駐列 (mail queue) - KnucklesNote板 - Disp BBS


--
※ 作者: Knuckles 時間: 2014-04-05 17:07:55
※ 編輯: Knuckles 時間: 2017-02-25 00:23:26
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 528 
※ 文章分類: Linode CentOS 架站筆記
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇