|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
![]() Date d'inscription: octobre 2003
Localisation: Yavin IV
Messages: 5 355
|
Salut à tous
Je suis en train de créer un site pour un ami qui envoie des mails autos lorsqu'un visiteur écrit un message. J'utilise la fonction mail() de php mais je rencontre quelques soucis:
Voici le code: Code :
function SendMail() {
$destinataire='unmail@gmail.com';
$email_expediteur='no-reply@monsite.com';
$email_reply='no-reply@monsite.com';
$sujet = 'Un nouveau message!!';
$message_texte = 'Test';
$message_html = 'Ceci est un <b>Test</b>';
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '_' . md5(uniqid(mt_rand())) . '_';
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "Service messages" <'.$email_expediteur.'>'."\n";
$headers .= 'Return-Path: '.$email_reply."\n";
$headers .= 'Reply-To: '.$email_reply."\n";
$headers .= 'X-Sender: www.monsite.com'."\n";
$headers .= 'X-mailer: php'."\n";
$headers .= 'Importance: Normal'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/alternative;'."\n";
$headers .= ' boundary="'.$frontiere.'"'."\n";
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: quoted-printable'."\n\n";
$message .= $message_texte."\n\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: quoted-printable'."\n\n";
$message .= $message_html."\n\n";
$message .= '--'.$frontiere."\n";
if(mail($destinataire, $sujet, $message, $headers))
{
return 1;
}
else
{
return 0;
}
}
Bref, j'ai beau retourner le problème dans tous les sens, comparer avec d'autres mails mais je ne trouve pas. D'ailleurs, dans cette source, il y a pas mal de "restes" de mes tests Je débute donc soyez indulgents Merci d'avance
__________________
Pedro Aucune réponse aux sollicitations techniques par MP Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane) Les pages Source C'est bon. Mangez-en! Le défi Delphi Règles du forum - FAQ Delphi - Pensez au chtit ![]() Le site de mon frangin |
|
|
|
|
#2 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: juin 2006
Messages: 418
|
Salut,
Pour le truc du détail j'avoue que je ne sais pas et d'ailleurs je serais preneur d'une solution... Mais je ne trouve pas ça aberrent de connaitre l'adresse du serveur d'envoi pour les destinataires (si il veut faire un controle sans forcement ouvrir le mail en emp...) pour le code qui marche sur gmail moi j'utilise : Code :
function EnvoieEmail($O, $Nom,$Prenom, $Message, $Email) { // Le destinataire du mail $destinataire = "moi@monsite.fr"; // objet du mail $objet = $O; $mail_html = 'MIME-Version: 1.0' . "\n"; $mail_html .= 'Content-type: text/html; charset=iso-8859-1' . "\n"; $mail_html .= "From:$Email" . "\n"; $Msg="coucou : ".$Nom." ".$Prenom." <br/>".$Message; // on envoit le mail return mail($destinataire, $objet, $Msg, $mail_html); } //tu peux faire une verif de l'adresse avec function VerifEmail($adresse) { $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#'; if(preg_match($Syntaxe,$adresse)) return true; else return false; } |
|
|
|
|
|
#3 (permalink) | ||
![]() Date d'inscription: octobre 2003
Localisation: Yavin IV
Messages: 5 355
|
Merci pour ta réponse
Citation:
Citation:
Je m'en vais tester sans toutes les fioritures que j'ai mises. C'est vrai ça! C'est quoi c'est gens qui dev à 2h30 du mat'
__________________
Pedro Aucune réponse aux sollicitations techniques par MP Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane) Les pages Source C'est bon. Mangez-en! Le défi Delphi Règles du forum - FAQ Delphi - Pensez au chtit ![]() Le site de mon frangin |
||
|
|
|
|
#4 (permalink) |
![]() Date d'inscription: octobre 2003
Localisation: Yavin IV
Messages: 5 355
|
Le premier problème est résolu
Par contre, le second reste en suspens...
__________________
Pedro Aucune réponse aux sollicitations techniques par MP Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane) Les pages Source C'est bon. Mangez-en! Le défi Delphi Règles du forum - FAQ Delphi - Pensez au chtit ![]() Le site de mon frangin |
|
|
|
|
#5 (permalink) |
![]() Date d'inscription: octobre 2008
Localisation: Paris
Messages: 590
|
La fin de ton mail n'est pas conforme à la norme MIME car il manque deux tirets après la fin de la dernière partie (part). C'est comme ça qu'on indique que le multipart est terminé, voir la RFC2046 pour référence, et apparemment cette petite entorse à la norme ne plait pas du tout à gmail.
Pour la ligne "envoyé par" affichée par le webmail, il s'agit d'une info disant que l'expéditeur a été authentifié et tu ne peux probablement rien y changer à la source du message sauf si tu utilises ton propre serveur de mail, c'est une mesure d'antispam/antiphishing mise en oeuvre par google. |
|
|
|
|
|
#6 (permalink) | ||
![]() Date d'inscription: octobre 2003
Localisation: Yavin IV
Messages: 5 355
|
Citation:
Citation:
Merci beaucoup
__________________
Pedro Aucune réponse aux sollicitations techniques par MP Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane) Les pages Source C'est bon. Mangez-en! Le défi Delphi Règles du forum - FAQ Delphi - Pensez au chtit ![]() Le site de mon frangin |
||
|
|
|
|
![]() |
||
Problème d'envoi de mail vers boite gmail
|
||
| Outils de la discussion | |
|
|