2016-06-02 19 views
0

Ich habe dieses Skript, um E-Mail an einen Benutzer bei der Registrierung zu senden. Das Problem ist, dass es an jeden E-Mail-Client außer AOL sendet. Dies ist ein Problem, da meine Kunden und ihre Kunden hauptsächlich AOL Email verwenden. Stimmt etwas mit meinem Code nicht oder gibt es einen Workaround? Danke im Voraus.PHP E-Mail sendet nicht an AOL

$ to = $ EMSPosted_s; $ subject = "Bestätigung der Bestellung";

$message = " 
<html> 
<head> 
<title>Confirmation of Order</title> 
    </head> 
     <body> 
<h1>Welcome to your Here To Thrive Course!</h1> 
<h2>Hi ".$UNSPosted_s."</h2> 
    <h3>Thank you for purchasing the Here To Thrive course from x</h3> 

<h5>Many thanks</h5> 

<h4>Louise</h4> 

    <p>www.louiselloyd.life</p> 
</body> 
    </html>"; 

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 


$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

    mail($to,$subject,$message,$headers); 

    ?> 

Antwort

0

PHP-Standard mail() Funktion funktioniert nicht die meisten der Zeit, vor allem mit GMail oder mit AOL, wie in Ihrem Fall. Dies liegt daran, dass Ihre E-Mail-Nachrichten auf eine bestimmte Weise formatiert werden müssen, damit sie von bestimmten Mail-Servern akzeptiert werden können. Sie werden besser eine Mail-Bibliothek wie PHPMailer verwenden. mit PHPMailer von einem GMail Konto

Hier ist, wie eine E-Mail zu senden.

$mail = new PHPMailer(); 

    // ---------- adjust these lines --------------------------------------- 
    $mail->Username = "[email protected]"; // your GMail user name 
    $mail->Password = "passwd"; // your GMail Password 
    $mail->AddAddress("[email protected]"); // recipients email 
    $mail->FromName = "Your Name"; // readable name 

    $mail->Subject = "Subject"; 
    $mail->Body = "Body"; 

    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; // or 587 
    $mail->IsSMTP(); // use SMTP 
    $mail->SMTPAuth = true; // turn on SMTP authentication 
    $mail->From = $mail->Username; 

    //---------------------------------------------------------------------- 

    if(!$mail->Send()) 
    { 
     echo "mail sent"; 
    } 
0

Sehr wahrscheinlich IP-Reputation Problem bei AOL. Außerdem sollten Sie die SMTP-Authentifizierung verwenden, um E-Mails über ein Skript zu senden. Wenn Sie einen Sprung von AOL erhalten, sollten Sie Hilfe von ihrer Website erhalten.

Für SMTP-Skript, stellen Sie sicher, dass Sie Setup SPF, DKIM, DMARC usw. für die Domäne haben, die für die Authentifizierung verwendet wird.

0

Versuchen Sie diese Code-Header, die Sie nicht richtig schreiben.

$headers .= "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 


$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

    mail($to,$subject,$message,$headers); 

    ?>