Bonjour,
J'ai créée une page d'envoi de mail (qui est appelé par un formulaire).
Voici la code :
<?php
ini_set('SMTP', 'nom_serveur_smtp');
$mail = 'mail_de_test@free.fr'; // Déclaration de l'adresse de destination.
$passage_ligne = "\n";
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
$message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
//=====Définition du sujet.
$sujet = "Hey mon ami!";
//=========
//=====Création du header de l'e-mail.
$header = "From: \"Came\"<monmail@xxxx.com>".$passage_ligne;
$header.= "Reply-to: \"Seb\" <monmail@xxxx.com>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
?>
Problème :
- lorsque j'exécute cette page en local avec le SMTP de Free (ini_set('SMTP', 'smtp.free.fr')) -> ça fonctionne
- lorsque j'exécute cette page hébergé sur mon FTP Free avec le SMTP de free (ini_set('SMTP', 'smtp.free.fr')) -> ça fonctionne
- lorsque j'exécute cette page hébergé sur mon FTP Free avec un autre SMTP (ini_set('SMTP', 'smtp.xxx.fr')) -> ça fonctionne
MAIS
- lorsque j'exécute cette page hébergé sur mon FTP OVH avec le SMTP de free (ini_set('SMTP', 'smtp.free.fr')) -> ça ne fonctionne pas (mail non reçu)
- lorsque j'exécute cette page en local avec un autre SMTP (ini_set('SMTP', 'smtp.xxx.fr')) -> ça ne fonctionne pas (Failed to connect to mailserver at "nom_serveur_smtp" port 25, verify your "SMTP"
(Note: si c'est un facteur qui peut jouer, mon FAI : Free)
et je ne comprend vraiment pas pourquoi ...
Quelqu'un a-t-il déjà rencontré ce genre de problème ?
Message édité par sebastien4444 le 09-06-2012 à 14:11:23