omg*_*omg 23 php email gmail smtp
我想通过gmail 发送一封从A到B的电子邮件,其中包含HEADER和CONTENT.
如何通过PHP做到这一点?
我已经指定了FROM(from@example.com),但是当我收到电子邮件时,它仍然来自我的Gmail帐户(abc@gmail.com).
地址http://maishudi.com/mail.jpg的屏幕截图
$mail->From = "from@example.com";
$mail->FromName = "Mailer";
$mail->AddAddress("abc12@163.com", "Josh Adams");// name is optional
$mail->AddReplyTo("abc12@qq.com", "Information");
Run Code Online (Sandbox Code Playgroud)
如何更改FROM部分?
Ian*_*Ian 47
简短的回答 - 你不能.
Google会将您通过其SMTP服务发送的邮件中的"发件人"和"回复"标题重写为与您的Gmail帐户相关的值.
gmail的SMTP功能不是开放或中继服务.如果它允许From标头的任何值,它将显着淡化Google在垃圾邮件服务方面的地位,因为无法验证发件人的凭据.
你需要考虑替代方案.你计划在完成后如何托管你的脚本/应用程序/网站:几乎每个托管解决方案(共享/ vps /专用服务器)都将预先配置一个电子邮件传输解决方案:无论是sendmail还是postfix on*nix,还是IIS在Windows上.
如果您打算使用gmail,那么您可以:
====
有人建议GMail允许通过不同的地址发送.据我所知,这是通过GMail wep应用程序发送,并利用您现有的外部SMTP服务器,这与原始问题无关.
====
看到这仍然是一个涓滴的选票.快速更新.
谷歌已撤回其域名免费GMail.周围还有很多其他免费服务.值得注意的是Mandrill - 一种用于交易电子邮件的一对一电子邮件服务(例如电子商务订单等).它由MailChimp运行,MailChimp非常了解有关发送电子邮件的所有信息.他们还给你12k /月免费,这是相当不错的.
小智 8
这个问题和正确答案可能是相关的:
使用Gmail for SMTP时,您可以设置不同的"发件人"地址吗?
Gmail要求您在将邮件作为该电子邮件地址发送之前验证发件人地址.因此,您需要在个人Gmail帐户中添加新发件人并进行验证.
这样做将允许您使用youremail@gmail.com进行身份验证并从from@example.com发送电子邮件
与其他人不同,我会冒险并假设您所说的字母指的是电子邮件......
但当您提到它应该包括“标题和内容”时,我不确定您的意思是什么。您想转发电子邮件吗?您是否希望来自A的电子邮件在标题中显示为来自B的 Gmail 帐户?您正在构建某种 Gmail 客户端吗?
使用 PHP 发送电子邮件的最简单方法是使用邮件功能。这个例子直接来自他们的文档:
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
Run Code Online (Sandbox Code Playgroud)
如果您希望标头显示在A的 gmail 中,而不是简单地更改发件人/回复部分,则必须使用 gmail 作为 SMTP 服务器。我不知道你是否可以在脚本级别设置它。