首页 >后端开发 >php教程 >为什么我的 PHP `mail()` 函数电子邮件最终会进入垃圾邮件文件夹?

为什么我的 PHP `mail()` 函数电子邮件最终会进入垃圾邮件文件夹?

Barbara Streisand
Barbara Streisand原创
2024-12-06 10:04:12419浏览

Why are my PHP `mail()` function emails ending up in the spam folder?

PHP 上邮件函数将电子邮件发送到垃圾邮件的疑难解答

通过 PHP 的 mail() 函数发送电子邮件时,它们经常会进入垃圾邮件文件夹。要解决这个问题,我们必须了解根本问题。

解决这个问题的关键在于mail()函数没有使用配置良好的SMTP服务器。例如:

$ticketDetail is an array containing pertinent information for transmission.
sendOwnershipEmail('[email protected]', $ticketDetail);

function sendOwnershipEmail($email, $ticketDetail) {
    $param = new stdClass();
    
    $param->content = &quot;<div>
        <div><b>&quot;.$ticketDetail[0]['ticket_number'].&quot;</b></div><br/>
        <div><img src='&quot;.$ticketDetail[0]['image_path'].&quot;'/></div><br/>
        <div>Ticket with ticket number &quot;.$ticketDetail[0]['ticket_number'].&quot; has been requested for tranfer from <div/>
        <div>&quot;.$ticketDetail[0]['oldDepartment'].&quot; to &quot;.$ticketDetail[0]['newDepartment'].&quot; Department <div/>
      </div>&quot;;
    
    $param->sendTo = $email;
    $param->subject = &quot;Request for Department transfer&quot;;
    
    sendMailFunction($param);
}

function sendMailFunction($param) {
        $to = $param->sendTo;
        $subject = $param->subject;
        $headers = 'MIME-Version: 1.0' . &quot;\r\n&quot;;
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . &quot;\r\n&quot;;
        $headers .= 'From: [email&#160;protected]' . &quot;\r\n&quot;;
        $message = &quot;<html><head>&quot; .
               &quot;<meta http-equiv='Content-Language' content='en-us'>&quot; .
               &quot;<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>&quot; .
               &quot;</head><body>&quot; .$param->content.       
               &quot;<br><br></body></html>&quot;;
    mail($to, $subject, $message, $headers);
}

解决方案

SMTP 服务器:PHP 的 mail() 函数依赖于服务器来发送电子邮件,该服务器可能没有正确配置。使用 PHPMailer 并将其配置为与专用 SMTP 服务器结合使用 SMTP 身份验证将缓解此问题。

PHPMailer 库:PHPMailer 库是一个专门用于发送电子邮件的开源 PHP 库。它提供各种功能,包括处理 SMTP 身份验证。将 PHPMailer 与您的代码集成将使您能够配置专用的 SMTP 服务器,这将解决该问题。

以上是为什么我的 PHP `mail()` 函数电子邮件最终会进入垃圾邮件文件夹?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn