Python调用outlook发送邮件

#coding=UTF-8
from testCase.readConfig import ReadConfig
import os
import win32com.client as win32
import datetime
import pythoncom

pythoncom.CoInitialize()
#读取邮件主题
subject = ReadConfig().get_email('subject')
app = str(ReadConfig().get_email('app'))
addressee = ReadConfig().get_email('addressee')
cc = ReadConfig().get_email('cc')
main_path = os.path.join("D:/InterfaceTest/result/",'report.html')

class send_email():
    def outlook(self):
        #固定写法
        outlook = win32.Dispatch("%s.Application" % app)#
        #固定写法
        mail = outlook.CreateItem(0)   #0:olMainItem
        #收件人
        mail.To = addressee
        #抄送人
        mail.CC = cc
        #邮件主题
        mail.Subject = str(datetime.datetime.now())[0:19]+'%s' %subject
        content = """
        执行测试中完成......
        测试已完成......
        生成报告中......
        报告已生成......
        报告已邮件发送......
        """
        mail.Body = content
        mail.Attachments.Add("D:/InterfaceTest/result/report.html")
        mail.Send()

if __name__ == '__main__':
    send_email().outlook()
    print("send email ok!!!!!!")

准备工作:
1.在outlook邮箱上配置账户
2.写入下面的配置文件(为了方便自动化测试所以从配置文件中读取信息)
[EMAIL]
on_off = on
#主题
subject = 接口自动化测试报告
app = Outlook
#收件人
addressee = 2272202478@qq.com
#抄送人
cc = jiahongcheng001@outlook.com

收到测试邮件:
在这里插入图片描述

如果你想在Python中使用`python-outlook`或其他库(如`win32com.client`)通过Outlook发送一个`.7z`文件作为邮件附件,首先需要安装支持处理压缩文件的库,比如`pandas`或`py7zr`来读取和处理`.7z`文件。以下是大致步骤: 1. 安装必要的库: ```bash pip install pandas py7zr ``` 2. 使用`py7zr`解压并获取文件内容: ```python import py7zr with py7zr.SevenZipFile('path_to_your_7z_file.7z', mode='r') as zip_ref: files = zip_ref.namelist() # 选择你要打包的文件 file_to_send = zip_ref.read(files[0]) # 假设你想发送的第一个文件 ``` 3. 将文件内容转换为二进制数据(如字节串): ```python attachment_data = file_to_send ``` 4. 创建一个新的附件,并将其添加到邮件中: ```python from outlook_email_helper import create_attachment if isinstance(attachment_data, bytes): attachment = create_attachment("your_7z_file_name", attachment_data) else: raise ValueError("Unsupported data type for attachment") email_message = outlook.create_item(0) # 使用Outlook创建邮件 email_message.attachments.append(attachment) ``` 5. 设置邮件的基本信息(发件人、收件人、主题等): ```python email_message.to = 'recipient@example.com' email_message.cc = None # 如果有抄送,填写相应地址 email_message.subject = 'Subject of your email' email_message.body = 'This is the body of your email.' ``` 6. 发送邮件: ```python email_message.send() ``` 请注意,这个示例假设你已经有了一个名为`outlook_email_helper.py`的模块,其中包含`create_attachment`函数,用于创建Outlook附件。你需要根据实际的库和功能调整代码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值