一、文件形式的邮件
复制代码 代码如下:
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形式的邮件
复制代码 代码如下:
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 <a href="http://www.python.org">link</a> 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()
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8