Envoyer un mail préformarter depuis son site web.

Résolu/Fermé
Zick__barrimor Messages postés 62 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 18 septembre 2016 - 16 sept. 2016 à 10:50
Zick__barrimor Messages postés 62 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 18 septembre 2016 - 16 sept. 2016 à 19:21
Bonjour à tous,

Tout d'abord je tiens à préciser qu'avant de m'en aller sur des forums j'ai labouré durant de longues heures mon code, retravaillé et re-retravaillé sans succès et que je me suis déjà renseigné sur le Web (je suis pas en train de dire que j'ai fais une recherche google mais des milliards) et que rien n'a résolu mon problème jusque là.

Alors voila mon soucis:
Pour mon site web, j'ai créé mon propre formulaire de contact dont je me suis appuyé d'un tuto de siteduzero car je ne maitrisais pas trop les formulaires. Enfin là n'est pas le problème. Là ou ça bloque, c'est lorsque j'essaye de m'envoyer par mail ce que l'utilisateur à saisis.

dans l'ideal, j'aurais voulu avoir un mail de la forme

$Objet

$mon header perso

$Nom
$Mail
$Tel

$Message

le soucis c'est que pour le moment les seules fois ou j'ai réussi, soit le mail s'affichait sans les sauts de lignes, soit encodé très mal, soit il ne s'envoyait pas, soit il m'affichait juste le $Message...

Si quelqu'un pourrait me donner la soluce ce ne serait pas de refus !
En sachant que si je peux privilégier les <br /> pour faire les sauts dans le mail ça m'arrange...
A voir également:

1 réponse

diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 854
16 sept. 2016 à 10:58
Bonjour,

Concernant la plupart de vos problème le soucis vient du formatage de votre message.

Serait-il possible d'avoir la partie du code concerné sur l'envoi du mail?

sinon renseigne toi sur la doc de php ici :
https://www.php.net/manual/fr/function.mail.php
0
Zick__barrimor Messages postés 62 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 18 septembre 2016 7
16 sept. 2016 à 11:04
Pour être honnête c'est un peu le bordel dans mon code.. mais si t'insiste x)
https://hastebin.com/ahekironeg.xml

C'est bien moi qui ai obfusqué les mails pour éviter de me faire spam par des trolls ^^ je te rassure.

Merci!
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 854 > Zick__barrimor Messages postés 62 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 18 septembre 2016
16 sept. 2016 à 12:03
Déjà il y a un soucis dans ton code .

$msg = "Content-Type: text/html; charset=\"28591\""."\n";
// $msg.= "Content-Transfer-Encoding: 8bit"."\n";
$msg.= $br.$message2.$br;
//==========

//=====Empêcher les requêtes HTML
$nom2 = strip_tags($_POST['nom']);
$email2 = strip_tags($_POST['email']);
$tel2 = strip_tags($_POST['tel']);
$objet2 = strip_tags($_POST['objet']);
$message2 = $nom2.$br.$email2.$br.$tel2.$br.$br.$br;
$message2.= strip_tags($_POST['message']);


Tu assigne Message2 a msg... mais message2 n'a aucune valeur au moment ou tu essais de le rentrer... ce qui fait que ta variable msg ressemble a :
$br$br après son assignation.
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 854 > diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024
16 sept. 2016 à 14:14
De plus vous vous embêtez a un moment :/

$destinataire = '*****';
$expediteur = $email2;

Puis :
mail($destinataire,$object,$msg,$header);
mail($expediteur,$object,$msg,$header);


Les serveurs de mail fonctionne tous C'est a dire que pour envoyé un mail a plusieur personne vous pouvez séparer les adresses mail par un point virgule

$destinataire = '*****;';
$destinataire .= $email2;


Et ainsi virer une ligne d'utilisation de la fonction mail.

Cette dernière renvoi un booléen pour vérifier si l'envoi passe ou pas. L'utilisation d'un try catch est donc préférable afin de voir si tout fonctionne:
 Try{
mail($destinataire,$object,$msg,$header);
}
catch(Exception e){
echo Erreur:".e->getMessage();
}
0
Zick__barrimor Messages postés 62 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 18 septembre 2016 7 > diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024
16 sept. 2016 à 18:22
Ah merci!! c'est ce que je cherchais à un moment.. pour le mail a destinataire multiples.

Et merci encore pour la variable message du coup ^^ je vais rectifier ça et on verra
0
Zick__barrimor Messages postés 62 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 18 septembre 2016 7
Modifié par Zick__barrimor le 16/09/2016 à 18:42
De mon côté le catch ne fonctionne pas, est-ce normal?


C'est bon, je l'ai légèrement modifié en

Try{
mail($destinataire,$object,$msg,$header);
}
catch(Exception $e){
echo "Erreur: ", $e->getMessage(), "\n";
}
0