通过PHP Mailer无法正常使用实时服务器SMTP服务器发送电子邮件

时间:2017-11-30 12:26:23

标签: php phpmailer

我正在使用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";
}

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

  

客户端:250通过SMTP身份验证拒绝欺骗尝试的消息

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

  

$ MAIL-&GT; isSMTP();

请帮助

2 个答案:

答案 0 :(得分:4)

由于错误明确表示您正在尝试进行电子邮件欺骗。

CLIENT: 250 Message denied for spoofing attempt via SMTP Auth

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

电子邮件欺骗是伪造电子邮件标题,因此邮件似乎来自某人或某个实际来源以外的其他地方。电子邮件欺骗是一种用于网络钓鱼和垃圾邮件活动的策略,因为当人们认为电子邮件是由合法来源发送时,他们更有可能打开电子邮件。

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

$mail->From = "abc@gmail.com";更改为$mail->From = "info@gitanjaliadvertising.com";

您可以将回复添加到&#34; abc@gmail.com"如果你想回复,请转到&#34; abc@gmail.com"

感谢。

答案 1 :(得分:0)

您可以使用以下代码和库。我认为这将解决你的问题。

  

include(class.phpmailer.php);
$ mail = new   PHPMailer的(); //创建一个新对象
$ mail-&gt; IsSMTP(); //启用   SMTP
$ mail-&gt; SMTPDebug = 0; //调试:1 =错误和   消息,2 =仅消息
$ mail-&gt; SMTPAuth = true; //   启用身份验证
$ mail-&gt; SMTPSecure =&#39; ssl&#39 ;; //安全   GMail需要转移启用了$ mail-&gt; Host =   &#39; smtp.gmail.com&#39;;
$ mail-&gt;端口= 465;
$ mail-&gt;用户名=   &#39; xxxxxx@gmail.com' ;;
$ mail-&gt;密码=&#39; mailpassword&#39 ;;

  $ mail-&gt; SetFrom(&#39; xxxxx@gmail.com');
$ mail-&gt; Subject =&#39;帐户   激活&#39;; $ $ mail-&gt;正文=&#39;测试&#39 ;;
$ mail-&gt;正文。=&#39;点击   这里激活&#39;;
$ mail-&gt; AddAddress(&#34; xxxx@gmail.com');
  if(!$ mail-&gt; Send()){
echo&#39; Mailer error:&#39; 。 $ MAIL-&GT; ERRORINFO;   
}其他{
echo&#39;消息已发送。&#39 ;;
}&gt;

您可以在此网址中获取库文件

https://github.com/mktomanikandan/phpmailer