您的位置:首页 > 编程语言 > Python开发

Python练习之-----使用第三方 SMTP 服务发送(QQ)

2018-02-02 11:25 483 查看
这里使用了 QQ 邮箱(你也可以使用 163,Gmail等)的 SMTP 服务,需要做以下配置:

1、登录QQ邮箱,点击设置—账户—POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

2、QQ 邮箱通过生成授权码来设置密码,如下



QQ 邮箱 SMTP 服务器地址:smtp.qq.com,ssl 端口:465

根据实际的QQ邮箱和接收邮箱修改,就能直接使用。代码如下:

#/usr/bin/python3
#-*- coding:UTF-8 -*-

# 导入所需要的库
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

send_user = "xxxxxxxx@qq.com"       # 发件人的邮箱账号
send_pwd = "xxxxxxx"        # 发件人邮箱的密码
rec_user = "xxxxxxxx@qq.com"    #收件人邮箱

def mail():
ret = True
try:
# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
msg = MIMEText("这是测试邮箱发送内容!", "plain", "utf-8")
msg["From"] = formataddr(["FromSMTPQQ", send_user])  # 括号中对应发件人邮箱昵称、发件人邮箱账号
msg["To"] = formataddr(["RecSMTP"], rec_user)  # 括号中对应收件人邮箱昵称、收件人邮箱账号
msg["Subject"] = "这是邮件的主题"  # 邮件的主题或标题

server = smtplib.SMTP_SSL("SMTP.qq.com", 446)   # 括号中对应的是发件人邮箱中的SMTP服务器,端口
server.login(send_user, send_pwd)  # 括号中对应的是发件人邮箱账号和密码
server.sendmail(send_user, [rec_user, msg.as_string()]) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
server.quit()  # 关闭连接
except Exception:
ret = False
return ret

ret = mail()
if ret:
print("邮件发送成功!")
else:
print("邮件发送失败!")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: