我使用/etc/aliases
重定向收到的电子邮件
用户名"ooo"
到python脚本
(由SENDMAIL
处理)
ooo: "|/usr/bin/python /2/a.wsgi"
这就是a.wsgi
的样子。
import os
import sys
a = sys.stdin.read(1024)
f = open('/2/email.txt','w')
f.write(a)
我从我的雅虎电子邮件帐户发送了一封测试电子邮件给自己 但整个头衔和身体都缺失了。
故意我创建了一个由很多o组成的长标题 和一个由多个线组成的主体组成的主体 所以我可以看到它。
当我通过python查看截获的电子邮件时.. 这就是email.txt文件的样子。
[root@a 2]# cat email.txt
From a*****@ymail.com Thu Jul 25 09:41:49 2013
Received: from nm23-vm1.bullet.mail.bf1.yahoo.com (nm23-vm1.bullet.mail.bf1.yahoo.com [98.139.213.141])
by domain.tld (8.14.4/8.14.4) with ESMTP id r6P9fm88005190
for <ooo@*****.tld>; Thu, 25 Jul 2013 09:41:48 GMT
Received: from [98.139.215.142] by nm23.bullet.mail.bf1.yahoo.com with NNFMP; 25 Jul 2013 17:26:26 -0000
Received: from [98.139.212.228] by tm13.bullet.mail.bf1.yahoo.com with NNFMP; 25 Jul 2013 17:26:26 -0000
Received: from [127.0.0.1] by omp1037.mail.bf1.yahoo.com with NNFMP; 25 Jul 2013 17:26:26 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 45121.53358.bm@omp1037.mail.bf1.yahoo.com
Received: (qmail 29958 invoked by uid 60001); 25 Jul 2013 17:26:26 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ymail.com; s=s1024; t=1374773185; bh=Nc9zHE1K2q237s4A2qN53+4bWmq6BswfttyIcwmUsF8=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=tN89b5lX46otPfK9builCXVNLty3jVx[root@a 2]#
你可以看到主题是空的,身体也不可见。
否则我通过电子邮件发送自己
主题:oooooooooooooooooooooooooooooooooooooooooo
身体:也很多,但多行,所以很容易看到。
答案 0 :(得分:3)
a = sys.stdin.read(1024)
读取不超过1024个字节。这大约是您发布的email.txt的长度。这种差异可能是由于干预造成的。
因此,如果您想要整个消息,请使用
a = sys.stdin.read()