2011-08-26 8 views
1

J'essaye d'envoyer un email avec PHP mais j'obtiens une erreur bizarre.PHP Email Au numéro HTML

Dans le PHP J'ai:

<?php 

mail($email_to, $email_subject, $headers, $message); 

$email_to = '[email protected]'; 

$email_subject = 'Hello World'; 

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

$message = '<html><body>'; 
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">'; 
$message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['test1']) . "</td></tr>"; 
$message .= "<tr><td><strong>Message:</strong> </td><td>" . strip_tags($_POST['test2']) . "</td></tr>"; 
$message .= "</table>"; 
$message .= '</body></html>'; 

    if(mail($email_to, $email_subject, $headers, $message)){ 
     echo 'sent';  
    }else{ 
     echo 'failed'; 
    } 
?> 

Avec ce que je reçois comme un texte brut:

<html><body><table rules="all" style="border-color: #666;" cellpadding="10"><tr><td> 
<strong>Email:</strong> </td><td>[email protected]</td></tr><tr><td> 
<strong>Message:</strong> </td><td>hello world</td></tr></table></body></html> 

From: [email protected] 
MIME-Version: 1.0 
Content-Type: text/html; charset=ISO-8859-1 

Quelqu'un peut-il repérer ce que je suis-je tort? J'ai testé cela sur 2 serveurs différents avec les mêmes résultats.

Répondre

1

Vous avez mélangé la position des en-têtes $ message et $. Essayez plutôt mail($email_to, $email_subject, $message, $headers)

http://php.net/manual/en/function.mail.php

+0

Il ne fait aucune différence. – jQuerybeast

+0

Vous mettez cela dans votre code à droite, à l'intérieur de l'instruction if? L'appel a-t-il réussi? Avez-vous reçu une réponse de 'envoyé'? – arunkumar

+0

Merci ... Trouvé une autre petite erreur, mais c'était tout. – jQuerybeast

2

Il devrait être

if(mail($email_to, $email_subject, $message, $headers)){ ... 

Vous avez $ message et les en-têtes $ dans le mauvais ordre.