繁体   English   中英

无法使用 PHPMailer 和 smtp.gmail.com 设置自定义发件人电子邮件

[英]Cannot set Custom Sender email using PHPMailer and smtp.gmail.com

我正在使用 PHPMailer 和 smtp.gmail.com 向我的用户发送电子邮件。 电子邮件已发送,没问题,但在客户端,在发件人电子邮件地址中,显示的是我的服务器主机电子邮件地址,而不是我使用 PHPMailer->SetFrom() 设置的电子邮件地址。 我想将我的电子邮件地址设置为发件人电子邮件。 我正在使用 php 5.4 & PHPMailer 5.2.4 我的代码如下:

<?php 
    require_once('class.phpmailer.php');
    $mail = new PHPMailer(true); 


    try {
      $mail->SMTPDebug  = 2;
      $mail->SMTPAuth   = true;                  
      $mail->SMTPSecure = "ssl";                 
      $mail->Host       = "smtp.gmail.com";      
      $mail->Port       = 465;                   
      $mail->Username   = "myemail@gmail.com";  
      $mail->Password   = "PASSWORD";

      $mail->AddAddress('receiver@email.com', 'John Doe');
      $mail->SetFrom('myemail@email.com', 'My Name');

      $mail->addReplyTo('myemail@gmail.com', 'My Name');
      $mail->Subject = 'PHPMailer Subject';

      $mail->MsgHTML('This is the body');
      $mail->Send();
      echo "Message Sent";

    } catch (phpmailerException $e) {
      echo $e->errorMessage();
    } catch (Exception $e) {
      echo $e->getMessage(); 
    }



?>

这是 gmail 的限制 - 它不允许您从地址中任意设置,但您可以在 gmail 首选项中设置固定别名。 这在 PHPMailer 文档中有介绍。 这也是一个合理的限制 - 否则您可能会伪造发件人地址。 如果您关心的是回复路由,您可以随时设置回复地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM