2010-05-29 6 views
0

J'ai écrit un code pour envoyer le courrier sur yahoo ou gmail.Mail envoie sur gmail mais je ne vois aucun message dans le courrier de yahoo. Et dans Gmail, je vois tout le contenu html avec un message. voici mon code ...la fonction de courrier ne fonctionne pas pour l'ID de courrier de yahoo

  $headers = "From: \"".$from_name."\" <".$from_email.">\n"; 
    $headers .= "To: \"".$to_name."\" <".$to_email.">\n"; 
    $headers .= "Return-Path: <".$from_email.">\n"; 
    $headers .= "MIME-Version: 1.0\n"; 
    $headers .= "Content-Type: text/HTML; charset=ISO-8859-1\n"; 

          // message 
      $message = ' 
      <html> 
      <head> 
       <title>Registration</title> 
      </head> 
      <body>    
       <table><tr> 
        <td> <a href="#'> Click Here To Activate Your account</a> 
        Thanks To visit site.com 
        </td> 
       </tr> 
       </table> 
      </body> 
      </html>'; 

      if(mail('', $subject, $message, $headers)) 
       echo "successfully register !! please check your mail and clik on confirmation link"; 
+0

Bienvenue chez SO. Veuillez spécifier ce que vous essayez d'envoyer de quel serveur, et surtout ce que vous utilisez comme 'from_email'. –

Répondre

0
$to = $to_email; 
    $headers = "From: \"".$from_name."\" <".$from_email.">\n"; 
    $headers .= "To: \"".$to_name."\" <".$to_email.">\n"; 
    $headers .= "Return-Path: <".$from_email.">\n"; 
    $headers .= "MIME-Version: 1.0\n"; 
    $headers .= "Content-Type: text/HTML; charset=ISO-8859-1\n"; 

$message = <<<EOD 
<html> 
      <head> 
       <title>Registration</title> 
      </head> 
      <body>    
       <table><tr> 
        <td> <a href="#'> Click Here To Activate Your account</a> 
        Thanks To visit site.com 
        </td> 
       </tr> 
       </table> 
      </body> 
      </html> 
EOD; 

if(mail($to, $subject, $message, $headers)) 
       echo "successfully register !! please check your mail and clik on confirmation link"; 

essayer ceci à la place de votre chaîne de message

0

Vous pouvez utiliser quelque chose comme PHPMailer au lieu d'essayer de construire un message MIME vous. Il cache tout le travail laide de la définition des en-têtes et autres joyeusetés, et tout ce que vous faites est de fournir le contenu.

Et dans tous les cas, en supposant que vous avez correctement construit le courrier, avez-vous vérifié le journal sortant de votre serveur de messagerie pour voir si le message tente même d'atteindre l'échangeur de messagerie de Yahoo? Juste parce que la fonction mail() en PHP a réussi ne signifie pas que l'email a jamais sorti votre porte d'entrée. Yahoo peut avoir rejeté en raison d'un en-tête mal formé ou manquant.

Questions connexes