python3通过qq邮箱发送邮件

Posted xsan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3通过qq邮箱发送邮件相关的知识,希望对你有一定的参考价值。

python3通过qq邮箱发送邮件

0.了解qq邮箱的SMTP

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱POP3服务器(端口995)SMTP服务器(端口465或587)
qq.com pop.qq.com smtp.qq.com

SMTP服务器需要身份验证。

1.开启qq邮箱的smtp服务

如何打开POP3/SMTP/IMAP功能?

为了保障用户邮箱的安全,QQ邮箱设置了POP3/SMTP/IMAP的开关。系统缺省设置是“关闭”,在用户需要这些功能时请“开启”。 首先,登录邮箱,进入设置-帐户;

技术分享图片

然后,在“帐户”设置中,找到设置项,进行设置,如下:

技术分享图片

最后,保存设置,即打开了相应的服务。

2.代码

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender=[email protected]    # 发件人邮箱账号
my_pass = xxxxxxxxxxxx              # 发件人邮箱密码(当时申请smtp给的口令)
my_user=[email protected]      # 收件人邮箱账号,我这边发送给自己
def mail():
    ret=True
    try:
        msg=MIMEText(填写邮件内容,plain,utf-8)
        msg[From]=formataddr(["发件人昵称",my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg[To]=formataddr(["收件人昵称",my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg[Subject]="邮件主题-测试"                # 邮件的主题,也可以说是标题

        server=smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是465
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()# 关闭连接
    except Exception:# 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret

ret=mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")

 

注意:如果收件人地址错误,但代码还是会提示"邮件发送成功",如果是地址错误在qq邮箱中会收到"来自qq.com的退信"

 

摘自:http://www.jianshu.com/p/0f8c5e4e7054     如有冒犯,请联系本人[email protected],com

此篇仅供参考,不得用于商业用途。

以上是关于python3通过qq邮箱发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

Django 配置 qq 邮箱发送邮件

怎么制作HTML网页,并通过邮箱发送

Python 通过 SMTP 发送邮件

杂项之使用qq邮箱发送邮件

Python发送QQ邮件

python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件