通过 Python 发送 Outlook 电子邮件?
我正在使用 Outlook 2003
。
使用 Python
发送电子邮件(通过 Outlook 2003
)的最佳方式是什么?
I am using Outlook 2003
.
What is the best way to send email (through Outlook 2003
) using Python
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
将使用您的本地 Outlook 帐户发送。
请注意,如果您尝试执行上面未提及的操作,请查看 COM 文档属性/方法: https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/mailitem-object-outlook。在上面的代码中,
mail
是一个 MailItem 对象。Will use your local outlook account to send.
Note if you are trying to do something not mentioned above, look at the COM docs properties/methods: https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/mailitem-object-outlook. In the code above,
mail
is a MailItem Object.有关使用 Outlook 的解决方案,请参阅TheoretiCAL 的答案。
否则,使用python自带的smtplib。请注意,这需要您的电子邮件帐户允许 smtp,默认情况下不一定启用。
编辑:此示例使用 RFC2606 中描述的保留域
< sub>要真正与 gmail 配合使用,Doe 先生需要转到 gmail 中的选项选项卡并将其设置为允许 smtp 连接。
请注意添加的登录行以对远程服务器进行身份验证。最初的版本不包括这一点,这是我的疏忽。
For a solution that uses outlook see TheoretiCAL's answer.
Otherwise, use the smtplib that comes with python. Note that this will require your email account allows smtp, which is not necessarily enabled by default.
EDIT: this example uses reserved domains like described in RFC2606
For it to actually work with gmail, Mr. Doe will need to go to the options tab in gmail and set it to allow smtp connections.
Note the addition of the login line to authenticate to the remote server. The original version does not include this, an oversight on my part.
我想使用 SMTPLIB 发送电子邮件,它更容易并且不需要本地设置。在其他答案没有直接帮助之后,这就是我所做的。
在浏览器中打开 Outlook;转到右上角,单击“设置”的齿轮图标,从出现的下拉列表中选择“选项”。
转到“帐户”,单击“Pop 和 Imap”,
您将看到选项:“让设备和应用程序使用 pop”,
选择“是”选项并保存更改。
这是后面的代码;必要时进行编辑。
最重要的是启用 POP 和这里的服务器代码;
I wanted to send email using SMTPLIB, its easier and it does not require local setup. After other answers were not directly helpful, This is what i did.
Open Outlook in a browser; Go to the top right corner, click the gear icon for Settings, Choose 'Options' from the appearing drop-down list.
Go to 'Accounts', click 'Pop and Imap',
You will see the option: "Let devices and apps use pop",
Choose Yes option and Save changes.
Here is the code there after; Edit where neccesary.
Most Important thing is to enable POP and the server code herein;
使用 pywin32:
using pywin32:
Office 365 的一个简单解决方案是
这里
df
是转换为 html 表的数据帧,该数据帧被注入到html_template
中A simple solution for Office 365 is
Here
df
is a dataframe converted to an html Table, which is being injected intohtml_template
这是一个很老的问题,但还有一个解决方案。当前的 Outlook SMTP 服务器是(截至 2022 年):
smtp.office365.com
587
(对于 TLS)也许最简单、最干净的解决方案是使用 < a href="https://pypi.org/project/redmail/" rel="noreferrer">Red Mail 已设置这些:
然后:
Red Mail 支持各种高级功能:
链接:
免责声明:我是作者
This is a pretty old question but there is one more solution. The current Outlook SMTP server is (as of 2022):
smtp.office365.com
587
(for TLS)Probably the easiest and cleanest solution is to use Red Mail that has these already set:
Then:
Red Mail supports all sorts of advanced features:
Links:
Disclaimer: I'm the author
这是我使用 Win32 尝试过的:
This was one I tried using Win32:
除了win32之外,如果你的公司设置了web Outlook,你也可以尝试PYTHON REST API,这是微软官方制作的。 (https://msdn.microsoft.com/en -us/office/office365/api/mail-rest-operations)
Other than win32, if your company had set up you web outlook, you can also try PYTHON REST API, which is officially made by Microsoft. (https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations)