gpt4 book ai didi

r - 如何使用 R 阅读电子邮件

转载 作者:行者123 更新时间:2023-12-02 02:49:44 27 4
gpt4 key购买 nike

我无法确定是否有 R 包允许我从 smtp 或 pop 服务器读取电子邮件。我看到很多关于发送电子邮件的信息,而且效果很好。我无法从服务器下载它们。

谢谢。

最佳答案

IMAP 是用于接收电子邮件的协议(protocol),而 SMTP 是用于发送电子邮件的协议(protocol)。 POP3 是另一种用于接收电子邮件的协议(protocol),但由于 IMAP 具有更多功能,因此它的使用已大大减少。

因此,您正在寻找一个为 R 实现 IMAP 功能的包。为此,您可以使用 mRpostman包,它是 R 的 IMAP 客户端。您将能够执行邮箱/文件夹操作、使用单个或多个条件搜索邮件、邮件和附件提取等 - 所有这些都在 R 内部。

全面介绍 mRpostman的功能,请查看“mRpostman 基础知识”插图:https://allanvc.github.io/mRpostman/articles/basics.html

如何使用包的简单示例:

编辑 2021 年 3 月

从v0.9.X版本开始,mRpostman开始采用R6句法。因此,以前版本的大部分功能都变成了方法。这意味着现在应该在 connection_object$method() 中调用它们时尚。添加了其他功能,例如 OAuth2 支持(请参阅 http://allanvc.github.io/mRpostman/)。

Office 365 邮件帐户示例:

第 1 步)配置您与 Outlook 服务器的连接:

注意 url "imaps://outlook.office365.com"是使用 Office 365 的服务器的默认值。

con <- configure_imap(url="imaps://outlook.office365.com",
username="your_user@company.com",
password=rstudioapi::askForPassword())

# other IMAP providers that were tested: Hotmail ("imaps://imap-mail.outlook.com"),
# Gmail (imaps://imap.gmail.com), Yahoo (imaps://imap.mail.yahoo.com/),
# AOL (imaps://export.imap.aol.com/), Yandex (imaps://imap.yandex.com)

注意:如果您不想使用 OAuth2 并想连接到 GMail、Yahoo、AOL 或其他免费邮件提供商,您可能需要启用“不太安全的应用程序访问”选项。请引用:https://allanvc.github.io/mRpostman/articles/basics.html#allowing-less-secure-apps-access

步骤 2) 为了搜索或获取邮件,我们需要先选择一个邮件文件夹。在此示例中,我们选择 "INBOX" :

con$select_folder(name = "INBOX")

步骤 3) 单一搜索:

在这里,我们模拟了“收件箱”中的消息搜索操作。我们在邮件 header 的“发件人”字段中搜索包含字符串“@k-state.edu”的邮件。还有更多搜索功能可以实现无数其他搜索可能性(请参阅包的文档)。

res1 <- con$search_string(expr = "@k-state.edu", where = "FROM")

第四步)消息抓取:

这里我们获取在步骤 3 中返回的消息 ID 的文本部分。mRpostman将创建一个“user@server.com/INBOX”目录,其中包含带有获取的消息部分的 txt 文件。

res1 %>%
con$fetch_text(write_to_drisk = TRUE)

第 5 步)提取或获取附件。

方案一:直接抓取

res1 %>%
con$fetch_attachments()

备选方案 2:在文本/正文提取操作之后提取附件:

res1 %>%
con$fetch_text() %>% # or with fetch_body
con$get_attachments()

结果会是这样的:

enter image description here

您可以使用 mRpostman 进行邮件搜索和许多其他 IMAP 操作的更多可能性。 .该软件包的小插图和文档是一个好的开始。

关于r - 如何使用 R 阅读电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62215990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com