微软Office365邮箱OAuth


本指南帮助你在 Frappe 中验证 Outlook 电子邮件账户。

注意:用户应以其 Frappe 账户中的电子邮件账户用户身份登录。例如,如果电子邮件账户是 [email protected],那么他们应使用站点上的用户 [email protected] 登录。

  1. 前往你的 Frappe 实例,创建一个新的已连接应用并保存(只需输入名称并保存),然后复制重定向 URI 以备后用。


  1. 登录 Microsoft Azure,搜索并选择Microsoft Entra ID(以前称为 Azure Active Directory)。

  1. 点击添加 -> 应用注册

  1. 输入相应的详细信息(应用名称、账户类型),粘贴之前从 Frappe 实例复制的重定向 URI,并将平台选择为“Web”。

要了解有关账户类型的更多信息,请点击此处

  1. 点击注册,你将被重定向到你创建的应用。复制你的应用程序 ID——这是你需要粘贴到 Frappe 实例上已连接应用中的客户端 ID。

  1. 前往应用中的API 权限部分,添加 Microsoft Graph 权限。

  1. 为 IMAP.AccessAsUserAll、SMTP.Send 和 offline_access 选择委派权限,然后点击“添加权限”




  1. 前往证书和密码以创建客户端密码

添加描述并点击添加,即可看到新生成的客户端密码。

复制值——将其粘贴到 Frappe 实例上新已连接应用中的 Client Secret 字段中。

  1. 点击“终结点”并复制“OpenID Connect 元数据文档”。这应粘贴到你的 Frappe 已连接应用的“OpenID 配置”字段中。之后,在已连接应用上点击“获取 OpenID 配置”,这将填充终结点。



然后,添加这些作用域,并保存文档。

  • https://outlook.office.com/IMAP.AccessAsUser.All
  • https://outlook.office.com/SMTP.Send
  • offline_access
  1. 点击右上角的“连接到 {你的已连接应用名称}”按钮,这将启动 Microsoft 的 OAuth 流程。

请确保你正在授权的电子邮件账户与你将在 Frappe 中添加的账户相同。

  1. 如果一切按计划进行,你将被重定向回你的已连接应用页面,并且应该能够看到连接到你的已连接应用的令牌缓存,前往你创建的令牌缓存,检查你是否同时拥有刷新令牌和访问令牌。

  1. 前往电子邮件账户 DocType 并创建一个新的电子邮件账户。选择方法为 OAuth,添加你的已连接应用和创建了令牌缓存的用户,并像往常一样设置你的电子邮件账户。

请确保你的 Microsoft 账户允许 IMAP/POP 连接。你可以在此处找到相关信息以及 Outlook 服务器的设置:https://support.microsoft.com/en-us/office/pop-imap-and-smtp-settings-8361e398-8af4-4e97-b147-6c6c4ac95353

注意:Microsoft 限制从除验证它的电子邮件地址以外的任何其他电子邮件地址发送邮件。为此,你可以在电子邮件账户文档本身中检查这两个选项


如需任何其他信息,请访问 Microsoft 的官方文档:https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth


服务主体身份验证

电子邮件账户需要以用户身份访问。这导致无法使用专用于 Frappe 的共享邮箱,因为需要向登录 Frappe 的用户授予完全访问权限。

此功能允许 Frappe 向例如 Exchange Online 验证自身身份,以便它可以从共享邮箱发送和接收电子邮件,而无需向访问 Frappe 的每个用户委派完全访问权限。

如果你希望使用此方法进行身份验证,Email Account 中有一个可用的复选框