使用 fetchmail 獲取電子郵件時,Procmail 似乎沒有被執行
我有以下問題:我最近有一台新的工作 PC(Debian 測試,代號:stretch),必須重新安裝
fetchmail
才能procmail
閱讀我的電子郵件mutt
。現在,fetchmail
效果也很好mutt
,只有我的郵件的假離線郵箱似乎保持不變,即/var/mail/user
.在我的
.fetchmailrc
我定義了mda
應該執行的:
mda '/usr/bin/procmail -f %F -d %T';
我創建的
.procmailrc
看起來像這樣:# Please check if all the paths in PATH are reachable, remove the ones that # are not. SHELL=/bin/sh PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:. MAILDIR=$HOME/Mail # Youd better make sure it exists SPOOL=$HOME/Mail/mbox DEFAULT=$MAILDIR/mbox ORGMAIL=$MAILDIR/mbox LOGFILE=$MAILDIR/log LOCKFILE=$HOME/.lockmail VERBOSE= yes LOGABSTRACT= all
在我到處尋找之後,
rc
一次又一次地更改和檢查文件和郵件文件夾的權限,最後嘗試全部解除安裝並重新安裝它,沒有任何改變:/var/mail/user
即使我在其中插入一些遞送條件,郵件仍然被遞送到.procmailrc
. _最後我注意到沒有
/etc/procmailrc
文件(我認為它應該是),並且所有log
應該存在和要寫入的文件都不存在。
fetchmail
正在呼叫 procmail,因為$ fetchmail -vvv
帶有傳入電子郵件的 a 在其較長的輸出中具有以下字元串:fetchmail: about to deliver with: /usr/bin/procmail -f 'email@addres' -d 'user'
我的結論是它
procmail
無法正常工作或根本無法正常工作。電子郵件仍然會到達,但都在那個預設郵箱/文件夾中,並且在它們傳遞時我無法移動它們(當我在裡面時,mutt
我可以將它們保存到我擁有或可能定義的所有郵箱中)。如果有人可以幫助我解決這個問題,我將不勝感激!
親切的問候。
該
LOCKFILE
分配阻止 Procmail 做任何事情。檢查 Procmail 的標準錯誤輸出
procmail -m VERBOSE=yes .procmailrc </dev/null
應該很容易發現它一直在等待鎖,並最終放棄。通常,您也不需要
ORGMAIL
出於任何原因觸摸。Procmail 不需要
/etc/procmailrc
文件;如果確實存在,它將在 your 之前呼叫.procmailrc
,但在您的場景中它應該不是必需的或特別有用。通常,您
.procmailrc
應該存在於您的主目錄中,只有您自己具有讀取(並且,出於實際維護原因,寫入)訪問權限。根據fetchmail
執行方式procmail
,可能存在您的問題不清楚的情況 - 例如,如果fetchmail
既不是執行方式root
也不是您自己,它可能無權切換到您的 UID。對於故障排除,也許把你的常客
.procmailrc
移到一邊,嘗試一個非常簡單的通用的,它可能只是簡單地分配LOGFILE=/tmp/procmail-testing.log
和退出,每個人都有讀取權限。如果你能讓它工作,也許LOG=
whoami``你可以看到它執行的權限。