2

我正在将验证部分作为我网站的帐户注册的一部分,其中将向用户电子邮件发送一条消息,其中包含验证帐户的链接。我正在使用000webhost托管。我读到他们的邮件服务很差,我应该得到 Google Apps 服务。所以我做到了,我将 MX 记录更改为 Google 的。

但是当我使用 mail() 函数时,它仍然是由 000webhosts 服务发送的;我测试了它向我的帐户发送消息,发件人是:

信息info@mydomain.com通过 srv19.000webhost.com

服务不应该是谷歌的吗?我更改了 MX 记录,但不知道。

还有一个问题,如果我使用 Google Apps 创建邮件@mydomain.com,并在我的托管 CPanel 中创建另一个具有相同地址的邮件,会发生什么?

我希望你能帮助我

4

2 回答 2

1

当您不使用 DKIM 对您的消息进行签名时,Google 会显示“通过”消息。

如果您使用 google 应用程序发送电子邮件,您可以选择使用他们的电子邮件服务器,这将被 google 识别,因此邮件将不会显示。

编辑:让我补充一点,让 sendmail 发送(正确!)dkim 签名的邮件并不像应该的那么容易。许多电子邮件服务器会添加额外的标头,或更改您专门设置的标头。如果您签署任何这些标头,则签名将不再匹配。

通常使用 SMTP 直接发送到适当的电子邮件服务器更容易。SendGrid、Amazon SES 或 Postmark 是可以让您的生活变得更轻松的公司 - 成本非常合理。

编辑2:再次阅读问题,已经很晚了:您已将 MX 记录正确设置为 Google Apps,但这是用于接收电子邮件,而不是用于发送。因此,如果您发送电子邮件,它仍将使用您自己的服务器发送。

如果您想使用 Google 的服务器,有以下几种选择:

  1. 使用电子邮件框架并使用 PHP 连接到他们的 SMTP 服务器(可能需要做很多工作)。
  2. 设置 sendmail 将所有电子邮件转发到 google 的 SMTP 服务器(如果您的主机支持,设置起来很麻烦)。

在大多数情况下,(1)似乎是唯一的选择。

于 2012-08-18T22:36:34.600 回答
0

当您使用 mail() 时,默认情况下 PHP 使用您的网络服务器配置使用的外发邮件服务器发送消息——这几乎总是在同一主机上运行的邮件服务器。

所以,你需要做的是使用不同的功能来发送你的邮件,它将连接到谷歌的服务器而不是你自己的网络服务器。

于 2012-11-13T17:45:34.447 回答