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的专栏

相关内容

    暂无相关文章

评论关闭