在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)