Heim > Backend-Entwicklung > PHP-Tutorial > Warum landen die E-Mails meiner PHP-Funktion „mail()' im Spam-Ordner?

Warum landen die E-Mails meiner PHP-Funktion „mail()' im Spam-Ordner?

Barbara Streisand
Freigeben: 2024-12-06 10:04:12
Original
411 Leute haben es durchsucht

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

Fehlerbehebung beim Senden von E-Mails an Spam in PHP mit der Mail-Funktion

Beim Versenden von E-Mails über die Funktion mail() von PHP landen diese häufig im Spam Ordner. Um dieses Problem zu lösen, müssen wir das zugrunde liegende Problem verstehen.

Der Schlüssel zur Lösung dieses Problems liegt in der Tatsache, dass die Funktion mail() keinen gut konfigurierten SMTP-Server verwendet. Zum Beispiel:

$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);
}
Nach dem Login kopieren

Lösung

SMTP-Server: Die mail()-Funktion von PHP verlässt sich zum Senden von E-Mails auf einen Server, der möglicherweise nicht richtig konfiguriert ist. Durch die Verwendung von PHPMailer und die Konfiguration für die Verwendung der SMTP-Authentifizierung in Verbindung mit einem dedizierten SMTP-Server wird dieses Problem behoben.

PHPMailer-Bibliothek: Die PHPMailer-Bibliothek ist eine Open-Source-PHP-Bibliothek, die speziell für den E-Mail-Versand entwickelt wurde. Es bietet verschiedene Funktionen, einschließlich der Handhabung der SMTP-Authentifizierung. Durch die Integration von PHPMailer in Ihren Code können Sie einen dedizierten SMTP-Server konfigurieren, der das Problem löst.

Das obige ist der detaillierte Inhalt vonWarum landen die E-Mails meiner PHP-Funktion „mail()' im Spam-Ordner?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage