项目环境
语言:Python
编辑器:Pycharm
库:smtplib、email
使用python登录邮箱
python登录邮箱需要定义邮件的传输协议,一般的邮件传输协议是 SMTP,QQ 邮箱是 smtp.qq.com,端口默认为 25。用 login 方法登录邮箱,第一个参数是登录账号,第二个参数不是邮箱的登录密码,而是邮箱的授权码,在邮箱的设置中查看,以下是QQ 邮箱查看方法,其他邮箱查看方法类似。
QQ邮箱授权码查看、复制
登录成功后再用 sendmail 方法发送邮件,发送完后退出邮件。
源代码:`
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from email.header import Header
my_sender = '[email protected]' # 发件人邮箱账号
my_user = '[email protected]' # 收件人邮箱账号
def sendMail(mail_title, mail_content):
try:
'''发送邮件'''
msg = MIMEText(mail_content, "plain", 'utf-8') # 把发送文本用 MIMEText 方法处理成中文编码,发送邮件内容
msg["Subject"] = Header(mail_title, 'utf-8') # 发送邮件主题/标题
msg["From"] = formataddr(['xxx', my_sender]) # 邮件发送方
msg["To"] = formataddr(['xxx', my_user]) # 邮件接收方
s = smtplib.SMTP("smtp.qq.com", 25) # 邮箱的传输协议,端口默认25
s.login(my_sender, 'xxx授权码xxx') # 登录邮箱,这里的第二个参数为qq邮箱授权码,不要填你的登录密码
s.sendmail(my_sender, [my_user, ], msg.as_string()) # 发送方,接收方,发送消息
s.quit() # 退出邮箱
print("邮件发送成功!")
except Exception:
print("邮件发送失败~~")
if __name__ == '__main__':
mail_title = '来自Python的邮件'
mail_content = '我就是试试程序'
sendMail(mail_title, mail_content)
`