欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python利用smtplib实现QQ邮箱发送邮件

程序员文章站 2022-04-25 18:17:39
python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 下面是一个利用smtplib,实现qq邮箱发送邮件的例子。 首先必须...

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

下面是一个利用smtplib,实现qq邮箱发送邮件的例子。

首先必须要打开qq邮箱的smtp服务,在qq邮箱个人主页的  设置-账户 中开启。如图:

python利用smtplib实现QQ邮箱发送邮件

成功开启后点击生成授权码 ,得到的密码为smtp发送邮件时的登录密码。

一个发送邮件的简单实例:

from smtplib import smtp_ssl
from email.mime.text import mimetext
from email.header import header
 
email_from = "123456@qq.com" #改为自己的发送邮箱
email_to = "654321@qq.com" #接收邮箱
hostname = "smtp.qq.com" #不变,qq邮箱的smtp服务器地址
login = "123456@qq.com" #发送邮箱的用户名
password = "xddflpwqesfkbidf" #发送邮箱的密码,即开启smtp服务得到的授权码。注:不是qq密码。
subject = "python+smtp" #邮件主题
text = "send email" #邮件正文内容
 
smtp = smtp_ssl(hostname)#smtp_ssl默认使用465端口
smtp.login(login, password)
 
msg = mimetext(text, "plain", "utf-8")
msg["subject"] = header(subject, "utf-8")
msg["from"] = email_from
msg["to"] = email_to
 
smtp.sendmail(email_from, email_to, msg.as_string())
smtp.quit()

脚本执行结果:

python利用smtplib实现QQ邮箱发送邮件

ps:如果遇到smtp_ssl语句报错(unicodedecodeerror:'utf-8' codec can't decode),可能是因为计算机名中含有中文导致的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。