通过php邮件功能发送电子邮件转为垃圾邮件

Din*_*gar 30 php email-spam phpmailer

我在向收件箱(gmail帐户)发送邮件时遇到问题,但每次进入垃圾邮件文件夹时都会遇到问题.这是代码片段

     //$ticketDetail is array which contain required information to send.
       sendOwnershipEmail('dineshnagarscriet@gmail.com', $ticketDetail);

       function sendOwnershipEmail($email, $ticketDetail) {
            $param = new stdClass();


$param->content = "<div>
    <div><b>".$ticketDetail[0]['ticket_number']."</b></div><br/>
    <div><img src='".$ticketDetail[0]['image_path']."'/></div><br/>
    <div>Ticket with ticket number ".$ticketDetail[0]['ticket_number']." has been requested for tranfer from <div/>
    <div>".$ticketDetail[0]['oldDepartment']." to ".$ticketDetail[0]['newDepartment']." Department <div/>
  </div>";

            $param->sendTo = $email;
            $param->subject = "Request for Department transfer";

        sendMailFunction($param);
    }


    function sendMailFunction($param) {
            $to = $param->sendTo;
            $subject = $param->subject;
            $headers = 'MIME-Version: 1.0' . "\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
            $headers .= 'From: successive.testing@gmail.com' . "\r\n";
            $message = "<html><head>" .
                   "<meta http-equiv='Content-Language' content='en-us'>" .
                   "<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>" .
                   "</head><body>" .$param->content.        
                   "<br><br></body></html>";
          mail($to, $subject, $message, $headers);
    }
Run Code Online (Sandbox Code Playgroud)

我已经尝试过将标题设置为Reply-To,Return-Path等,但每次都是垃圾邮件.你能搞清楚问题是什么吗?

dog*_*ose 28

问题很简单,PHP-Mail功能没有使用配置良好的SMTP服务器.

现在,电子邮件客户端和服务器对发送服务器的电子邮件执行大量检查,如反向DNS查找,灰名单和whatevs.所有这些测试都将失败,使用php mail()函数.如果您使用的是动态IP,则更糟糕.

使用PHPMailer-Class并将其配置为使用smtp-auth以及配置良好的专用SMTP服务器(本地SMTP服务器或远程服务器),您的问题就消失了.

https://github.com/PHPMailer/PHPMailer


Fun*_*ner 17

尝试将标题更改为:

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: successive.testing@gmail.com" . "\r\n" .
"Reply-To: successive.testing@gmail.com" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
Run Code Online (Sandbox Code Playgroud)

原因有几个.

  • 其中一个是需要Reply-To和,

  • 使用撇号而不是双引号.根据我对表单的体验,这两件事通常会触发垃圾邮件框中的邮件.

您也可以尝试更改$from为:

$from = "successive.testing@gmail.com";
Run Code Online (Sandbox Code Playgroud)

编辑:

请参阅我在主题/sf/answers/699198111//sf/answers/1170235321//sf/answers/692988621/上找到的这些链接

/sf/answers/416090881//sf/answers/457262431/

  • 尝试使用ISP的SMTP服务器.

    使用这显然适用于许多人: X-MSMail-Priority: High

http://www.webhostingtalk.com/showthread.php?t=931932

"我的主机帮助我在我的域上启用DomainKeys和SPF记录,现在当我向我的Hotmail地址发送测试消息时,它不会在垃圾邮件中结束.实际上很容易在电子邮件身份验证下的cPanel中启用这些设置.我不敢相信我以前从未见过它.它只适用于使用phpmailer通过SMTP发送的方式.还有任何其他方式它仍被标记为垃圾邮件."

PHPmailer在hotmail中向垃圾邮件发送邮件.如何修复 http://pastebin.com/QdQUrfax


Pat*_*ick 5

如果您通过自己的邮件服务器发送此邮件,您可能需要添加一个“发件人”标头,其中包含来自您自己域的电子邮件地址。Gmail 可能会发送垃圾邮件,因为发件人地址是一个 Gmail 地址,但不是从他们自己的服务器发送的。


归档时间:

查看次数:

133032 次

最近记录:

7 年,2 月 前