Python通过yagmail和smtplib模块发送简单邮件

  SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。

  smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等,可能会出现554的错误,可以百度解决.

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 邮箱服务器,我使用的是163邮箱
smtpserver = 'smtp.163.com'
user = 'UserName@163.com'
# 授权码不是密码
password = '********'
# 收件人
receiver = 'SendName@126.com'
# 邮件主题
subject = 'python test'
# 编写Html类型的邮件内容
msg = MIMEText("<html><h1>你好!</h1></html>", 'html', 'utf8')
msg['Subject'] = Header(subject, 'utf8')

# 连接发送 smtp = smtplib.SMTP() smtp.connect(smtpserver) smtp.login(user, password) smtp.sendmail(user, receiver, msg.as_string()) smtp.quit()

  下面用yagmail发送:

 

import yagmail

# 连接邮箱服务器
yag = yagmail.SMTP(user='UserName@163.com', password='********', host='smtp.163.com')
# 注意: password是邮箱授权码
#   qq邮箱授权码获取方式: 
#     【qq邮箱——设置——账户——POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务——IMAP/SMTP服务——开启】
# 编辑邮箱内容,可写多段
content = ['python test']

yag.send('ReceiverName@163.com', '主题', content)

 

  

 

  

 

posted @ 2019-10-12 17:00  屁桃  阅读(566)  评论(0编辑  收藏  举报