码迷,mamicode.com
首页 > 编程语言 > 详细

【转载】python发送邮件实例

时间:2015-08-17 00:53:22      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

本文转自:http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343463.html

这几天要用python发送邮件,上网找到这篇文章感觉蛮全面的,故转载收藏之。

 

1. 文件形式的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.text import MIMEText 
from email.header import Header 

sender = *** 
receiver = *** 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

msg = MIMEText(你好,text,utf-8) #中文需参数‘utf-8’,单字节字符不需要 
msg[Subject] = Header(subject, utf-8) 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msg.as_string()) 
smtp.quit() 

 2. HTML形式的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.text import MIMEText 

sender = *** 
receiver = *** 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

msg = MIMEText(<html><h1>你好</h1></html>,html,utf-8) 

msg[Subject] = subject 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msg.as_string()) 
smtp.quit() 

3. 带图片的HTML邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.image import MIMEImage 

sender = *** 
receiver = *** 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

msgRoot = MIMEMultipart(related) 
msgRoot[Subject] = test message 

msgText = MIMEText(<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image1"><br>good!,html,utf-8) 
msgRoot.attach(msgText) 

fp = open(h:\\python\\1.jpg, rb) 
msgImage = MIMEImage(fp.read()) 
fp.close() 

msgImage.add_header(Content-ID, <image1>) 
msgRoot.attach(msgImage) 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msgRoot.as_string()) 
smtp.quit() 

4. 带附件的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.image import MIMEImage 

sender = *** 
receiver = *** 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

msgRoot = MIMEMultipart(related) 
msgRoot[Subject] = test message 

#构造附件 
att = MIMEText(open(h:\\python\\1.jpg, rb).read(), base64, utf-8) 
att["Content-Type"] = application/octet-stream 
att["Content-Disposition"] = attachment; filename="1.jpg" 
msgRoot.attach(att) 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msgRoot.as_string()) 
smtp.quit() 

 5. 群邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.text import MIMEText 

sender = *** 
receiver = [***,****,……] 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

msg = MIMEText(你好,text,utf-8) 

msg[Subject] = subject 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msg.as_string()) 
smtp.quit() 

6. 各种元素都包含的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.image import MIMEImage 

sender = *** 
receiver = *** 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

# Create message container - the correct MIME type is multipart/alternative. 
msg = MIMEMultipart(alternative) 
msg[Subject] = "Link" 

# Create the body of the message (a plain-text and an HTML version). 
text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org" 
html = """\ 
<html> 
<head></head> 
<body> 
<p>Hi!<br> 
How are you?<br> 
Here is the <a href="http://www.python.org">link</a> you wanted. 
</p> 
</body> 
</html> 
""" 

# Record the MIME types of both parts - text/plain and text/html. 
part1 = MIMEText(text, plain) 
part2 = MIMEText(html, html) 

# Attach parts into message container. 
# According to RFC 2046, the last part of a multipart message, in this case 
# the HTML message, is best and preferred. 
msg.attach(part1) 
msg.attach(part2) 
#构造附件 
att = MIMEText(open(h:\\python\\1.jpg, rb).read(), base64, utf-8) 
att["Content-Type"] = application/octet-stream 
att["Content-Disposition"] = attachment; filename="1.jpg" 
msg.attach(att) 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msg.as_string()) 
smtp.quit() 

7. 基于SSL的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from email.mime.text import MIMEText 
from email.header import Header 
sender = *** 
receiver = *** 
subject = python email test 
smtpserver = smtp.163.com 
username = *** 
password = *** 

msg = MIMEText(你好,text,utf-8)#中文需参数‘utf-8’,单字节字符不需要 
msg[Subject] = Header(subject, utf-8) 

smtp = smtplib.SMTP() 
smtp.connect(smtp.163.com) 
smtp.ehlo() 
smtp.starttls() 
smtp.ehlo() 
smtp.set_debuglevel(1) 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msg.as_string()) 
smtp.quit() 

 

【转载】python发送邮件实例

标签:

原文地址:http://www.cnblogs.com/simplestupid/p/4735337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!