【问题标题】:PHPmailer : Change Username name from Email [duplicate]PHPmailer:从电子邮件更改用户名[重复]
【发布时间】:2016-11-03 21:45:38
【问题描述】:

使用 phpmailer 发送邮件。但它在 from(Email) 中显示了我的用户名。我必须显示发件人电子邮件 ID。请给我解决方案。

联系提交.php

<?php 
  require('phpmailer/class.phpmailer.php');
  require('phpmailer/class.smtp.php');

    $txtname = $_POST['txtname'];
    $txtemail = $_POST['txtemail'];
    $txtmobile = $_POST['txtmobile'];
    $txtmessage = $_POST['txtmessage'];
    $txtname = $_POST['txtname'];   

    $mail = new PHPMailer();
    $mail->IsSMTP();// enable SMTP
    $mail->SMTPDebug = 0;// debugging: 1 = errors and messages display after success message, 2 = messages only
    $mail->SMTPAuth = TRUE;// authentication enabled
    $mail->SMTPSecure = "ssl";// secure transfer enabled REQUIRED for Gmail
    $mail->Host     = "smtp.gmail.com";
    $mail->Port     = 465;  
    $mail->IsHTML(true);
    $mail->Username = "ashishaware2@gmail.com";
    $mail->Password = "Ashish2";
    $mail->Mailer   = "smtp";
    $mail->SetFrom("abcd@gmail.com",$txtname);      
    $mail->AddReplyTo($txtemail, $txtname);
    $mail->AddAddress("ashishaware2@gmail.com");
    $mail->Subject = "Test email using PHP mailer";
    $mail->WordWrap   = 80;
    $content =" <b> NAME :</b>  $txtname "."<br>"; 
    $content.=" <b> EMAIL :</b> $txtemail "."<br>";
    $content.=" <b> MOBILE :</b>$txtmobile "."<br>";
    $content.=" <b> MESSAGE :</b>$txtmessage "."<br>";
    $mail->MsgHTML($content);

    if(!$mail->Send()) 
    echo "Problem sending email.". $mail->ErrorInfo;
    else 
    echo "email sent.";


?>

邮件发送后的结果是这样的:

结果

    virat <ashishaware2@gmail.com>
    To ashishaware2@gmail.com
   Today at 18:13
   NAME : virat
   EMAIL : virat2830@gmail.com
  MOBILE :9850971456
    MESSAGE :hi 

我的预期结果是

virat <virat2830@gmail.com>
To ashishaware2@gmail.com
Today at 18:13
NAME : virat
EMAIL : virat2830@gmail.com
MOBILE :9850971456
MESSAGE :hi 

【问题讨论】:

  • $mail-&gt;SetFrom($txtemail, $txtname); 应该这样做
  • @Fred-ii- 我认为 OP 希望第 1 行的 pac-mans &lt;email@email.com&gt; 之间的电子邮件不是他的身份验证电子邮件:/
  • 我认为这里真正的问题是,如果您通过 Gmail SMTP 发送电子邮件,由于垃圾邮件/安全性,Gmail 可能不允许您更改电子邮件中的 FROM 标头。
  • 恕我直言,您不应该伪造 From 标头。将所有相关数据放在消息正文中。使用纯文本、键值对的一致格式并包括完整的日期/时间。使自动数据提取更容易。
  • 打开这个链接google.com/settings/security/lesssecureapps它会工作

标签: php phpmailer core


【解决方案1】:

如果您通过 Gmail SMTP 发送电子邮件,Gmail 将不允许您更改电子邮件中的 FROM 标头,因为垃圾邮件/安全性原因。

More information

【讨论】:

  • 那么可能是重复的
  • 谢谢您的建议
猜你喜欢
  • 1970-01-01
  • 2019-04-16
  • 2014-07-04
  • 1970-01-01
  • 2013-07-09
  • 2014-10-23
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
相关资源
最近更新 更多