python - Linux系统上使用Python从内网邮箱获取邮件

标签 python linux email outlook exchange-server

通过将其设置为不同的帐户,我可以在本地系统的 Outlook 中使用我的凭据用户名和密码从公司 Intranet 邮箱“ABCName.company.com”访问电子邮件。

此外,我还可以使用 python 代码获取自动电子邮件,如下所示:

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
folder_inbox = outlook.Folders("ABCName").Folders("Inbox")
messages = folder_inbox.Items
message = messages.GetFirst()

如何使用我的凭据从 Linux 服务器连接到相同的 ABCName 邮箱来获取电子邮件? Linux 服务器没有 Outlook 设置。

最佳答案

该代码未连接到邮件服务器。 Outlook 是一个客户端电子邮件应用程序,它连接到邮件服务器并使用某种协议(protocol)(IMAP、POP3、MAPI 等)下载消息。该代码只是从 Outlook 配置文件中读取消息,这些消息已经从服务器中拉出。请注意,如果没有为“ABCName”帐户安装和配置 Outlook,此代码将无法在任何其他计算机(包括其他 Windows 计算机)上运行。

Python 在 Windows 和 Linux 上运行,因此假设脚本配置正确,它应该在任何操作系统上运行。您需要一个可以从邮件服务器读取数据的应用程序,而不是客户端电子邮件应用程序。您实现的模块取决于邮件服务器支持的协议(protocol)。

对于 POP3,您可以使用 poplib:

https://docs.python.org/3/library/poplib.html

对于 IMAP,您可以使用 imaplib:

https://docs.python.org/2/library/imaplib.html

关于python - Linux系统上使用Python从内网邮箱获取邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54334241/

相关文章:

python - python 解析器如何包含 "AT"文件(ini)

python - Django CreateView self.object 返回 None

c++ - 在 Windows 上以 float 方式额外打印 0

linux - 访问硬件寄存器中的内存指针

android - 如何通过设备上的默认邮件应用程序直接发送电子邮件

python - Tensorflow 第一层神经元的权重不会改变

linux - 什么时候使用 gethrvtime() 代替 gethrtime() 更合适

ios - 继续并快速发送电子邮件

android - 在电子邮件中发送内联 HTML 图像

python - 是否可以在 scikit-learn 的 DecisionTreeRegressor 中检索每个叶子中的火车行 ID?