如果托管在另一台服务器上,则从Web服务器发送电子邮件

问题描述:

我正在构建Web应用程序。它会链接到其他人的网站。如果托管在另一台服务器上,则从Web服务器发送电子邮件

它的目的是要登录到门户,将管理客户和数据。

我的应用程序在某个时候会根据客户的兴趣发送一封电子邮件给他们的客户。

我担心的是我们不会托管我们的客户电子邮件。

所以我的问题是,我可以让我的web服务器的web应用程序使用自己的电子邮件域名的电子邮件我的客户的客户?

我认为我需要的只是邮件服务器和电子邮件帐户的详细信息。

我想我会使用phpemailer,除非任何人都可以推荐别的东西吗?它甚至有可能吗?

我只是在寻找答案或文档吨帮助我安装配置,如果任何人知道任何。

在此先感谢

+2

如果他们有他们的网域的SPF纪录,他们将需要更新它包括您的服务器。然后你可以从他们的域发送邮件。如果他们没有SPF,那么任何服务器都可以从他们的域发送邮件。 – Barmar

+0

干杯巴尔马尔。我会仔细研究一下。 –

由于Barmar说,如果你的客户包括在他们的SPF记录您的服务器地址(和只使用SPF保护),那么你的邮件服务器可以用从与客户的地址发送邮件域。

然而,有另一种方案,DKIM,这需要通过客户端发出的私钥。为了进一步混淆,DKIM和SPF结合了一个名为DMARC的方案。

复用通过自己的MTA的方案和客户端密钥是一个令人生畏复杂的任务。虽然@Barmar通常会给出很好的建议,但在这种情况下,我认为只要求客户将您的域名纳入其SPF并不是最好的方法。

有很多不同的选择:

  • 一个链接返回到客户端MTA(对他们来说,经营自己的MX客户),这将需要支持SMTPS和SMTP认证。甚至可能支持VPN

  • 的SPF基于模型(对于那些不使用DMARC或DKIM)

  • 发送您的MTA,但有一个伪装的文字部分邮件的电子邮件地址,例如

    来源:“[email protected]” <[email protected]>

    ...但有一个应答头指向客户解决,尽管这可能会影响您的知识产权

  • 只需使用客户的电子邮件作为从地址为那些没有任何保障计划

这将是简单的处理您的应用程序代码中的电子邮件的初始路由,但你将需要开发谁真正了解如何电子邮件在实践中运作

+0

欢呼声以获取信息。只要我知道要和我的开发人员一起看什么,我们就会研究我们可以做的。欢迎您的建议,非常感谢。给我一个非常好的起点。 –

我会建议你使用mailgun ... Mailgun实现简单,你可以每月发送电子邮件10000免费(见下文),你可以在代客户域发送电子邮件。您需要将新域添加到mailgun帐户并验证它们是否像文档中所述(请参阅下文)。

官方SDK为PHP https://github.com/mailgun/mailgun-php

域验证文档https://documentation.mailgun.com/en/latest/quickstart-sending.html#verify-your-domain

如果你需要发送超过10K每月

定价计划.. https://www.mailgun.com/pricing

这里有一些选择:

  • 如果您的客户为您提供帐户他们的电子邮件环境,那么你可以使用这些凭据发送。假设你的客户端有一个正确配置的邮件环境(SPF和/或DKIM和/或DMARC),那么一切都应该是好的。
  • 您可以从您的电子邮件服务器直接发送,但客户的SPF记录应包括您的服务器的IP地址(ES),如果你不希望电子邮件去垃圾邮件。 (虽然这是可能的电子邮件不会去垃圾邮件取决于很多相关的垃圾邮件过滤和IP信誉巫术的)
  • 你可以有你的客户端安装与您生成公钥的DKIM DNS条目。然后您可以让您的服务器使用DKIM签署消息并代表客户端发送消息。