将电子邮件提供商与我的应用程序集成

Integrating email providers with my Application

我有一个基于 React 构建的 Web 应用程序,后端基于 NestJs。我想将电子邮件平台集成到我的应用程序中。 假设一个用户在我的应用程序中注册,然后他使用该应用程序中的其他功能。 然后他想使用我的应用程序接收和发送电子邮件,为此,他必须将他的电子邮件帐户(无论是 Gmail、Hotmail 还是任何其他电子邮件提供商)与我的应用程序集成。

我怎样才能提供这样的功能?它叫什么?

我试图在 Google 上对其进行一些研究,并找到了一些选项,例如 Nylas 和 MailGun。但我不确定它们是否符合我的情况。

感谢任何线索和建议。 谢谢

您将需要一个 IMAP 客户端来检索从远程服务器(Google、Microsoft 等)收到的电子邮件,您应该能够使用 IMAP Simple package

此外,您还需要一个 SMTP 客户端来发送电子邮件,为此,您需要 SMTP Client

这将要求用户披露他们的 SMTP/IMAP 详细信息,或者在某些情况下披露他们的实际登录详细信息,这可能会让他们感到不舒服;然而,这种方法对于几乎所有的邮件服务都是通用的 providers/servers.

或者,如果您只是以 Gmail 为目标,您可以使用 Gmail API 用户可以向您的应用授予发送和访问邮件的权限。

您还可以使用 Microsoft Graph 界面访问他们的 Mail API 从 Hotmail/Outlook 发送和接收电子邮件。

Nylas 绝对适合这种用例:主要目的是让开发人员能够将其用户的电子邮件帐户集成到应用程序中。您可以通过仪表板连接您自己的电子邮件帐户以进行测试,或使用 hosted auth service to automatically detect email providers and provide the appropriate login flow to connect the user email accounts. Once an account is connected, you can use the Threads and Messages endpoints to ingest email content and the Send and Outbox 端点发送电子邮件。

另一方面,Mailgun 是一种交易电子邮件 API 服务,主要用于群发营销电子邮件、帐户管理(密码重置、电子邮件验证)等。Afaik,它不会不要连接到您用户的电子邮件帐户,即使它被用于发送来自特定用户的电子邮件(电子邮件来自 Mailgun 的 SMTP 服务器,而不是用户的提供商)。您可以详细了解交易电子邮件 APIs (Mailgun) 和上下文电子邮件 APIs (Nylas) here.

之间的区别