python 利用QQ发送邮件
程序员文章站
2024-03-18 15:03:10
...
1、设置邮箱、拿取授权码:
1、点击邮箱左上角设置
2、点击左上角的账户
3、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务:
4、点击开启POP3/SMTP服务:
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、查看效果
下一篇: 五子棋AI算法简易实现(七)