Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah e-mel fungsi PHP `mail()` saya berakhir dalam folder spam?

Mengapakah e-mel fungsi PHP `mail()` saya berakhir dalam folder spam?

Barbara Streisand
Barbara Streisandasal
2024-12-06 10:04:12417semak imbas

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

Selesaikan masalah Fungsi Mel Menghantar E-mel ke Spam pada PHP

Apabila menghantar e-mel melalui fungsi mel() PHP, ia sering berakhir dalam spam folder. Untuk menyelesaikan isu ini, kita mesti memahami masalah asas.

Kunci untuk menyelesaikan isu ini terletak pada fakta bahawa fungsi mail() tidak menggunakan pelayan SMTP yang dikonfigurasikan dengan baik. Contohnya:

$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);
}

Penyelesaian

SMTP Server: Fungsi mel() PHP bergantung pada pelayan untuk menghantar e-mel, yang mungkin tidak dikonfigurasikan dengan sewajarnya. Menggunakan PHPMailer dan mengkonfigurasinya untuk menggunakan pengesahan SMTP bersama-sama dengan pelayan SMTP khusus akan mengurangkan isu ini.

Perpustakaan PHPMailer: Pustaka PHPMailer ialah perpustakaan PHP sumber terbuka yang direka khusus untuk menghantar e-mel. Ia menyediakan pelbagai ciri, termasuk pengendalian pengesahan SMTP. Mengintegrasikan PHPMailer dengan kod anda akan membolehkan anda mengkonfigurasi pelayan SMTP khusus, yang akan menyelesaikan isu tersebut.

Atas ialah kandungan terperinci Mengapakah e-mel fungsi PHP `mail()` saya berakhir dalam folder spam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn