Fonction mail() PHP
Résolu
lerod83
Messages postés
69
Statut
Membre
-
rxdt -
rxdt -
Bonjour,
J'ai un formulaire de contact qui sert à poster un message d'un utilisateur a l'administrateur du site:
Formulaire:
Script du fonction mail():
Et Voici le probleme:
Si un utilisateur entre un adresse sonemail@gmail.com, tout va bien, mais en essayant avec un son email@yahoo.fr, on recoit rien dans n*********@gmail.com
Un autre aussi.
Envoie automatique d'un email de validation d'une inscription à l'utilisateur, la balise <a href="lien">à cliquer</a> ne s'applique pas sur gmail mais marche bien sur yahoo. Je fais de teste seulement avec gmail et yahoo!!
Voici le script:
J'en ai déjà concocté sur quelques jours mais aucun résultat. Je vous demande de m'aider s'il vous plait!
Lerod
EDIT : Suppression des informations personnelles + ajout des balises de code.
J'ai un formulaire de contact qui sert à poster un message d'un utilisateur a l'administrateur du site:
Formulaire:
<form action="" method="POST" id="form-ctc"> <input type="text" placeholder="Objet" name="objet-ctc" id="input-ctc"/> <textarea type="text" name="msg-ctc"placeholder="Votre message" required></textarea> <input type="text" placeholder="Votre nom" name="nom-ctc" id="input-ctc" required/> <input type="email" placeholder="Adresse email" name="mail-ctc" id="input-ctc" required/> <input type="submit" name="sub-ctc" id="sub-ctc" value="Envoyer"/> </form>
Script du fonction mail():
$mail = $_POST["mail-ctc"];
$headers = "From:".$mail. "\r\n" .
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "CC:".$mail. "\r\n";
$to = "*****@gmail.com";
$subject = $_POST["objet-ctc"];
$nom = $_POST["nom-ctc"];
$msg = $_POST["msg-ctc"];
$preMsg=str_replace("\n","<br/>",$msg);
$message =
"<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>".$preMsg."</p>
<p>".$nom."</p>
</body>
</html>
";
$mailTo=mail($to,$subject,$message,$headers);
Et Voici le probleme:
Si un utilisateur entre un adresse sonemail@gmail.com, tout va bien, mais en essayant avec un son email@yahoo.fr, on recoit rien dans n*********@gmail.com
Un autre aussi.
Envoie automatique d'un email de validation d'une inscription à l'utilisateur, la balise <a href="lien">à cliquer</a> ne s'applique pas sur gmail mais marche bien sur yahoo. Je fais de teste seulement avec gmail et yahoo!!
Voici le script:
$headers = "From:ndebazar@gmail.com". "\r\n" .
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "CC: admin@********r.com". "\r\n";
$to = $mailUtilisateur;
$subject = 'Validation d\'inscription';
$message = "
<html>
<head>
<title>Email</title>
</head>
<body>
<div style='color:#222;'>
<h2 style='color:#F70;'>Validations d\'inscription</h2>
<p style='color:#222;'>
Bonjour,</p>
<p style='color:#222;'>
Ce courriel vous est envoyé afin de vérifier que l’adresse e-mail que vous avez fournie est réelle.<br/>
Tout ce qu’il vous reste à faire est de
<a style='color:#blue;text-decoration:underline;' href='http://www.********.com/users.php?r=act-validation&ia=".$validation." '>cliquer ici</a> pour terminer votre inscription.
</p><br />
<p style='color:#222;'>
Si le lien ne marche pas, veuillez copier/coller l'URL suivant sur la barre d'adresse de votre navigateur: </p>
<span style='text-decoration:underline;font-style:italic;color:blue;'>
[http://www.*********r.com/users.php?r=act-validation&ia=]".$validation."
</span>
<p style='color:#222;'> A bientôt</p>
</div>
</body>
</html>
";
J'en ai déjà concocté sur quelques jours mais aucun résultat. Je vous demande de m'aider s'il vous plait!
Lerod
EDIT : Suppression des informations personnelles + ajout des balises de code.
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
1 réponse
-
Bonjour,
quasiment impossible que toutes les boîtes mail affichent HTML comme un navigateur. La raison est simple, en plus que le service mail n'est pas fait pour ça (et sont 2 services d'Internet différents) c'est pour la sécurité des utilisateurs et leur boîtes mails. Chacun va faire ses normes et blocages:
Mais il y a le type MIME correspondant qui permet d'aider un peu.
Sinon des trucs et astuces plus ou moins fiable et tester sur chaque BAL.
http://stackoverflow.com/questions/3820631/using-php-mail-setting-correct-mime-type