[英]Python filter for postfix
我正在尝试为postfix创建一个简单的Python过滤器,在某些消息的“Reply-to”标题中添加。
到目前为止我所做的是从stdin获取电子邮件,并将其解析为一个电子邮件对象,如下所示:
raw = sys.stdin.readlines()
msg = email.message_from_string(''.join(raw))
然后我玩了标题等。
msg.add_header('Reply-to', 'foo@bar.com')
现在想把它重新注入后缀。 阅读与postfix相关的过滤器自述文件 ,我应该使用'sendmail'命令将其传回去。 但是,我不确定如何将电子邮件对象传递给sendmail,例如使用subprocess的'call()'或者是否应该使用smtplib的'smtplib.SMTP()'?
什么是'正确'的方法?
谢谢
您应该能够使用这两种方法,但smtplib.SMTP()更灵活,使错误处理更容易。
如果您需要一个示例,请查看我的python过滤器框架 : https : //github.com/gryphius/fuglu/blob/master/fuglu/src/fuglu/connectors/smtpconnector.py#L67
re_inject方法就是这样(FUSMTPClient是smtplib.SMTP的子类),所以基本上归结为:
client = smtplib.SMTP('127.0.0.1',<yourportnumber for the receiving postfix instance>)
client.sendmail(<envelope from>, <envelope to>, <yourmessageobject>.as_string())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.