【Python学习】之yagmail库实现发送邮件

 

上代码:

复制代码
import yagmail

sendmail = 'xxx@126.com'
sendpswd = 'xxx'
receivemail = 'xxx@qq.com'

# 连接邮箱服务器
yag = yagmail.SMTP(user=sendmail, password=sendpswd, host='smtp.126.com')
# ①普通邮件正文
contents = ['第一段', '自动化', '报告邮件']

# ②发送html邮件正文
# 读取邮件模板
file_object = open('mailcontent.html')
try:
    contentsbody = file_object.read()
finally:
    file_object.close()
contents = contentsbody

# 附件地址
fujian = ["/Users/zhan/zhan/Autotest/report/2018-09-11_09_52_24_report.html"]
# 发送邮件附件
yag.send(receivemail, '《自动化报告》', contents,fujian)
复制代码

参考:《利用yagmail实现邮件自动发送

 

老的发送邮箱写法:

复制代码
from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.header import Header
from email.mime.text import MIMEText


def getNewReport(report_url):
    '''
    获取最新生成的测试报告
    :param report_url:
    :return:
    '''
    lists = os.listdir(report_url)
    lists.sort(key= lambda fn: os.path.getmtime(report_url + fn))
    newReport = os.path.join(report_url,lists[-1])
    return newReport


def sendMail(newReport,report_name):
    '''
    ①普通发送邮件
    :param newReport:
    :param report_name:
    :return:
    '''
    sendMail = 'xxx@126.com'
    sendpswd = 'xxx'
    receiveMail = 'xxx@qq.com'


    # 创建邮件信息
    msg = MIMEMultipart()
    # 读取最新报告文件
    f = open(newReport,'rb').read()
    # 设置邮件主体
    mailBody =  MIMEText(f,'html','utf-8')
    # 邮件主体放入到消息中
    msg.attach(mailBody)
    # 邮件标题
    msg['Subject'] = Header("《自动化测试报告邮件》",'utf-8')
    msg['From'] = sendMail
    msg['To'] = receiveMail

    # 邮件附件
    att = MIMEApplication(f)
    att['Content-Type'] = 'application/octet-stream'
    att.add_header('Content-Disposition','attachment',filename=report_name)
    msg.attach(att)


    smtp = SMTP()
    # 连接邮箱
    smtp.connect('smtp.126.com')
    # 邮箱登录
    smtp.login(sendMail,sendpswd)
    # 发送邮件
    smtp.sendmail(sendMail,receiveMail,msg.as_string())
View Code
复制代码

 

posted @   Owen_ET  阅读(516)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 模様 (TV size ver.) Ivy to Fraudulent Game
  3. 3 河口恭吾
  4. 4 愛してる 高鈴
  5. 5 一生所爱 卢冠廷,莫文蔚
  6. 6 世间美好与你环环相扣 柏松
  7. 7 理想三旬 陈鸿宇
  8. 8 不浪漫罪名 王杰
  9. 9 樱花树下 张敬轩
  10. 10 因为你在 达闻西乐队,福禄寿FloruitShow
  11. 11 悬溺 葛东琪
理想三旬 - 陈鸿宇
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 唐映枫

作曲 : 陈鸿宇

编曲 : 陈鸿宇/马雨阳

混音:马雨阳

雨后有车驶来

驶过暮色苍白

旧铁皮往南开 恋人已不在

收听浓烟下的 诗歌电台

不动情的咳嗽 至少看起来

归途也还可爱

琴弦少了姿态

再不见那夜里 听歌的小孩

时光匆匆独白

将颠沛磨成卡带

已枯卷的情怀 踏碎成年代

就老去吧 孤独别醒来

就老去吧 孤独别醒来

你渴望的离开

你渴望的离开

只是无处停摆

就歌唱吧 眼睛眯起来

而热泪的崩坏

只是没抵达的存在

青春又醉倒在

青春又醉倒在

籍籍无名的怀

靠嬉笑来虚度 聚散得慷慨

辗转却去不到 对的站台

如果漂泊是成长 必经的路牌

你迷醒岁月中

那贫瘠的未来

像遗憾季节里 未结果的爱

弄脏了每一页诗

吻最疼痛的告白

而风声吹到这 已不需要释怀

就老去吧 孤独别醒来

你渴望的离开

你渴望的离开

只是无处停摆

就歌唱吧 眼睛眯起来

而热泪的崩坏

只是没抵达的存在

就甜蜜地忍耐

就甜蜜地忍耐

繁星润湿窗台

光影跳动着像在 困倦里说爱

再无谓的感慨

以为明白

梦倒塌的地方 今已爬满青苔

点击右上角即可分享
微信分享提示