Python使用stmplib和MIMEText用QQ邮箱发邮件

相关邮件传输协议:

SMTP协议(Simple Mail Transfer Protocol,简单邮件传输协议)
  是事实上的在Internet传输email的标准,它定义了邮件客户端软件和 SMTP 邮件服务器之间,以及两台 SMTP 邮件服务器之间的通信规则。

MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)
  是目前互联网电子邮件普通遵循的技术规则。

POP3协议(Post Office Protocol,邮局协议)
  它定义了邮件客户端软件和 POP3 邮件服务器的通信规则

IMAP协议(Internet Message Access Protocol,Internet消息访问协议)
  它是对 POP3 协议的一 种扩展,也是定义了邮件客户端软件和 IMAP 邮件服务器的通信规则

在QQ邮箱中开启SMTP服务:

在用stmplib发邮件之前需要先到QQ邮箱开启SMTP服务
    设置–>账户–>开启前两个SMTP服务
在这里插入图片描述
开启服务需要短信验证,然后会给你一段授权码,记得保存下来
忘了也不要紧,花1毛钱发个短信再生成一段新的授权码就行
然后就可以在python中用smtplib发邮件了

用smtplib发邮件代码样例

def send_mail(subject, context, to_list):
    """
    发送邮件
    接收参数:
    subject 邮件主题
    context 邮件内容
    to_list 接收者邮件列表,每个邮件地址用","分隔
    """
    if not subject or not context or not to_list:
        return '邮件发送失败,邮件主题、内容与收件人邮件都是必填项'

    # 初始始化邮件相关参数
    email = MIMEText(context, 'html', 'utf-8')
    email['Subject'] = subject
    email['From'] = user
    email['To'] = to_list

    # QQ邮箱改为ssl方式发送了
    # s = smtplib.SMTP(smtp)
    s = smtplib.SMTP_SSL(smtp)  # smtp = 'smtp.qq.com'
    try:
        s.login(user, passwd)  # user=‘发送者邮箱账号’ passwd=‘发送者邮箱授权码’
        s.sendmail(user, email_list, email.as_string())  # 发送邮箱账号,接受邮箱账号,邮件内容
        s.close()
        return 'send_mail successfully'
    except Exception as e:
        s.close()
        stacktrace = format_exc()
        return '邮件发送失败,出现异常:' + str(e.args) + stacktrace + '\n'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值