【问题标题】:Send email using live server SMTP server through PHP Mailer not working通过 PHP Mailer 使用实时服务器 SMTP 服务器发送电子邮件不起作用
【发布时间】:2018-05-14 09:11:40
【问题描述】:

我正在使用 PHPMailer v6 并尝试从共享服务器电子邮件发送邮件。 我的代码:

require_once "vendor/autoload.php";
$mail = new PHPMailer;
$mail->SMTPDebug = 3;                               
$mail->isSMTP();                                     
$mail->Host = 'cp-ht-1.webhostbox.net';
$mail->SMTPAuth = true;                               
$mail->Username = 'info@gitanjaliadvertising.com'; 
$mail->Password = "**********";                           
$mail->SMTPSecure = "ssl";                           
$mail->Port = 465;                                   
$mail->From = "abc@gmail.com";
$mail->FromName = "Full Name";
$mail->addAddress("xyz@gmail.com", "Recepient Name");
$mail->isHTML(true);
$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";
if(!$mail->send()) 
{
echo "Mailer Error: " . $mail->ErrorInfo;
} 
else 
{
echo "Message has been sent successfully";
}

如果我运行该页面,它会显示成功消息,但我的收件箱中没有任何邮件。 在调试时我得到了:

CLIENT: 250 Message denied for spoofing attempt via SMTP Auth

如果我使用我的 gmail 详细信息,那么它工作正常,但不知道服务器邮件详细信息有什么问题。我搜索了很多文章,但没有得到任何解决方案。有人说删除以下行但它不起作用..

$mail->isSMTP();

请帮忙

【问题讨论】:

    标签: php phpmailer


    【解决方案1】:

    正如错误所表明的那样,您正在尝试进行电子邮件欺骗。

    CLIENT: 250 Message denied for spoofing attempt via SMTP Auth
    

    有关电子邮件欺骗的更多信息:

    电子邮件欺骗是对电子邮件标头的伪造,以使邮件看起来来自某人或其他地方,而不是实际来源。电子邮件欺骗是网络钓鱼和垃圾邮件活动中使用的一种策略,因为当人们认为电子邮件是由合法来源发送时,他们更有可能打开电子邮件。

    解决方案: 正如我在您的代码中看到的,您已将 $mail-&gt;From 设置为 gmail 帐户。它不属于您的域,最终会失败。

    $mail-&gt;SetFrom = "abc@gmail.com"; 更改为$mail-&gt;SetFrom = "info@gitanjaliadvertising.com";

    如果您想回复到“abc@gmail.com”,可以添加回复到“abc@gmail.com”

    谢谢。

    【讨论】:

      【解决方案2】:

      您可以使用以下代码和库。我想这会解决你的问题。

      包括(class.phpmailer.php);
      $mail = 新的 PHPMailer(); // 创建一个新对象
      $mail->IsSMTP(); // 使能够 SMTP
      $mail->SMTPDebug = 0; // 调试:1 = 错误和 消息,2 = 仅消息
      $mail->SMTPAuth = true; // 启用身份验证
      $mail->SMTPSecure = 'ssl'; // 安全的 GMail
      $mail->Host = 需要启用传输 'smtp.gmail.com';
      $mail->端口 = 465;
      $mail->用户名 = 'xxxxxx@gmail.com';
      $mail->密码 = '邮件密码';

      $mail->SetFrom('xxxxx@gmail.com');
      $mail->Subject = '帐号 激活';
      $mail->Body = '测试';
      $mail->Body .= '点击 在这里激活';
      $mail->AddAddress("xxxx@gmail.com');
      if(!$mail->Send()){
      echo 'Mailer error: ' . $mail->错误信息;
      }else{
      echo '消息已发送。';
      }
      ?>

      你可以在这个url中获取库文件

      https://github.com/mktomanikandan/phpmailer

      【讨论】:

        猜你喜欢
        • 2014-10-28
        • 2018-10-17
        • 2014-10-27
        • 2013-10-28
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        相关资源
        最近更新 更多