python 利用QQ发送邮件

1、设置邮箱、拿取授权码:

1、点击邮箱左上角设置
python 利用QQ发送邮件_第1张图片
2、点击左上角的账户
在这里插入图片描述
3、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务:
python 利用QQ发送邮件_第2张图片
4、点击开启POP3/SMTP服务:
python 利用QQ发送邮件_第3张图片
5、根据提示,发送短信,然后获取到授权码,把授权码复制下来(发送邮件的时候需要使用)

6、代码参考:(这里发送的是文本邮件)
。。。我是设置了一个公用的,在其他位置进行引用的

import smtplib  # smtplib 用于邮件的发信动作
from email.mime.text import MIMEText
# email 用于构建邮件内容
from email.header import Header


def Mail_qq(mail_content):

    # 发信方:qq邮箱
    sender_qq = '[email protected]'
    # 发信方:邮箱授权码
    authorization_code = 'XXX'

    # 设置收信方邮箱
    receiver_qq = '[email protected]'

    # 设置发信服务器
    pop_smtp = 'smtp.qq.com'

    '''邮箱发送的内容:
            mail_content:参数为发送的正文内容,
            plain:参数为设置格式(plain 为纯文本),
            utf-8:参数为正文的编码'''
    open_values = MIMEText(mail_content, 'plain', 'utf-8')

    # 设置邮件中头部显示的内容
    open_values['From'] = Header(sender_qq)
    open_values['To'] = Header(receiver_qq)
    open_values['Subject'] = Header('自动化执行结果')

    # 开启发信的服务,传输方式为加密传输
    open_get = smtplib.SMTP_SSL(pop_smtp)
    open_get.connect(pop_smtp, 465)

    # 登录发信邮箱
    open_get.login(sender_qq, authorization_code)
    # 发送邮件
    open_get.sendmail(sender_qq, receiver_qq, open_values.as_string())
    # 关闭服务器
    open_get.quit()

7、引用位置

from encapsulation.sendmail import Mail_qq
import time
import hmac
import urllib
import hashlib
import base64
from urllib import parse


class now_dict(object):

    def dict_bm(self):

        b = open_bm_gl()
        b.open_end()
        self.bmtsy = "部门模块:\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s" % (b.gg, b.pp, b.aa, b.bb, b.cc, b.dd, b.ff, b.hh)
        self.bm_mail_content = "\n" + "总数量:" + str(b.cg_html_zxsl) + "\n" + "成功执行:" + str(b.cg_html_zxsl) + "\n" + "失败执行:" + str(b.sb_html_zxsl)

if __name__ == "__main__":
    z = now_dict()
	#  执行部门管理模块
    z.dict_bm()
    #  发送到钉钉群
    z.tsy(mk_mc=z.bmtsy)
    #  发送的邮件信息
    Mail_qq(mail_content=z.bmtsy + z.bm_mail_content)

8、查看效果

python 利用QQ发送邮件_第4张图片

你可能感兴趣的:(python,自动化)