python - 在 Microsoft Outlook COM 中使用 win32com 的相对路径

标签 python email outlook win32com

我创建了一个函数,用于在 Ppython 脚本中使用 win32com.client 发送输出的电子邮件。

app = win32com.client.Dispatch('Outlook.Application')
mail = app.CreateItem(0)
mail.Subject = 'Output file'
mail.Body = 'Output file'
mail.To = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5d3b32321d3f3c2f733e3230" rel="noreferrer noopener nofollow">[email protected]</a>'
attachment = 'E:\\python\\outputfile.xlsx'
mail.Attachments.Add(attachment)
mail.Send()

效果很好,但我有一个小问题。仅当我提供完整路径时它才能找到附件。例如,

attachment='outputfile.xlsx'

attachment="\\outputfile.xlsx"

导致错误

4096, 'Microsoft Outlook', 'File name or directory name is not valid.'

我想让代码可移植,以便它可以从自己的目录中找到该文件。

最佳答案

最简单的方法是导入操作系统并使用 os.path.abspath('outputfile.xlsx') .

关于python - 在 Microsoft Outlook COM 中使用 win32com 的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51094390/

相关文章:

python - 修改字典中的值

python - 在 Python 中使用 MethodType 的优点

python - 如何仅运行 Celery 调度多次,直到再次调用任务?

python - 通过管道将电子邮件发送到 python 脚本

c++ - Outlook 2010 C++ 加载项 - HTML 电子邮件正文检索

java - java类中电子邮件正文中的html代码

vba - 如何使用 VBA 将 Word 文档作为电子邮件正文发送

vba - 如何在 Outlook 中添加默认签名

c# - 测试 Outlook VSTO 加载项

python - 如何引发 tensorflow 内存不足错误的异常?