酷!學園

技術討論區 => Linux 討論版 => 主題作者是: akuan 於 2003-06-25 08:53

主題: 請教關於 procmail 的問題
作者: akuan2003-06-25 08:53
我在 procmailrc.d 中加入

:0c
* ^To: test
! backup

目的在備份所有test帳號的信件到backup這個帳號
目前已經能正確執行!但有一個奇怪的現象,
每1封給test的信件,都會轉寄11封給backup!
內容基本上是一樣的,不過信件大小有差異,會差1~10K。
請問這該如何解決呢?謝謝!
主題: 請教關於 procmail 的問題
作者: abelyang2003-06-25 12:58
引用
每1封給test的信件,都會轉寄11封給backup!

你把 同一封信第一封和最後一封的信 POST 上來,
讓大家來幫你判斷 ~~
我遇過像這種情形, 通常是 loop 造成的
主題: 請教關於 procmail 的問題
作者: akuan2003-06-25 14:17
剛剛我再測試一遍 又發現一個新情況
1. 直接用Outlook收信,會收到procmail轉寄的11封一模一樣的信(大小有差)。
2. 若改以IE用 openwebmail 2.10 讀取,則只有一封,但內容一樣不過大小是11封的總和。
3. 另外 root 帳號 會收到一封
寄件人 Mail Delivery Subsystem
主旨為 Returned mail: see transcript for details
內容為
The original message was received at Wed, 25 Jun 2003 14:02:26 +0800
from localhost.localdomain [127.0.0.1]

   ----- The following addresses had permanent fatal errors -----
<backup@abc.idv.tw>
    (reason: 554 5.4.6 Too many hops)

   ----- Transcript of session follows -----
554 5.4.6 Too many hops 26 (25 max): from <root@abc.idv.tw> via localhost.localdomain,
to <akuan@abc.idv.tw>
主題: 請教關於 procmail 的問題
作者: abelyang2003-06-25 14:34
引用
1. 直接用Outlook收信,會收到procmail轉寄的11封一模一樣的信(大小有差)。
2. 若改以IE用 openwebmail 2.10 讀取,則只有一封,但內容一樣不過大小是11封的總和。
3. 另外 root 帳號 會收到一封


我猜是 Loop ,因為你的 procmail 的條件不夠嚴謹所致
TEST 轉到 backup, 結果就一直轉一直轉,
直到 max hop 值到了為止

檢験方法:
看 mail daemon 是不是很多 process ....
看每一封信的表頭, 第一封如何 ? 第二封多了什麼....第十封

根據表頭的不同處去處理
想不出來 ....那就把
! backup 改成 pipe (|) 的方式處理
提示你一種方法, 用
| sendmail ......
並在判斷處多加一個條件

我想你自己多試試才可以學得好哦 !! 加油
主題: Re: 請教關於 procmail 的問題
作者: Bolunamiwa2003-06-26 08:12
引述: "akuan"
我在 procmailrc.d 中加入

:0c
* ^To: test
! backup

目的在備份所有test帳號的信件到backup這個帳號
目前已經能正確執行!但有一個奇怪的現象,
每1封給test的信件,都會轉寄11封給backup!
內容基本上是一樣的,不過信件大小有差異,會差1~10K。
請問這該如何解決呢?謝謝!


使用.forward 備份不是比較快
主題: 請教關於 procmail 的問題
作者: akuan2003-06-26 09:03
謝謝大家的回覆喔!
主題: 請教關於 procmail 的問題
作者: astaka2003-08-06 18:26
找到有人和我遇到同樣的問題,,了..請問你是怎麼解決的呢?
還有abelyang大大,把! 拿掉換成pipe(|),可以秀個小範例嗎?比如要forward給A.
主題: 請教關於 procmail 的問題
作者: abelyang2003-08-06 18:32
:0 Hc
* ^From: .*@(localhost\.localdomain|pcserver).*
* !^X-LOOP: 1
| (formail -I "X-LOOP: 1" -I "Bcc: abel" | $SENDMAIL -oi -t $TO)


