使用 gmail smtp 服务器时如何更改发件人地址

2022-08-30 16:24:10

我想通过 gmail 从 AB 发送一封包含 HEADERCONTENT 的电子邮件。

如何通过PHP做到这一点?

我已经指定了 FROM (),但当我收到电子邮件时,它仍然来自我的 gmail 帐户 ()。from@example.comabc@gmail.com

$mail->From = "from@example.com";
$mail->FromName = "Mailer";
$mail->AddAddress("abc12@163.example", "Josh Adams");// name is optional
$mail->AddReplyTo("abc12@qq.example", "Information");

如何更改“从”部分?


答案 1

简短的回答 - 你不能。

Google 会将您通过其 SMTP 服务发送的邮件中的“发件人”和“回复至”标头重写为与您的 gmail 帐户相关的值。

gmail 的 SMTP 功能并非旨在成为开放或中继服务。如果它允许“发件人”标头的任何值,则会大大削弱Google在垃圾邮件服务中的地位,因为无法验证发件人的凭据。

您需要考虑替代方案。完成后,您计划如何托管脚本/应用程序/网站:几乎每个托管解决方案(共享/ vps /专用服务器)都将预先配置电子邮件传输解决方案:无论是*nix上的sendmail或postfix,还是Windows上的IIS。

如果您打算使用gmail,那么您可以:

  • 设置专用帐户myapp@gmail.com
  • 如果您拥有应该从中发送邮件的域,请使用免费的gmail for Domains,并设置一个帐户。myapp@mydomain.example

====

编辑2015年6月

有人建议GMail确实允许通过不同的地址发送。据我所知,这是通过GMail wep应用程序发送的,并利用您现有的外部SMTP服务器,这与原始问题无关。

====

编辑 Nov 2013

鉴于这仍然获得涓涓细流选票。快速更新。

谷歌已经撤回了他们的免费GMail域名。周围还有很多其他免费服务。值得注意的是Mandrill - 一种一对一的电子邮件服务,用于交易电子邮件(例如电子商务订单等)。它由MailChimp运行,他几乎知道有关批量发送电子邮件的所有信息。他们还给你12k /月免费,这相当不错。


答案 2

这个问题和正确答案可能是相关的:

使用 Gmail 进行 SMTP 时,是否可以设置其他“发件人”地址?

Gmail 要求您先验证“发件人”地址,然后再将邮件作为该电子邮件地址发送。因此,您需要在个人gmail帐户中添加新的发件人并进行验证。

这样做将允许您进行身份验证并发送电子邮件youremail@gmail.comfrom@example.com


推荐