我遇到了以下问题:我最近买了一台新的 PC(Debian 测试版,codenme: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
收到的电子邮件在其较长的输出中包含以下字符串:
fetchmail: about to deliver with: /usr/bin/procmail -f 'email@addres' -d 'user'
我的结论是,它procmail
无法正常工作或根本无法正常工作。电子邮件仍然会到达,但全部位于默认邮箱/文件夹中,我无法在它们被发送时移动它们(当我进入时,mutt
我可以将它们保存到我拥有或可能定义的所有邮箱中)。
如果有人能帮助我解决这个问题我将不胜感激!
亲切的问候。
答案1
该LOCKFILE
分配阻止 Procmail 执行任何操作。
检查 Procmail 在标准错误上的输出procmail -m VERBOSE=yes .procmailrc </dev/null
应该很容易发现它永远在等待锁,并最终放弃。
也可以看看http://www.iki.fi/era/procmail/mini-faq.html#locking和http://www.iki.fi/era/mail/procmail-debug.html
一般来说,您也不需要ORGMAIL
因任何原因去触摸。
Procmail 不需要/etc/procmailrc
文件;如果它存在,它将在您的之前被调用.procmailrc
,但它在您的场景中不是必要的或特别有用的。
通常情况下,您的.procmailrc
应该存在于您的主目录中,只有您自己才具有读取(并且,出于实际维护原因,还有写入)权限。根据 的fetchmail
运行方式procmail
,可能存在您的问题中无法明确说明的情况 — — 例如,如果fetchmail
既不是以 的身份运行,root
也不是以您自己身份运行,则可能无权切换到您的 UID。
为了进行故障排除,也许可以将常规方法移到.procmailrc
一边,然后尝试一个非常简单、通用的方法,也许只是分配LOGFILE=/tmp/procmail-testing.log
并退出,并为每个人提供读取权限。如果您可以让它工作,也许LOG=`whoami`
您可以看到它以什么权限运行。