大家好
之前在用sendmail當郵件主機時有設定aliases但是都不會有重複收信的問題
可是改用postfix後卻發生這樣的問題
找了一下有人說postfix跟sendmail收到信後的處理方式不一樣
那想請問一下有什麼方法可以解決這樣的問題,還是說只能改回用sendmail
範例如下
總共見了test01 - test15 共15個帳號
aliases設定如下
test01: test02, test03
test02: test03
test04: test05
test05: test03
test06: test02
test02: test03
test07: test08
test09: test05, test08, test03
test05: test03
test05: test03
test10: test05
test05: test03
然後寄件者test15
收件者有test01,test04,test05,test06,test07,test09,test10,test11,test12,test13,test14
這樣的話test03總共會收到六封信件,所以想請問一下有辦法讓test03也只收到一封信嗎?
是的....
這是因為兩者所設計的 Mail routing flow 不一樣所致.....
sendmail 事先把所有 alias 都展開完畢之後, 才開始送信;
postfix 則是邊送信邊展開, 所以速度才能比 sendmail 快很多;
但 postfix 就會遇到以上的問題, 而且無解....
目前唯一可能的解法, 是利用 local delivery 的 procmail 來攔阻重複郵件, 請試試看在 /etc/procmailrc 裡面, 加入下面這段試試看:
<pre class="c" name="code">:0 Wh: msgid.lock
| formail -D 8192 ~/.procmail/msgid.cache
這是假設這些重複的信, 都具有相同的 msgID, 然後利用 procmail 來過濾掉相同 ID 的信.
(但我沒試過, 不保證一定成功......)
我笑了................
謝謝您的回復
我測試過您說的procmailrc裡加入您說的設定
可是結果一樣
我也已經先改回snedmail謝謝您
aliases設定如下
test01: test02, test03
test02: test03
test04: test05
test05: test03
test06: test02
test02: test03
test07: test08
test09: test05, test08, test03
test05: test03
test05: test03
test10: test05
test05: test03
然後寄件者test15
收件者有test01,test04,test05,test06,test07,test09,test10,test11,test12,test13,test14
有看到 粗體字 的部份了嗎
所以 test03 會收到六封...........正常
想想 aliases 的規則下手比較快
或 帳號 的區分