procmail的烦恼
我一直在试图解决这个数周...procmail的烦恼
我的目标是寻找我的收件箱以下信息:使用三个文件为我做这个
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:.*[email protected]
* ^Subject:.*hello
$HOME/Mail/Hello
应该发生的事情是,所有这三个文件一起工作,复制和移动包含hello模式的邮件。为了安全起见,它还会寻找某个人的地址。然后,当这些模式匹配时,它将坚持它发现并创建指定的路径;如果它不存在。
但它没有这样做。 当我完成在emacs中编辑这些文件后,vi,然后保存它,它会自动工作吗?还是我需要编译它?
如果我这样做,则.procmailrc文件可能需要(如果不是全部) '的Shell =/bin/sh的'
不,我没有尝试...
无,我欠发达的设计是处理传入的邮件..
我测试过了,通过发送电子邮件给我自己。
我想,是我的General.RC文件没有编码写入。因为在我给自己发送一封电子邮件之后,它应该复制并将其移动到指定的目录。
毫无疑问,我犯了这些错误,我编辑了所有这三个文件的时间。
没有显示在我的日志文件...
我固定的一切,我知道我的存在,在/ usr /斌/ procmail的,因为我用whereis看到它的路径。
但我的测试仍然失败。我不断发送自己的电子邮件和检查我的邮件文件夹,看看我的“你好”文件中的字节是否增加了。
我怎样才能让日志工作? 是general.rc错了吗?
Procmail处理邮件进来,而不是当它坐在你的邮箱。如果您想处理邮箱中已有的邮件,则必须通过procmail再次传递它,方法是将其“反弹”给自己,或者通过procmail将其传递。在命令行中的电子邮件客户端像狗,如果你想处理电子邮件,你已经拥有了你会做前者用“B”命令,后者通过键入|procmail
,你将需要:
- 退出任何邮件客户端
- 搬走你目前的收件箱(MV在/ var/spool/mail中/用户名/tmp/mail.username)
- FORMAIL +1 -ds procmail的< /tmp/mail.username
这将重新传送您已收到的邮件。这可能根本不是你想要的。 – tripleee 2011-09-09 07:48:10
-
您的〜.forward文件在usr之前缺少'/'。另外,你可以像这样保持简短;
“| **/** USR /斌/ procmail的”
- 把你的.procmailrc文件HOME目录
- 下设置您的MAILDIR后,只写 “你好” 作为general.rc邮箱名。也可以在配方开头使用“:0:”启用锁定,所有交付都必须锁定邮箱文件!
- 确保您在服务器上的/ usr/bin/procmail上安装了procmail。
- 确保您的MAILDIR中存在“Hello”文件。
- 检查日志文件
实际上`.forward`文件很好,除了`usr`之前缺少的斜线。这就是你应该如何为Sendmail编写`.forward`文件的原因。即使您的MTA不是Sendmail,也应该可以正常工作。 – tripleee 2011-09-09 07:49:39
我觉得你的任何其他调试之前,首要关注的是验证的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
。
在'〜/ .forward`中,在`usr/bin/procmail`:`/ usr ...`的开头添加一个`/`。 – 2015-05-04 06:34:04