【问题标题】:Incorrect sender email address shows in the mail send using smtp phpmailer使用 smtp phpmailer 发送的邮件中显示不正确的发件人电子邮件地址
【发布时间】:2020-04-25 23:14:48
【问题描述】:

我正在使用 PHP Mailer 库来发送邮件。在这里,我从电子邮件地址设置。但该电子邮件并未显示在邮件中。

$mail->SMTPDebug = env("GMAIL_SMTP_DEBUG");

$mail->isSMTP();                                            
$mail->Host       = "smtp.gmail.com"; 
$mail->SMTPAuth   = true;                                   
$mail->Username   = "mygroup@gmail.com"
$mail->Password   = "******";                               
$mail->SMTPSecure = env("GMAIL_SMTP_SECURE"); 
$mail->Port       = env("GMAIL_SMTP_PORT");                          
$mail->ContentType = 'text/html; charset=utf-8\r\n';
$mail->WordWrap    = 900; 
//Recipients

$mail->Sender = "myemail@gmail.com";
$mail->SetFrom("myemail@gmail.com", "My Name",false);
.......

这里我想收到的地址是“myemail@gmail.com”。但我得到的不是“mygroup@gmail.com”

【问题讨论】:

  • 那么,您正在使用一个帐户登录 GMail,并尝试从另一个帐户发送邮件?!我很确定这行不通
  • 是的,德尔博伊。但那是我们的群组邮件 ID。我们在小组中。它用于支持团队。
  • 如果我们使用普通的 php 邮件发送(......,"-f"."myemail@gmail.com") .. 那么它会起作用。
  • 当我检查我的代码时,我看到 SetFrom 是 setFrom (小写 s) 也许这就是问题
  • 没有。这不是问题

标签: php smtp gmail phpmailer


【解决方案1】:

您所要求的实际上是伪造的,而 gmail(以及其他服务)不允许这样做 - 正如您所看到的,它将替代您的帐户地址。

您可以做的一件事是在您的 gmail 设置中为您的帐户设置固定别名,然后您可以将这些别名用作发件人地址,而 gmail 不会替换它们。即使这样,它仍然不会让您在运行中使用任意地址 - 您必须事先定义它们。

【讨论】:

  • 是的,我们可以添加别名。但它只是我们自己的组邮件。
  • 如果总是相同的组地址,别名应该可以正常工作。
  • 我不明白你的意思
  • 当前结果是“我的名字 ”。但它应该是“我的名字
  • 好的,除此之外,您还必须请求 gmail 支持 - PHPMailer 正在尽其所能。您可以通过设置SMTPDebug = 2 来确认它在做什么,这将让您确定它在MAIL FROM 命令中使用了正确的地址。
猜你喜欢
  • 2020-07-26
  • 1970-01-01
  • 2015-02-18
  • 2014-10-19
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
相关资源
最近更新 更多