我正在建立一个服务,扫描人们的电子邮件特定的PDF
附件和索引他们。我用OAuth2
为Gmail
实现了这一点,使用他们广泛的Gmail API,工作得很好。
我现在想为outlook/live/hotmail
实现相同的功能。所以我四处搜索,我主要读到你可以"使用OAuth 2.0
连接到Outlook.com IMAP
"(教程在这里)。问题是,这实现了一个完整的IMAP
连接。据我所知,这更多是为售后应用程序,用户可以查看和发送他的电子邮件,而不是为应用程序需要下载一些电子邮件在后台(像我的)。
我还没有从代码中使用IMAP
,但我现在看到的主要问题是:
- 如果我阅读电子邮件,它们将在用户的收件箱中设置为"已读",这显然是我不想要的(我不想干扰用户的正常电子邮件使用)。
- 我需要与所有的电子邮件收件箱保持联系,或者不断地通过所有的电子邮件收件箱来获取新的电子邮件。
我的问题实际上是;
- 除了
IMAP
之外,没有其他方法可以获得用户outlook.com
的电子邮件吗? - 或者我的问题实际上不是问题,我应该为所有
outlook
电子邮件帐户创建一个IMAP
"接收器"吗?
对于第一点的回答,根据Max,您可以使用body.peak
来避免这种情况。
对于第2点的回答,根据triplee,您可以连接到所有帐户,然后使用称为IDLE
的IMAP扩展。
为了回答第3点,我找到了Outlook REST API,它包含了读取电子邮件的选项,你可以定期调用GET https://outlook.office.com/api/beta/me/messages
来获取用户帐户中的所有邮件,或者你可以定期调用GET https://outlook.office.com/api/v1.0/me/messages
来获取用户收件箱中的所有邮件。您可以在这里找到REST api操作的完整列表。
在计算中,Internet Message Access Protocol (IMAP)是一个Internet标准协议,用于电子邮件客户端通过TCP/IP连接从邮件服务器检索电子邮件消息。IMAP由rfc3501定义。
同样,在定义原始IMAP协议的RFC 3501中,它指的是电子邮件客户端,从摘要中读取(粗体是我的),
因特网消息访问协议,版本4rev1 (IMAP4rev1)允许客户端访问和操作服务器上的电子邮件消息。