1, 普通文本邮件
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import smtplib
- from email.mime.text import MIMEText
- mail_user="xxxx@126.com" #发送邮件的邮箱
- mail_pass="xxxxxxx" #密码, 口令
- mailto_list="xxxxx@qq.com" #接受邮件的邮箱
- mail_host="smtp.126.com" #设置服务器 例: smtp.126.com
- strstr='你好' #内容
- msg = MIMEText(strstr,'plain','utf-8') #邮件类型设置为 plain
- msg['Subject'] = "主题" #主题
- msg['From'] = mail_user
- msg['To'] = mailto_list
- # 邮件中文如果显示乱码, 可以加上下面两句
- msg["Accept-Language"]="zh-CN"
- msg["Accept-Charset"]="ISO-8859-1,utf-8"
- server = smtplib.SMTP()
- server.connect(mail_host) #连接 smtp 邮件服务器
- server.login(mail_user,mail_pass) #登录
- server.sendmail(mail_user, mailto_list, msg.as_string()) #发送
- server.close() #关闭
2,html 格式邮件
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import smtplib
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- mail_user="xxxxxxx@126.com" #发送邮件的邮箱
- mail_pass="xxxxxx" #口令
- mailto_list="xxxxxx@qq.com" #接收邮件的邮箱
- to_list=[mailto_list,]
- mail_host="smtp.126.com" #设置服务器
- msg = MIMEMultipart()
- msg['Subject'] = "主题" #主题
- msg['From'] = mail_user
- msg['To'] = mailto_list
- # 正文
- #<img src="cid:image1"> 为图片显示位置
- strstr="""
- <html>
- <head > 正文 </head>
- <body>
- <h1>Hello</h1>
- <h2 > 你们好 </h2>
- </body>
- </html>
- """htm=MIMEText(strstr,'html','utf-8') #邮件类型设置为 html
- msg.attach(htm)
- server = smtplib.SMTP()
- server.connect(mail_host) #连接 smtp 邮件服务器
- server.login(mail_user,mail_pass) #登录
- server.sendmail(mail_user, to_list, msg.as_string()) #发送
- server.close() #关闭
- 3, 带附件的邮件
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import smtplib
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- from email.mime.application import MIMEApplication
- mail_user="xxxx@126.com" #发送邮件的邮箱
- mail_pass="xxxxxxx" #口令
- mailto_list="xxxxx@qq.com" #接收邮件的邮箱
- to_list=[mailto_list,]
- mail_host="smtp.126.com" #设置服务器
- msg = MIMEMultipart()
- msg['Subject'] = "主题" #主题
- msg['From'] = mail_user
- msg['To'] = mailto_list
- # 文字部分
- strstr="Hello" #文字内容
- att = MIMEText(strstr,'plain','utf-8')
- msg.attach(att)
- # 附件
- att = MIMEApplication(open('E:\\111.txt','rb').read()) #你要发送的附件地址
- att.add_header('Content-Disposition', 'attachment', filename="222.txt") #filename 可随意取名
- msg.attach(att)
- server = smtplib.SMTP()
- server.connect(mail_host) #连接 smtp 邮件服务器
- server.login(mail_user,mail_pass) #登录
- server.sendmail(mail_user, to_list, msg.as_string()) #发送
- server.close() #关闭
- 4, 正文显示图片的邮件
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import smtplib
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- from email.mime.image import MIMEImage
- mail_user="xxxxx@126.com" #发送邮件的邮箱
- mail_pass="xxxxxx" #口令
- mailto_list="xxxxxx@qq.com" #接收邮件的邮箱
- to_list=[mailto_list,]
- mail_host="smtp.126.com" #设置服务器
- msg = MIMEMultipart()
- msg['Subject'] = "主题" #主题
- msg['From'] = mail_user
- msg['To'] = mailto_list
- # 正文
- #<img src="cid:image1"> 为图片显示位置
- strstr="""
- <html>
- <head > 正文图片 </head>
- <body>
- <p>Hello<br>
- 你们好 < br>
- <br><img src="cid:image1"></br>
- </p>
- </body>
- </html>
- """htm=MIMEText(strstr,'html','utf-8')
- msg.attach(htm)
- image = MIMEImage(open("F:\\111.jpg",'rb').read())
- image.add_header('Content-ID','<image1>')
- msg.attach(image)
- server = smtplib.SMTP()
- server.connect(mail_host)
- server.login(mail_user,mail_pass)
- server.sendmail(mail_user,mailto_list,msg.as_string())
- server.quit()
来源: http://www.bubuko.com/infodetail-2814435.html