【Python】邮件发送-初识yagmail库
import yagmail import traceback from logzero import logger def send_mail(receiver=None, carbon_copy=None, subject=None, content=None, attachments_report_name=None): """ 发送邮箱模块 :param receiver: 收件人 :param carbon_copy: 抄送人 :param subject:标题 :param content:正文 :param attachments_report_name:附件 """ try: # 连接邮箱服务器 # 注意:若使用QQ邮箱,则password为授权码而非邮箱密码;使用其它邮箱则为邮箱密码 # encoding设置为GBK,否则中文附件名会乱码 yag = yagmail.SMTP(user="*****@qq.com", password="********", host="smtp.qq.com", encoding='GBK') # 收件人、抄送人、标题、正文、附件(若多个收件人或多个抄送人或多个附件,则可使用列表) yag.send(to=receiver, cc=carbon_copy, subject=subject, contents=content, attachments=attachments) # 可简写:yag.send("****@163.com", "****@163.com", subject, contents, report) logger.info(f"测试报告邮件发送成功!【邮件标题:{subject}】【邮件附件:{attachments}】【收件人:{receiver}】【抄送人:{carbon_copy}】") except: logger.error(f"测试报告邮件发送失败!【邮件标题:{subject}】【邮件附件:{attachments}】【收件人:{receiver}】【抄送人:{carbon_copy}】") logger.error(traceback.format_exc()) # 打印异常 if __name__ == "__main__": # 测试 发送成功 # send_mail("*****@qq.com", "*****@qq.com", "邮件_标题", "邮件_正文", "demo_test.txt") # 测试 发送失败 send_mail("*****@qq.com", "*****@qq.com", "邮件_标题", "邮件_正文", "")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix