php - SetFrom PHPMailer 不工作

标签 php phpmailer

我正在使用 gmail SMTP 在 phpmailer 库的帮助下发送邮件。它可以正常发送邮件,但不是从我在 SetFrom 地址中设置的邮件地址发送的。这是我的代码:

<?php
require 'phpmailer/class.phpmailer.php';
$mail = new PHPMailer;

$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->Username = "myusername@gmail.com";
$mail->Password = "gmail_password";

$mail->From         = 'donotreply@mydomain.com';
$mail->FromName     = 'Admin';
$mail->AddAddress('Toreceiver@test.com', 'Receiver');  // Add a recipient
$mail->IsHTML(true);

$mail->Subject = 'Here is the Subject';
$mail->WordWrap = 50;  
$mail->Body = "This is in <b>Blod Text</b>";
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->Send()) {
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}

echo 'Message has been sent';
?>

它从 myusername@gmail.com 发送邮件,但我希望它使用 $mail->From 中设置的 'donotreply@mydomain.com' 发送。任何帮助将不胜感激。

最佳答案

是的,这是 Google Mail 限制。 “发件人”电子邮件地址必须匹配或由 Google SMTP 自动设置。

我的解决方案是添加

$mail->AddReplyTo($FromEmail, $FromName);

这样至少如果您回复消息,消息将按照描述发送

关于php - SetFrom PHPMailer 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17085865/

相关文章:

AWS Linux 服务器上的 PHPMailer 超时

php - 带有 PHP 循环的 CSS 代码结构第 2 轮

php - 使用 PHP Response 来存储/使用数据

PHPMailer 给出 "SMTP Connection failed"错误消息

php - 批量邮件性能发送方式

php - 在 ubuntu 服务器上安装了 libphp-mailer,如何在 web 项目中使用它?

php - 我可以创建一个 PHP 函数来创建文本输入字段吗?

php - 正则表达式:区分下划线(_)和破折号(-)

PHP/HTML 表单进入数据库复选框验证

php - 如何在 Bluehost 上使用 phpMailer isSMTP?