Python好用、好玩的库真的超多,今天正好看了smtplib的邮件库,废话不多说,翠花,上酸菜。
前言:先要自行百度一下,邮箱授权码的开启步骤,使用第三方服务登录时候需要使用邮箱授权码。
# -*- coding: utf-8 -*-
# 发邮件
import smtplib
from email.mime.text import MIMEText # 文本
from email.header import Header
mail_host = 'smtp.163.com' # 指定SMTP服务器
mail_user = 'zhanglu_1024@126.com' # 发件人
mail_pass = 'FPGDC' # 授权码 并非密码,具体授权码开启方式百度,非常简单
sender = 'zhanglu_1024@126.com'
receivers = ['zhanglu_1024@163.com']
message = MIMEText('Python test_send_mail', 'plain', 'utf-8') # 参数分别为文本,格式,编码
message['From'] = sender
message['To'] = receivers[0]
subject = 'Python SMTP TEST'
message['Subject'] = Header(subject, 'utf-8')
try :
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print 'send success'
except smtplib.SMTPException :
print 'send error'
邮件截图如下:
太简单了,来个复杂点的:
import smtplib
from email.mime.text import MIMEText # 文本
from email.header import Header
from email.mime.image import MIMEImage # 图片
from email.mime.multipart import MIMEMultipart # 将多个对象集合起来
mail_host = 'smtp.163.com' # 指定SMTP服务器
mail_user = 'zhanglu_1024@126.com' # 发件人
mail_pass = 'KDFML' # 授权码
sender = mail_user
receivers = ['zhanglu_1024@126.com',]
mime = MIMEMultipart('related')
mime['From'] = sender
mime['To'] = receivers[0] # 也可以使用 ','.join(receivers) 显示问题
mime['Subject'] = Header('Python Test_Send_Mail', 'utf-8')
mime.attach(MIMEText('this is a test mail', 'plain', 'utf-8')) # 填充文本
# 填充图片
image_data = open('timo.jpg', 'rb')
mime.attach(MIMEImage(image_data.read()))
image_data.close()
# 添加链接
html_data = '''
<p>Python邮件链接测试</p>
<p><a href='https://blog.youkuaiyun.com/zhanglu_1024?spm=1001.2101.3001.5343'>点这里</a></p>
'''
mime.attach(MIMEText(html_data, 'html', 'utf-8'))
try :
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.set_debuglevel(1)
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, mime.as_string())
smtpObj.quit()
print 'send success'
except smtplib.SMTPException :
print 'send error'