首页 > 解决方案 > PHPMailer 设置 From 与 smtp 用户名相同

问题描述

我正在使用 PHPMailer 库发送 SMTP 电子邮件以进行预订查询。(注意:我在 PHP Pear Mail 库中也遇到了同样的问题)。

我将电子邮件设置如下

$mail = new PHPMailer;
$mail->isSMTP();                 // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true; 
$mail->Username = 'gmail.owner@gmail.com';      // SMTP username
$mail->Port = 465;               // TCP port to connect to
$mail->isHTML(true);
$mail->Password = 'xxxx';
$mail->setFrom(mark.antony@example.com, Mark Antony);
$mail->replyTo(mark.antony@example.com, Mark Antony); 
$mail->addAddress(gmail.owner@gmail.com, Gmail Owner);
$mail->Subject = $whatever subject;
$mail->Body    = $whatever html;

问题是在收到的邮箱中发送电子邮件后,我看到From:它与To:(或与 gmail/smtp 用户名相同)相同。replyTo我已经通过设置值解决了回复问题。

无论如何我可以解决这个问题吗?还是它应该是这样的?

标签: phpsmtpphpmailer

解决方案


Google 不允许您设置任意地址因为这样做通常是伪造的。如果您尝试这样做,gmail 将忽略它并替换您的Username地址,这就是您所看到的。

有一个例外:您可以在您的 gmail 设置中设置其他别名(您需要验证),一旦您完成了这些,您就可以将这些地址用作发件人地址

如果您将其用于联系表单(听起来像您),则设置到您自己的地址,并将提交者作为回复是正确的方法,如PHPMailer 联系表单示例所示.


推荐阅读