欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 利用QQ发送邮件

程序员文章站 2024-03-18 15:03:10
...

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

1、点击邮箱左上角设置
python 利用QQ发送邮件
2、点击左上角的账户
python 利用QQ发送邮件
3、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务:
python 利用QQ发送邮件
4、点击开启POP3/SMTP服务:
python 利用QQ发送邮件
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 = 'aaa@qq.com'
    # 发信方:邮箱授权码
    authorization_code = 'XXX'

    # 设置收信方邮箱
    receiver_qq = 'aaa@qq.com'

    # 设置发信服务器
    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发送邮件

相关标签: python 自动化