Bonjour,

Je cherche à envoyé un message depuis un serveur windows en utilisant le smtp d'un serveur linux.
Le problème c'est que lorsque je souhait envoyer mon message j'ai le message d'erreur suivant :

SMTP server response: 501 could not parse your mail

Il semblerai que ce message soit dûe au paramètre de ma fonction mail. Mais je ne vois pas ce qui coince, surtout que ce même code fonctionne lorsque je souhaite envoyer un mail directement depuis le serveur linux.

Voici le code pour les plus courageux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $adresse_mail)) // On filtre les serveurs qui bugs
{
	$passage_ligne = "\r\n";
}
else
{
	$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML
$message_html="message html";
 
$message_txt="Message texte";
//==========
 
 
//=====Création de la boundary
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
//==========
 
//=====Définition du sujet
$sujet = "Test objet";
//=========
 
//=====Création du header de l'e-mail
$header = "From: <nom.prenom@gmail.com>".$passage_ligne;
$header.= "Reply-to: <prenom.nom@gmail.com>".$passage_ligne;
//$header.= "MIME-Version: 1.0".$passage_ligne;
//$header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//$header.= "Content-Transfert-Encoding: 8bit".$passage_ligne;
 
//==========
 
//=====Création du message
$message = $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne;
$message.= $passage_ligne."--".$boundary_alt.$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_alt.$passage_ligne;
 
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
 
$message.= $passage_ligne."--".$boundary_alt."--".$passage_ligne;
 
 
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Envoi de l'e-mail
mail("<prenom.nom@gmail.com>",$sujet,$message,$header);
Merci d'avance pour votre aide.

Sébastien.