我正在使用 Outlook 2003
。
使用 Python
发送电子邮件(通过 Outlook 2003
)的最佳方式是什么?
原文由 user3262424 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 Outlook 2003
。
使用 Python
发送电子邮件(通过 Outlook 2003
)的最佳方式是什么?
原文由 user3262424 发布,翻译遵循 CC BY-SA 4.0 许可协议
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'To address'
mail.Subject = 'Message subject'
mail.Body = 'Message body'
mail.HTMLBody = '<h2>HTML Message body</h2>' #this field is optional
# To attach a file to the email (optional):
attachment = "Path to the attachment"
mail.Attachments.Add(attachment)
mail.Send()
将使用您本地的 outlook 帐户发送。
请注意,如果您尝试执行上面未提及的操作,请查看 COM 文档属性/方法: https ://msdn.microsoft.com/en-us/vba/outlook-vba/articles/mailitem-object-outlook。在上面的代码中, mail
是一个 MailItem 对象。
原文由 TheoretiCAL 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答857 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
对于使用 outlook 的解决方案,请参阅 TheoretiCAL 的回答。
否则,使用python自带的smtplib。请注意,这将要求您的电子邮件帐户允许 smtp,默认情况下不一定启用。
编辑: 此示例使用 RFC2606 中描述的保留域
为了让它真正与 gmail 一起工作,Doe 先生需要转到 gmail 中的选项选项卡并将其设置为允许 smtp 连接。
请注意添加登录行以向远程服务器进行身份验证。原始版本不包含此内容,这是我的疏忽。