Question pour améliorer la fonction mail()
Résolu
fabrice11901
Messages postés
787
Date d'inscription
Statut
Membre
Dernière intervention
-
fabrice11901 Messages postés 787 Date d'inscription Statut Membre Dernière intervention -
fabrice11901 Messages postés 787 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je vous donne mon code et vous explique ensuite :
est-il possible de faire une page html comme :
<HTML> Bonjour, un message a été envoyer voici les résultat :
nom :<?echo $nom?> <br>
email :<?echo $email?> <br> url:<?echo $url?> <br> commentaire :<?echo $comment?> et en fait faire dans la fonction mail un include de cette page? en faisant :
<?
if ( isset($_POST['url']))
$url=$_POST['url'];
if ( isset($_POST['nom']))
$nom=$_POST['nom'];
if ( isset($_POST['email']))
$email=$_POST['email'];
if ( isset($_POST['comment']) )
$comment=$_POST['comment'];
if ($url && $nom && $email && $comment)
{
echo '<html>
<head>
<title>Untitled Document</title>
</head>
<body>';
mail("f.terrancle@neuf.fr", "
formulaire Web", include "message.php");
echo 'Mail envoyé
</body>
</html>';
}
else
{
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5;
URL=http://sons.gratuits.free.fr/formulaire.php"></head>';
echo '<body>Merci de remplir tous les champs</body>';
}
?> merci d'avance.
Fabrice
<? if ( isset($_POST['url'])) $url=$_POST['url']; if ( isset($_POST['nom'])) $nom=$_POST['nom']; if ( isset($_POST['email'])) $email=$_POST['email']; if ( isset($_POST['comment']) ) $comment=$_POST['comment']; if ($url && $nom && $email && $comment) { echo '<html> <head> <title>Untitled Document</title> </head> <body>'; mail("f.terrancle@neuf.fr", " formulaire Web", $nom."*".$email."*".$url."*".$comment); echo 'Mail envoyé </body> </html>'; } else { echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://sons.gratuits.free.fr/formulaire.php"></head>'; echo '<body>Merci de remplir tous les champs</body>'; } ?>Comme vous pouvez le voir l'ors de l'envois du mail les champ récupérés sont séparés par des * donc voila ce que je voudrai faire :
est-il possible de faire une page html comme :
<HTML> Bonjour, un message a été envoyer voici les résultat :
nom :<?echo $nom?> <br>
email :<?echo $email?> <br> url:<?echo $url?> <br> commentaire :<?echo $comment?> et en fait faire dans la fonction mail un include de cette page? en faisant :
<?
if ( isset($_POST['url']))
$url=$_POST['url'];
if ( isset($_POST['nom']))
$nom=$_POST['nom'];
if ( isset($_POST['email']))
$email=$_POST['email'];
if ( isset($_POST['comment']) )
$comment=$_POST['comment'];
if ($url && $nom && $email && $comment)
{
echo '<html>
<head>
<title>Untitled Document</title>
</head>
<body>';
mail("f.terrancle@neuf.fr", "
formulaire Web", include "message.php");
echo 'Mail envoyé
</body>
</html>';
}
else
{
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5;
URL=http://sons.gratuits.free.fr/formulaire.php"></head>';
echo '<body>Merci de remplir tous les champs</body>';
}
?> merci d'avance.
Fabrice
A voir également:
- Question pour améliorer la fonction mail()
- Fonction si et - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Créer une adresse mail hotmail - Guide
- Comment télécharger un mail - Guide
10 réponses
Oui et non lol
Oui, il est possible d'envoyer un mail en html via la fonction mail() en jouant sur les headers.
et Non, ce n'est pas de cette méthode que tu y arriveras :).
Laisse moi le temps de te trouver les petits headers nécessaires et je te mijote ca.
Edition du message :
Euh, étant donné que tu n'as pas d'HTML à insérer réellement, tu pourrais faire tout simplement comme ca:
Les retours à la ligne sont voulus.
Oui, il est possible d'envoyer un mail en html via la fonction mail() en jouant sur les headers.
et Non, ce n'est pas de cette méthode que tu y arriveras :).
Laisse moi le temps de te trouver les petits headers nécessaires et je te mijote ca.
Edition du message :
Euh, étant donné que tu n'as pas d'HTML à insérer réellement, tu pourrais faire tout simplement comme ca:
mail("f.terrancle@neuf.fr", "formulaire Web", "Bonjour, un message a été envoyer voici les résultat : nom : " . $nom . " email : " . $email . " url: " . $url . " commentaire : " . $comment);
Les retours à la ligne sont voulus.
re, et si je fais un $message=include "message.php" et que j'insère ça dans la fonction mail? merci de me mijoter une petite idée !
Non, sauf erreur de ma part, include() ne renvoie rien, excepté peut être true ou false en fonction de son execution (true => inclusion réussie, false => erreur lors de l'inclusion).
Include() insére juste le fichier correspondant dans la page, à l'endroit où est placé include().
Regarde ma réponse d'avant, je l'ai modifié entre temps.
Include() insére juste le fichier correspondant dans la page, à l'endroit où est placé include().
Regarde ma réponse d'avant, je l'ai modifié entre temps.
re, oui c'est vrai j'avais pas pensé à celle là mais le pb c'est que là dedant on eput pas faire <br>... et moi c'est surtout ça que je cherche ! y a pas une petite fonction de retour à la ligne en php? merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben si, là mon message sera envoyé et affiché avec les retours à la ligne dans les clients de messagerie tels que Outlook Express. Tu peux essayer.
Sinon pour créer ces retours à la ligne sans mettre un retour réel dans ton code, tu peux insérer ca :
Sinon modifie le header comme ca:
Sinon pour créer ces retours à la ligne sans mettre un retour réel dans ton code, tu peux insérer ca :
\nqui est un caractere spécial. Mais cela fera le même effet.
Sinon modifie le header comme ca:
mail("f.terrancle@neuf.fr", "formulaire Web", "Bonjour, un message a été envoyer voici les résultat :<br /> nom : " . $nom . "<br /> email : " . $email . "<br /> url: " . $url . "<br /> commentaire : " . $comment, "Content-type: text/html; charset=iso-8859-1");
slt, ça y est c'est bon ! je s'avais pas qu'on pouvais mettre des retours à la ligne dans un code php (dans une fonction) vraiment j'en aprend tous les jours ! mmerci beaucoup à toi !
merci beaucoup...! tès j'ai une autre question mais juste des explications pour mieu comprendre un script que j'aimerai faire plutard :
j'aimerai faire un script de messagerie interne sur mon site qui consiste à ce que les membres puissent s'envoyer des messages... donc pour envoyer le message à un membre je pense savoir comment faire mais quand le destinataire se connecte comment aller voir qu'il a un message? c'est plutôt mental que j'arrive pas trop à me le représenter...
merci encore !
j'aimerai faire un script de messagerie interne sur mon site qui consiste à ce que les membres puissent s'envoyer des messages... donc pour envoyer le message à un membre je pense savoir comment faire mais quand le destinataire se connecte comment aller voir qu'il a un message? c'est plutôt mental que j'arrive pas trop à me le représenter...
merci encore !
Si c'est pour faire une messagerie interne, et si tu possèdes MySQL, n'utilise pas la fonction mail(), ou très peu.
Crée toi une messagerie interne très simple mais qui peut s'avérer très puissante. Tu te crées une base de données et une table pour les utilisateurs. Tu penses à y mettre un id unique (avec autoincrement).
Après tu te crées une table contenant les messages et tu y stocke les messages comme ceci:
id => identifiant unique du message (avec autoincrement)
id_expediteur => identifiant de l'utilisateur qui envoie (donc celui stocké dans la table utilisateurs)
id_destinataire => identifiant de l'utilisateur qui doit recevoir le message
message => le message complet
etat => l'état du message (lu, non lu, archivé...)
Et voila le tour est joué, quand un membre envoie un message à un autre, il ne fait qu'ajouter son message dans la bdd MySQL comme je viens de te l'expliquer.
Pour le destinataire, il suffit que ton script regarde dans la base de données tous les messages dont l'identifiant du destinataire est celui de l'utilisateur.
Enfin, pour supprimer le message, il suffit juste de le supprimer de la base de données.
Après tu pourrais imaginer pourquoi pas un envoi de mail au destinataire lui signalant qu'il à un nouveau message privé dans son compte sur ton site. Cette fonction sera activable dans le profil du gars et donc enregistré dans la table des utilisateurs (genre un champs mail_nouveau_msg_prive à 1 si il l'a activé et à 0 s'il l'a désactivé).
Et voila mon gars, tu as tout pour faire une excellente messagerie privée.
Après, laisse couler ton imagination pour y ajouter des options telles qu'une boite d'archive des messages envoyés ou reçus, des accusés de reception pour l'expediteur quand le destinataire ouvre son message etc...
Bonne chance et bonne prog :)
Crée toi une messagerie interne très simple mais qui peut s'avérer très puissante. Tu te crées une base de données et une table pour les utilisateurs. Tu penses à y mettre un id unique (avec autoincrement).
Après tu te crées une table contenant les messages et tu y stocke les messages comme ceci:
id => identifiant unique du message (avec autoincrement)
id_expediteur => identifiant de l'utilisateur qui envoie (donc celui stocké dans la table utilisateurs)
id_destinataire => identifiant de l'utilisateur qui doit recevoir le message
message => le message complet
etat => l'état du message (lu, non lu, archivé...)
Et voila le tour est joué, quand un membre envoie un message à un autre, il ne fait qu'ajouter son message dans la bdd MySQL comme je viens de te l'expliquer.
Pour le destinataire, il suffit que ton script regarde dans la base de données tous les messages dont l'identifiant du destinataire est celui de l'utilisateur.
Enfin, pour supprimer le message, il suffit juste de le supprimer de la base de données.
Après tu pourrais imaginer pourquoi pas un envoi de mail au destinataire lui signalant qu'il à un nouveau message privé dans son compte sur ton site. Cette fonction sera activable dans le profil du gars et donc enregistré dans la table des utilisateurs (genre un champs mail_nouveau_msg_prive à 1 si il l'a activé et à 0 s'il l'a désactivé).
Et voila mon gars, tu as tout pour faire une excellente messagerie privée.
Après, laisse couler ton imagination pour y ajouter des options telles qu'une boite d'archive des messages envoyés ou reçus, des accusés de reception pour l'expediteur quand le destinataire ouvre son message etc...
Bonne chance et bonne prog :)