【问题标题】:Integrating email providers with my Application将电子邮件提供商与我的应用程序集成
【发布时间】:2021-01-15 10:05:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: node.js gmail mailgun email outlook.com


    【解决方案1】:

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

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

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

    或者,如果您只是针对 Gmail,您可以使用 Gmail API,用户可以在其中授予您的应用发送和访问其邮件的权限。

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

    【讨论】:

    • 感谢您的评论。我明白你想在这里解释什么。但问题是我不会有 SMTP/IMAP 详细信息(因为普通用户不熟悉它们),但我可以像 Gmail 或 Outlook 一样进行身份验证。一位登录到我的应用程序的用户可以附加他/她的 Gmail 以及 Outlook。另一个用户可以拥有另一个电子邮件提供商,例如 Yahoo。有没有其他方法来处理这些情况?
    • 是的,Gmail 和 Microsoft 确实允许您通过 OAuth 或类似方法对用户进行身份验证,一旦完成,您将获得每个用户的令牌,可用于调用各自的 API 来检索和以用户身份发送电子邮件。对于 Yahoo,这也可以查看 Verizon Mail API 文档以供参考。
    • 非常感谢,EZ-C。现在很清楚了。我接受这个答案。
    【解决方案2】:

    Nylas 绝对适合这个用例:主要目的是让开发人员能够将其用户的电子邮件帐户集成到应用程序中。您可以通过仪表板连接您自己的电子邮件帐户以进行测试,或使用hosted auth service 自动检测电子邮件提供商并提供适当的登录流程来连接用户电子邮件帐户。连接帐户后,您可以使用ThreadsMessages 端点提取电子邮件内容,并使用SendOutbox 端点发送电子邮件。

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

    【讨论】:

    • 很高兴您的回复并且信息很有用。我对 Nylas 和 MailGun 做了一些研究,发现 MailGun 是用于交易电子邮件的,但我在某处读到它也可以接收电子邮件,还没有发现任何来自 MailGun 的上下文电子邮件。另一方面,Nylas 符合我的目的。好本·劳埃德·皮尔逊。
    猜你喜欢
    • 2019-12-24
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 2020-07-19
    相关资源
    最近更新 更多