Pb avec la fonction mail() php
Résolu/Fermé
AmeryCourtz
Messages postés
94
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 juin 2012
-
25 juil. 2009 à 13:01
AmeryCourtz Messages postés 94 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 juin 2012 - 31 juil. 2009 à 10:31
AmeryCourtz Messages postés 94 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 juin 2012 - 31 juil. 2009 à 10:31
A voir également:
- Pb avec la fonction mail() php
- Yahoo mail - Accueil - Mail
- Fonction si et - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Thunderbird mail - Télécharger - Mail
8 réponses
AmeryCourtz
Messages postés
94
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 juin 2012
18
28 juil. 2009 à 09:48
28 juil. 2009 à 09:48
Le soucis c'est que même en gardant les paramètres localhost cela ne fonctionne pas. Mais je réessaierais merci ^^.
En même temps la syntaxe de la function mail() me perturbe, je suis habitué a C# et le passage des paramètres smtp comme le nom du compte et le code de connexion. Je suis surpris qu'en php il n'y est pas de verification de la sorte pour pouvoir l'utiliser.
En même temps la syntaxe de la function mail() me perturbe, je suis habitué a C# et le passage des paramètres smtp comme le nom du compte et le code de connexion. Je suis surpris qu'en php il n'y est pas de verification de la sorte pour pouvoir l'utiliser.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 juil. 2009 à 10:27
28 juil. 2009 à 10:27
if(mail("adresse@mail.com","Confirmation d'inscription" , $Corps , "Content-type: text/html"))
il faut une fonction de la forme :
mail($destinataire,$sujet,$corps,$headers)
et pour le $headers "Content-type: text/html" ne suffit pas il faut From:..... ReturnPath...
etc.. vas voir sur G... comment faire
De plus orange ne permet plus les envois par smtp via le compte sans authetification. Il y a une class pour ça vas voir je crois que c'est phpMailer
il faut une fonction de la forme :
mail($destinataire,$sujet,$corps,$headers)
et pour le $headers "Content-type: text/html" ne suffit pas il faut From:..... ReturnPath...
etc.. vas voir sur G... comment faire
De plus orange ne permet plus les envois par smtp via le compte sans authetification. Il y a une class pour ça vas voir je crois que c'est phpMailer
AmeryCourtz
Messages postés
94
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 juin 2012
18
28 juil. 2009 à 17:06
28 juil. 2009 à 17:06
Oui justement , mais je voulais éviter d'avoir a utiliser phpmailer justement. Bon enfin je vois je réessaierait quand j'y reviendrait avant de le mettre sur server.
je modifierait la forme de la fonction mail() aussi, merci ;)
je modifierait la forme de la fonction mail() aussi, merci ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
AmeryCourtz
Messages postés
94
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 juin 2012
18
30 juil. 2009 à 13:44
30 juil. 2009 à 13:44
Bonjours tout le monde.
Bon j'ai beau simplifier au maximum il n'y a pas moyen.
Voici mon code :
Mon message de retour :
Si je comprend bien le message d'erreur il faut que je passe les paramètres d'authentification, mais comment et où ?? Dans le header ?
Est-ce que le probleme vient du fait que je travail en local sur wampserver ?
-Si c'est le cas comment le faire marcher en local ?
Bon j'ai beau simplifier au maximum il n'y a pas moyen.
Voici mon code :
//Configuration du smtp ini_set (("SMTP"), ("smtp-msa.orange.fr")); ini_set (("smtp_port"), ("587")); ini_set (("sendmail_from"), ("***@orange.fr")); $Mail = "***@orange.fr"; $Corps = "Essai messages"; $Objet = "Oublie donnees"; mail($Mail, $Objet, $Corps);
Mon message de retour :
Warning: mail() [function.mail]: SMTP server response: 554 5.7.1 <***@orange.fr>: Recipient address rejected: Missing Authentication in C:\wamp\www\AnnoncePneuBoat\Corps\Function\PHP\Mail\Compte_FunctionsMailCompte.php on line 77
Si je comprend bien le message d'erreur il faut que je passe les paramètres d'authentification, mais comment et où ?? Dans le header ?
Est-ce que le probleme vient du fait que je travail en local sur wampserver ?
-Si c'est le cas comment le faire marcher en local ?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
30 juil. 2009 à 14:00
30 juil. 2009 à 14:00
mail($Mail, $Objet, $Corps);
déja la il te manque le $header avec from: return_path: etc...
ensuite ton message d'erreur:
SMTP server response: 554 5.7.1 <***@orange.fr>: Recipient address rejected: Missing Authentication te dit que l'authentification a échoué, donc comme je te le disait si tu es avec wampserver en local, tu vas utiliser le SMTP de orange pour atteindre le serveur de messagerie d'orange, et depuis qqs temps pour éviter l'envoi de spam qui passait ainsi, ils ont bloqué et n'autorisent cette possibilité que après authentification. (c'est à dire réservé aux clients d'orange bien identifiés)
Perso j'ai été obligé de passer par Phpmailer qui est une classe implémentant cette authentification, c'est juste un peu plus long.
déja la il te manque le $header avec from: return_path: etc...
ensuite ton message d'erreur:
SMTP server response: 554 5.7.1 <***@orange.fr>: Recipient address rejected: Missing Authentication te dit que l'authentification a échoué, donc comme je te le disait si tu es avec wampserver en local, tu vas utiliser le SMTP de orange pour atteindre le serveur de messagerie d'orange, et depuis qqs temps pour éviter l'envoi de spam qui passait ainsi, ils ont bloqué et n'autorisent cette possibilité que après authentification. (c'est à dire réservé aux clients d'orange bien identifiés)
Perso j'ai été obligé de passer par Phpmailer qui est une classe implémentant cette authentification, c'est juste un peu plus long.
AmeryCourtz
Messages postés
94
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 juin 2012
18
30 juil. 2009 à 14:09
30 juil. 2009 à 14:09
Moui, et suis-je obliger d'utiliser orange ou non. Enfin ma question c'est : Ayant une box orange dois-je passer obligatoirement par orange ? Normalement oui, non ?
Ensuite pour l'authentification je vais ressortir phpMailer en espérant que sa passe mieux et que l'authentification se fasse comme il faut. Aie que je regrette C# dans des cas comme celui-là.
Il n'y a pas d'autre moyen pour l'authentification ?
Ensuite pour l'authentification je vais ressortir phpMailer en espérant que sa passe mieux et que l'authentification se fasse comme il faut. Aie que je regrette C# dans des cas comme celui-là.
Il n'y a pas d'autre moyen pour l'authentification ?
AmeryCourtz
Messages postés
94
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 juin 2012
18
31 juil. 2009 à 10:31
31 juil. 2009 à 10:31
Salut à tous,
Sa y est le problème est résolu en passant par wanadoo. Bizarement j'essayer de passer sur orange vu qu'on était censé être sur leur FAI "d'aprés un collègue" :S
Bref voici le code d'une de mes fonction en utilisant phpmailer-1.71.zip :
Merci à tous et surtout à Alain_42 ^^.
EDIT : Le "require" qui appel phpmailer est dans mon index, c'est pour ça qu'il n'est pas présent dans la fonction, mais "A ne pas oublié" ^^
Sa y est le problème est résolu en passant par wanadoo. Bizarement j'essayer de passer sur orange vu qu'on était censé être sur leur FAI "d'aprés un collègue" :S
Bref voici le code d'une de mes fonction en utilisant phpmailer-1.71.zip :
//Fonction d'envoi d'un mail avec les paramètres oublié function MailEnvoiDonnee($Mail, $Login){ $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->IsHTML(true); $mail->Host = "smtp.wanadoo.fr"; // SMTP server $mail->Port = 25; //From d'où on envoi le mail $mail->From = "****@gmail.com"; $mail->AddAddress($Mail); $mail->Subject = "Vos coordonnées de connection"; $mail->Body = '<html><body><head><style></style></head>'; $mail->Body .= "Bonjour,"; $mail->Body .= "<br/>"; $mail->Body .= "Voici les coordonnées de connection de votre compte :"; $mail->Body .= "<br/>"; $mail->Body .= "<br/>"; $mail->Body .= "Adresse Email : "; $mail->Body .= $Mail; $mail->Body .= "<br/>"; $mail->Body .= "Mot de passe : "; $mail->Body .= $Login; $mail->Body .= "<br/>"; $mail->Body .= "<br/>"; $mail->Body .= "En espérant vous revoir bientôt sur ****.com."; $mail->Body.='</body></html>'; if(!$mail->Send()){ return false; } else{ return true; }
Merci à tous et surtout à Alain_42 ^^.
EDIT : Le "require" qui appel phpmailer est dans mon index, c'est pour ça qu'il n'est pas présent dans la fonction, mais "A ne pas oublié" ^^