将原始电子邮件消息发送到python脚本

在exim4中,我使用下面的pipe道将消息发送到python脚本,处理它,并将其上传到django:

send_to_django_mailbox: driver = pipe command = /usr/local/bin/python /etc/exim4/conf.d/transport/send_mail.py $message_body $message_headers_raw return_path_add delivery_date_add 

而不是传递$message_body$message_headers_raw我想传递非常原始的消息,没有任何替代。 我怎样才能做到这一点? 我找不到一个variablesmessage_raw或类似的。

Exim可以将消息传递给另一个进程,并且可以通过/dev/stdin文件访问该进程消息。 例如,从shell我们可以像这样逐行读取消息:

 #!/bin/sh while read line do echo (( $line )) done < /dev/stdin ##### 

好吧,愚蠢的我,我应该更仔细地阅读文档:

简单的消息通过stdin发送到脚本,我不必通过命令行parameter passing它。

在Python中它会是这样的

 import sys for line in sys.stdin: the_file.write(line)