学习进步 2016-12-22
python 发送邮件实例
文件形式的邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimetext import MIMEText from emailheader import Header sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtpcom' username = '***' password = '***' msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8',单字节字符不需要 msg['Subject'] = Header(subject, 'utf-8') smtp = smtplibSMTP() smtpconnect('smtpcom') smtplogin(username, password) smtpsendmail(sender, receiver, msgas_string()) smtpquit()
HTML形式的邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimetext import MIMEText sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtpcom' username = '***' password = '***' msg = MIMEText('<html><h1>你好</h1></html>','html','utf-8') msg['Subject'] = subject smtp = smtplibSMTP() smtpconnect('smtpcom') smtplogin(username, password) smtpsendmail(sender, receiver, msgas_string()) smtpquit()
带图片的HTML邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimemultipart import MIMEMultipart from emailmimetext import MIMEText from emailmimeimage import MIMEImage sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtpcom' 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') msgRootattach(msgText) fp = open('h:\\python\\jpg', 'rb') msgImage = MIMEImage(fpread()) fpclose() msgImageadd_header('Content-ID', '<image1>') msgRootattach(msgImage) smtp = smtplibSMTP() smtpconnect('smtpcom') smtplogin(username, password) smtpsendmail(sender, receiver, msgRootas_string()) smtpquit()
带附件的邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimemultipart import MIMEMultipart from emailmimetext import MIMEText from emailmimeimage import MIMEImage sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtpcom' username = '***' password = '***' msgRoot = MIMEMultipart('related') msgRoot['Subject'] = 'test message' #构造附件 att = MIMEText(open('h:\\python\\jpg', 'rb')read(), 'base64', 'utf-8') att["Content-Type"] = 'application/octet-stream' att["Content-Disposition"] = 'attachment; filename="jpg"' msgRootattach(att) smtp = smtplibSMTP() smtpconnect('smtpcom') smtplogin(username, password) smtpsendmail(sender, receiver, msgRootas_string()) smtpquit()
群邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimetext import MIMEText sender = '***' receiver = ['***','****',……] subject = 'python email test' smtpserver = 'smtpcom' username = '***' password = '***' msg = MIMEText('你好','text','utf-8') msg['Subject'] = subject smtp = smtplibSMTP() smtpconnect('smtpcom') smtplogin(username, password) smtpsendmail(sender, receiver, msgas_string()) smtpquit()
各种元素都包含的邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimemultipart import MIMEMultipart from emailmimetext import MIMEText from emailmimeimage import MIMEImage sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtpcom' 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://wwwpythonorg" html = """\ <html> <head></head> <body> <p>Hi!<br> How are you?<br> Here is the <a href="http://wwwpythonorg">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 msgattach(part1) msgattach(part2) #构造附件 att = MIMEText(open('h:\\python\\jpg', 'rb')read(), 'base64', 'utf-8') att["Content-Type"] = 'application/octet-stream' att["Content-Disposition"] = 'attachment; filename="jpg"' msgattach(att) smtp = smtplibSMTP() smtpconnect('smtpcom') smtplogin(username, password) smtpsendmail(sender, receiver, msgas_string()) smtpquit()
基于SSL的邮件
#!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmimetext import MIMEText from emailheader import Header sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtpcom' username = '***' password = '***' msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8',单字节字符不需要 msg['Subject'] = Header(subject, 'utf-8') smtp = smtplibSMTP() smtpconnect('smtpcom') smtpehlo() smtpstarttls() smtpehlo() smtpset_debuglevel(1) smtplogin(username, password) smtpsendmail(sender, receiver, msgas_string()) smtpquit()