X-LOOP  設了表示巳經經過 procmail 處理了
這是我的寄出備份範例 ~~
當然我有改 sendmail.cf 讓 outgoing mail 都從 procmail 後才出去 ~~
在 procmail 處理時給他加了副件密本 (Bcc) 的 header,再給 sendmial 出去

因為精華區巳有一篇這類文章~~我就不獻醜了
http://phorum.study-area.org/viewtopic.php?t=17149
主題: 請教關於 procmail 的問題
作者: astaka2003-08-06 19:17
引述: "abelyang"
:0 Hc
* ^From: .*@(localhost\.localdomain|pcserver).*
* !^X-LOOP: 1
| (formail -I "X-LOOP: 1" -I "Bcc: abel" | $SENDMAIL -oi -t $TO)

 :( 抱歉,小弟實在不才.有了範例還試不成功(玩linux不到一個月,公司又急著要用... :cry:  :cry:  :cry: ),,,..,,

我要把 aaa.com.tw 寄來的信都自動轉一封給老闆,而我參照! 做法就會產生和前位同志一樣的問題,要改大大的方法,可是我是進來的信要轉寄,大大的是出去的信要備份,所以我想依樣畫..改成如下...
* ^From: .*@aaa.com.tw
* !^X-LOOP: 1
| (formail -I "X-LOOP: 1" -I "Bcc: myboss" | $SENDMAIL -oi -t $TO)


 :roll:  ....結果寄到我老闆那裡去一封,而收信人卻收到二封...... :cry: ,感謝大大的好意,可以我真的是沒資質的感覺,那些語法我都看不懂也...-I 是代表什麼? 為何要" "包起來?$SENDMAIL , $TO又是什麼? -oi -t  ? .....真想去仆~~ :cry:
主題: 請教關於 procmail 的問題
作者: abelyang2003-08-06 22:33
如果您 outgoing mail 要轉寄給某人建議您換 postfix (好像拚錯了)
Always bcc 的功能自動幫您轉
可參考 http://linux.vbird.org/linux_server/
如果你一定要用 Sendmail. 那就參考精華區那一篇...
不建議您用我的方法
因為我的方法要動 sendmail.cf , 且對 formail / procmail 的運作
要了解.這對一般人來說可能較不容易理解
主題: 請教關於 procmail 的問題
作者: astaka2003-08-07 00:58
感謝學長~
我去查查postfix,但是公司目前同事都已經在用了,sendmail可以直接升到postfix嗎?還是完全二碼子的東西........因為我看我的webmin管理選項中.postfix server上面寫未安裝.. :( 如果裝了是整合在一起的還是sendmail就無作用而要用postfix,因為之前有改寫netman學長的一支script去判斷三日未取信就copy一份到老闆那裡去,是否也有影響了..
主題: 請教關於 procmail 的問題
作者: gljou2004-03-16 17:55
我覺得我比較笨
造著做也沒錯誤訊息還是沒辦法執行
完完全全沒動作
有可能是哪裡錯誤嗎

-------------
經過測試及看LOG檔發現
PROCMAIL不會對寄出的MAIL做檢查
sendmail.cf檔我有更改過
真糟糕,還是找不到問題點
主題: 請教關於 procmail 的問題
作者: gljou2004-03-19 14:48
我後來又測試
發現雖然PROCMAIL.LOG有對收到的信做轉寄的動作
但還是沒有收到信
在查了MAIL.log
我已經找到問題了
Mar 19 14:19:32 mail sendmail[25823]: i2JJJWaK025823: SYSERR(UID0): Who are you?: Permission denied
Mar 19 14:19:32 mail sendmail[25826]: i2JJJWcE025826: SYSERR(UID0): Who are you?: Permission denied
轉寄的信會被主機問你是誰.......
可不可以請教各為大大
這又是什麼問題阿