我想通过 gmail 从 AB 发送一封电子邮件,其中包含 HEADERCONTENT

如何用 PHP 做到这一点?

我已指定 FROM (from@example.com),但当我收到电子邮件时,它仍然来 self 的 Gmail 帐户 (abc@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"); 

如何更改 FROM 部分?

请您参考如下方法:

简短的回答 - 你不能。

Google 会将您通过其 SMTP 服务发送的邮件中的发件人和回复 header 重写为与您的 Gmail 帐户相关的值。

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

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

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

  • 设置专用的 myapp@gmail.com 帐户
  • 如果您拥有要发送邮件的域名,请使用 free gmail for domains ,并设置一个 myapp@mydomain.example 帐户。

====

编辑 2015 年 6 月

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

====

2013 年 11 月编辑

看来这仍然得到了少量的选票。快速更新。

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


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!