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

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

原文 http://blog.csdn.net/suifenglie/article/details/79237003

2018-02-03 02:00:35阅读(452)

这里使用了 QQ 邮箱(你也可以使用 163,Gmail等)的 SMTP 服务,需要做以下配置:
1、登录QQ邮箱,点击设置—账户—POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
2、QQ 邮箱通过生成授权码来设置密码,如下
<a href=Python练习之-----使用第三方 SMTP 服务发送(QQ)" src="http://img.blog.csdn.net/20180202104540114?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VpZmVuZ2xpZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title="">
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("邮件发送失败!")

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