PHPMailer 使用 GMAIL SMTP 和多个虚拟主机的多个 GMAIL 帐户

PHPMailer using GMAIL SMTP with multiple GMAIL accounts for multiple virtual hosts

我已经设置了 PHPMailer 并且它已经在一个域上工作了, 为 SMTP 服务使用 gmail 帐户。

当我想使用 PHPMailer 时,同样,使用不同的 Gmail 帐户(用于不同的虚拟主机), 它仍然会从同一个 Gmail 帐户发送 因为这就是服务器的 "the email address" 标识 (严重虚拟主机所在的服务器 运行)

我的问题是,您需要具备什么才能使用 另一个 Gmail 帐户?

另一个IP地址?或另一台服务器?或者?

发件人地址的最终限制是什么 如果您只有一个 IP 地址和一台服务器?

谢谢

Gmail 不介意您使用来自同一 IP 的多个帐户,只要您对每个帐户都正确验证即可。也就是说,您发送的服务器和您使用的 gmail 帐户之间没有固定关系。

EHLO 主机名(通过 PHPMailer 的 Helo 属性 设置,如果不能自动派生的话),跨帐户的唯一一件事是相同的,因为您真的希望它在 DNS 中向后和向前解析,您不能同时使用多个名称 - 但这对身份验证没有影响。

服务器的实际主机名不需要与您发送的域相关,因此您可以放心地说:

$mail->From = 'user@vhost1.example.com';
$mail->Username = 'user@gmail.com';

然后,在另一个虚拟主机中:

$mail->From = 'user@vhost2.example.com';
$mail->Username = 'user2@gmail.com';

如果您观看 SMTP 对话 (SMTPDebug = 2),两者将具有相同的 EHLO 名称(可能是通用的 host.example.com),但随后使用不同的身份验证和 MAIL FROM地址(SMTP 源地址,如果您使用 Sender 属性,它可能与来自 header 的邮件中的内容不同,但无论哪种方式,它都会变成 return-path header 由接收方)发送消息。