好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

举例详解Python中smtplib模块处理电子邮件的使用

在基于互联网的应用中,程序经常需要自动地发送电子邮件。如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册;当用户忘记登陆密码的时候,通过邮件来取回密码。smtplib模块是python中smtp(简单邮件传输协议)的客户端实现。我们可以使用smtplib模块,轻松的发送电子邮件。下面的例子用了不到十行代码来发送电子邮件:

#coding=gbk 
 
import smtplib 
 
smtp = smtplib.SMTP() 
smtp.connect("smtp.yeah.net", "25") 
smtp.login('用户名', '密码') 
smtp.sendmail('from@yeah.net', 'to@21cn.com', 'From: from@yeah.net/r/nTo: to@21cn.com/r/nSubject: this is a email from python demo/r/n/r/nJust for test~_~') 
smtp.quit() 
import smtplib, base64, time 
userName = base64.encodestring('from').strip() 
password = base64.encodestring('password').strip() 
smtp = smtplib.SMTP() 
smtp.connect("smtp.yeah.net:25") 
print smtp.docmd('helo', 'from') 
print smtp.docmd('auth login') 
print smtp.docmd(userName) 
print smtp.docmd(password) 
print smtp.docmd('mail from:', '<from@yeah.net>') 
print smtp.docmd('rcpt to:', '<from@yeah.net>') 
#data 指令表示邮件内容 
print smtp.docmd('data') 
print smtp.docmd(
'''''from: from@yeah.net 
to: from@yeah.net 
subject: subject 
email body 
. 
'''
) 
smtp.quit() 
'''''From: from@yeah.net 
To: to@21cn.com 
Subject: test 
 
just for test''' 
#coding=gbk 
import smtplib, mimetypes 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart 
from email.mime.image import MIMEImage 
 
msg = MIMEMultipart() 
msg['From'] = "from@yeah.net" 
msg['To'] = 'to@21cn.com' 
msg['Subject'] = 'email for tesing' 
 
#添加邮件内容 
txt = MIMEText("这是邮件内容~~") 
msg.attach(txt) 
 
#添加二进制附件 
fileName = r'e:/PyQt4.rar' 
ctype, encoding = mimetypes.guess_type(fileName) 
if ctype is None or encoding is not None: 
 ctype = 'application/octet-stream' 
maintype, subtype = ctype.split('/', 1) 
att1 = MIMEImage((lambda f: (f.read(), f.close()))(open(fileName, 'rb'))[0], _subtype = subtype) 
att1.add_header('Content-Disposition', 'attachment', filename = fileName) 
msg.attach(att1) 
 
#发送邮件 
smtp = smtplib.SMTP() 
smtp.connect('smtp.yeah.net:25') 
smtp.login('from', '密码') 
smtp.sendmail('from@yeah.net', 'to@21cn.com', msg.as_string()) 
smtp.quit() 
print '邮件发送成功' 

更多举例详解Python中smtplib模块处理电子邮件的使用 相关文章请关注PHP中文网!

查看更多关于举例详解Python中smtplib模块处理电子邮件的使用的详细内容...

  阅读:39次