如何使用Procmail向发件人和所有收件人发送自动回复?

时间:2009-08-25 19:46:52

标签: procmail

我想创建一个procmail配方或Perl或shell脚本,它会向原始发件人以及原始电子邮件中复制的任何人(To:或cc :)发送自动回复。

示例:

bob@example.com会向john@example.com和paul@example.com(在“收件人:”字段中)发送电子邮件。副本通过cc发送至rob@example.com和alice@example.com。

我希望脚本能够向原始发件人(bob@example.com)发送自动回复,并向其他人发送电子邮件副本(john @ example.com,paul @ example.com,rob @ example.com和alice@example.com)。

由于

2 个答案:

答案 0 :(得分:2)

您应该能够使用Perl 5的this procmail模块完成此操作。您也可以使用procmail配置文件来执行此操作。

以下是我们的procmail配置“通过”perl脚本发送电子邮件的示例。

:0fw
* < 500000
| /etc/smrsh/decode_subject.pl

我希望这有助于你开始。

答案 1 :(得分:2)

FROM=`formail -rtzxTo:`
CC=`formail -zxTo: -zxCc: | tr '\n' ,`

:0c
| ( echo To: "$FROM"; echo Cc: "$CC"; echo Subject: auto-reply; \
    echo; echo Please ignore. ) \
  | $SENDMAIL -oi -t

格式良好的自动回复应设置一些额外的标题等;但这应该足以让你开始。另请参阅http://porkmail.org/era/mail/autoresponder-faq.html

根据您tr的风格,您可能需要对换行符进行不同的编码;并非tr的所有实现都理解'\n'格式。如果无法使用此功能,请尝试使用'\012'或单引号中的文字换行符。