首頁 >後端開發 >php教程 >為什麼我的 PHP `mail()` 函數電子郵件最終會進入垃圾郵件資料夾?

為什麼我的 PHP `mail()` 函數電子郵件最終會進入垃圾郵件資料夾?

Barbara Streisand
Barbara Streisand原創
2024-12-06 10:04:12420瀏覽

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

PHP 上郵件函數將電子郵件傳送到垃圾郵件的疑難排解

透過PHP 的郵件() 函數傳送電子郵件時,它們經常會進入垃圾郵件資料夾。要解決這個問題,我們必須了解根本問題。

解決這個問題的關鍵在於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