繁体   English   中英

Procmail故障

[英]Procmail Troubles

我已经尝试解决这个问题好几个星期了...

我的目标是在收件箱中搜索以下消息:

Hello
Hi
Hey

我使用三个文件为我完成此操作。 第一个是$ HOME中的.forward文件

"|IFS=' '&&exec usr/bin/procmail||exit 75 #username"

这两个在我的〜/ .procmail目录中

.procmailrc

VERBOSE=off
MAILDIR=$HOME/Mail
PMDIR=$HOME/.procmail
DEFAULT=/var/spool/mail/username
LOGFILE=$PMDIR/log
INCLUDERC=$PMDIR/general.rc
#end of .procmailrc

最后是规则文件:general.rc

:0
* ^From:.*sumone@sumaddy.com
* ^Subject:.*hello
$HOME/Mail/Hello

应该发生的是,所有这三个文件一起工作以复制和移动主题中包含hello模式的邮件。 为了安全起见,它还会寻找某些人的地址。 然后,当这些模式匹配时,它将粘贴找到的内容并创建指定的路径; 如果尚不存在。

但是它没有这样做。 在emacs,vi,..中编辑完这些文件然后将其保存后,它将自动运行吗? 还是我需要编译?

如果这样做,.procmailrc可能需要(如果不是全部)“ Shell = / bin / sh”

不是我没有尝试...


不,我的开发欠佳设计是处理传入的邮件。

我已经通过向自己发送电子邮件进行了测试。

我的想法是,我的General.RC文件未编码写入。 因为,在我给自己发送电子邮件之后,它应该复制并移动到指定目录。


难怪我犯了那些错误,我编辑了这三个文件一千次。

我的日志文件中什么都没有显示...

我已经修复了所有其他问题,并且知道我的/ usr / bin / procmail存在,因为我使用whereis来查看其路径。

但是我的测试仍然失败。 我一直向自己发送电子邮件,并检查“邮件文件夹”,以查看“ Hello”文件中的字节是否增加。

我如何才能使用日志? general.rc错误吗?

Procmail会处理传入的邮件,而不是仅将其放在您的邮箱中时处理。 如果要处理邮箱中已存在的邮件,则必须再次将其通过procmail传递,方法是将其“反弹”给自己,或者通过procmail通过管道传递。 在像mutt这样的命令行电子邮件客户端中,您可以使用“ b”命令来完成前者,而通过输入|procmail后者。

如果您希望处理已有的电子邮件,则需要:

  1. 退出任何邮件客户端
  2. 移走当前的收件箱(mv / var / spool / mail / username /tmp/mail.username)
  3. formail +1 -ds procmail </tmp/mail.username
  1. 您的〜.forward文件在usr之前有一个丢失的'/'。 另外,您可以这样简短:

    “ | ** / ** usr / bin / procmail”

  2. 将您的.procmailrc放在HOME目录下
  3. 设置MAILDIR之后,在general.rc中仅将“ Hello”作为邮箱名称。 在配方的开头还要使用“:0:”来启用锁定,所有传递都必须锁定邮箱文件!
  4. 确保在服务器上的/ usr / bin / procmail中安装了procmail。
  5. 确保您的MAILDIR中存在“ Hello”文件。
  6. 检查日志文件

我认为在进行任何其他调试之前,您最关心的是验证传入邮件中是否正在运行procmail。

我的建议是使您的.procmailrc文件看起来像这样(别无其他)

VERBOSE=on
LOGFILE=/tmp/procmail.log

:0 fhbw
| sed "s/^Subject:/& --procmail working--/"

然后给自己发送一封电子邮件。

您应该在/tmp/procmail.log中获得一个日志文件,并且电子邮件应该到达您的邮箱,并且主题行修改为包括“ --procmail working--”。

如果这不起作用,则不会调用procmail,您应该编辑问题以显示.forward文件的当前内容。

如果可行,则问题出在您的.procmailrc或general.rc文件的内容上。 您应该编辑问题以显示这两个文件的当前内容。

如果您只想在磁盘上找到带有这些“主题”行之一的邮件,我建议在您的收件箱中使用fgrep

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM