Python网络编程测试-Email初探
传统Email包含两个不同部分 Header & Body。Header部分包含控制数据,Body当然就只包含信件本身的信息了。一封邮件的开始部分总是Header , 之后部分为Body
不论是通过Python来解析邮件或者寄发邮件,对Header的了解是必不可少的,下面就简单介绍下:
From Header:向用户表明邮件的发件人
Reply-To Header:设置一个可以回复的地址
Subject Header:用于显示邮箱摘要
Date Header:用于记录时间
Message-ID Header:可以帮助某些程序实现线索
MIME Header:选择合适的语言,格式等
下面的code表明纂写一封邮件,并解析刚才所纂写的邮件:
[python]
#this is the test for email
import sys , traceback , email
from email.MIMEText import MIMEText
from email import Utils
def sendEmail():
try:
print('input the message what U want to say: ')
mess = sys.stdin.readline().rstrip()
msg = MIMEText(mess)
msg['To'] = '350126003@qq.com'
msg['From'] = '350126003@qq.com'
msg['Date'] = Utils.formatdate(localtime = 1)
msg['Message-ID'] = Utils.make_msgid()
print msg.as_string()
log = open('log' , 'w')
log.write(msg.as_string())
except:
traceback.print_exc()
sys.exit(1)
def recvEmail():
try:
msg = email.message_from_file('log')
print('headers from emails:')
for header , value in msg.items():
print header + ':' + value
if msg.is_multipart():
print('this program cannot handle this')
sys.exit(1)
print(msg.get_payload())
except:
traceback.print_exc()
sys.exit(1)
p.s.似乎从专题的开始,所测试的code都是非常简单的,可能对经常接触Python的同学来说没什么营养,但是对我这种新手来说,首先学会Python,通通了解一些,再完成一个功能复杂(相对于自己之前的code,和自身能力)应用,这种学习方式可能比较适合自己吧。总之一句话,循序渐进。
摘自 FishinLab的专栏
补充:Web开发 , Python ,