一、文件形式的邮件
复制代码 代码如下:#!/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()
二、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\’,\’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()三、带图片的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 MIMEImagesender = \’***\’
receiver = \’***\’
subject = \’python email test\’
smtpserver = \’smtp.163.com\’
username = \’***\’
password = \’***\’msgRoot = MIMEMultipart(\’related\’)
msgRoot[\’Subject\’] = \’test message\’msgText = MIMEText(\'Some HTML text and an image.
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\’, \’\’)
msgRoot.attach(msgImage)smtp = smtplib.SMTP()
smtp.connect(\’smtp.163.com\’)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.quit()四、带附件的邮件
复制代码 代码如下:#!/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 MIMEImagesender = \’***\’
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()五、群邮件
复制代码 代码如下:#!/usr/bin/env python3
#coding: utf-8
import smtplib
from email.mime.text import MIMETextsender = \’***\’
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()六、各种元素都包含的邮件
复制代码 代码如下:#!/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 MIMEImagesender = \’***\’
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 = \”\”\”\\
Hi!How are you?
Here is the link you wanted.
\”\”\”
# 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()七、基于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()