如何使用@ companyName.application.com特定的电子邮件服务为SaaS应用程序中的租户提供服务?

时间:2012-06-29 14:14:38

标签: email smtp saas multi-tenant

在我们的SaaS应用程序中,每个公司(租户)都会获得自己的自定义域名,例如 companyName.ourapp.com 我们想提供一些电子邮件服务,如:

  • 能够从info@companyName.ourapp.com和类似地址发送和接收电子邮件通知
  • 能够在运行时以编程方式在客户端的子网站中创建新的电子邮件帐户。例如,我们会为每个“开放”创建单独的电子邮件,以便发送到此地址的电子邮件将被解析信息将被提取
  • 类似的任务

现在我甚至不知道在哪里看,以及这可能如何起作用。 据我所知,电子邮件应该是某种自定义邮件服务器(SMTP)服务于所有子域,并具有我们可用于发送电子邮件,列表和检索邮件等的API。

请建议它是如何工作的,是否有任何可用于实现此目的的组件。

1 个答案:

答案 0 :(得分:1)

有三种选择。

  • 创建一个电子邮件服务器并以编程方式将其配置为接受或拒绝特定帐户。然后使用cron通过pop3或imap进行轮询并下载该帐户的消息。然后,您可以为客户发送它们或在您的Web应用程序中处理它们。
  • 创建一个在收到每封电子邮件时由电子邮件服务器触发的脚本。然后,该脚本可以处理收到的电子邮件的处理方式。
  • 使用第三方通过您应用中的HTTP Post接收电子邮件。例如,使用CloudMailin可以创建一个自定义授权过滤器,可以实时调用您的应用,并确定是否存在给定的帐户,并且应该接受该消息。

我为Rails编写了一个关于接收传入电子邮件的blog post,但是这些主体适用于任何编程语言和框架。