我想在postfix中创建退回邮件,该邮件将显示我的过滤器脚本中的错误信息。我发现如果我从脚本中返回错误代码,例如1,我将看到所有数据打印到标准输出,但我也会看到有关脚本文件的信息。例如:
This is the mail system at host mail.somesys.pl.
I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can delete your own text from the attached returned message.
The mail system
<user01@mail.somesys.pl>: Command died with status 1:
"/opt/SmtpReceiver/SmtpReceiverHandler.py". Command output: NO FILES OR BAD
CREDENTIALS
我想只有这样的东西:
...
The mail system
NO FILES OR BAD CREDENTIALS
我的postfix master.cf config:
smtp inet n - n - - smtpd
-o content_filter=myhook:dummy
...
myhook unix - n n - - pipe
flags=F user=user01 argv=/opt/SmtpReceiver/SmtpReceiverHandler.py ${sender} ${size} ${recipient}
和python脚本:
if __name__=='__main__':
try:
app = SmtpReceiverHandler();
app.run();
except Exception, e:
print e;
sys.exit(1);
答案 0 :(得分:1)
您可以在bouce_template_file
main.cf
#/etc/postfix/main.cf
bounce_template_file = /etc/postfix/bounce.cf
#/etc/postfix/bounce.cf
failure_template = <<EOF
Charset: us-ascii
From: MAILER-DAEMON (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
Postmaster-Subject: Postmaster Copy: Undelivered Mail
The mail system
EOF
参考:Postfix docs