Envoyer une page php par mail
Fermé
najkaj
Messages postés
12
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
17 août 2004
-
3 juil. 2003 à 13:22
stefde3 - 25 nov. 2011 à 01:08
stefde3 - 25 nov. 2011 à 01:08
A voir également:
- Envoyer une page php par mail
- Supprimer une page word - Guide
- Yahoo mail - Accueil - Mail
- Publipostage mail - Accueil - Word
- Traduire une page - Guide
- Gmail envoyer un mail - Guide
3 réponses
arthix
Messages postés
52
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
31 août 2006
5
3 juil. 2003 à 13:59
3 juil. 2003 à 13:59
Salut !
<?
$to = 'monr@email'; // email du destinataire
$sujet ='test mail html'; //le sujet
$from ="From: votre@email.com \r\n"; //votre email
$from .="MIME-Version: 1.0\r\n"; //on défini le type mime pour le message
$from .="Content-Type: text/html; charset=us-ascii\r\n"; //ici on défini le format , soit html
$message = " "; //entrez ici un code html
mail($to,$sujet,$message,$from); // la fonction mail
?>
Le truc, c'est que dans $message tu mets ton code HTML. Le tout est maintenant de récupérer le code de ta page, le mettre sous forme d'1 chaine de caractère à placer dans $message.
Maintenant, existe-t-il une fonction pour faire cette opération? Là est la clé de l'optimisation.
Sinon tu peux regénérer ton code HTML depuis zero, mais c chiant, long, pas optimisé....c'est pas la solution je pense.
Voici la route ....
A+
najkaj
Messages postés
12
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
17 août 2004
3 juil. 2003 à 14:21
3 juil. 2003 à 14:21
merci pour ton aide, je vais essayer de trouver la fonction pour récupérer le code et voir si ca marche.
A+
A+
Salut !
Je pense que le truc, c'est qu'il faut mettre ton HTML en variable, genre (c'est tout con):
------------>début du code
<html>
<body>
<?
$html = " tralala..." ; ( <== et là attention aux ", et aux ' =>\", \')
echo $html;
[...]
$message = $html;
mail($to,$sujet,$message,$from);
?>
</body>
</html>
<------------ fin du code
Ca va envoyer le code html...
...mais il sera lu au format texte si tu ne renseignes pas le type mime, dans les en-têtes (text/html)
et voilou !
<=2Spartiate=> La vie est belle...
Je pense que le truc, c'est qu'il faut mettre ton HTML en variable, genre (c'est tout con):
------------>début du code
<html>
<body>
<?
$html = " tralala..." ; ( <== et là attention aux ", et aux ' =>\", \')
echo $html;
[...]
$message = $html;
mail($to,$sujet,$message,$from);
?>
</body>
</html>
<------------ fin du code
Ca va envoyer le code html...
...mais il sera lu au format texte si tu ne renseignes pas le type mime, dans les en-têtes (text/html)
et voilou !
<=2Spartiate=> La vie est belle...
Salut, moi je souhaiterais qu'une page avec un formulaire me soit envoyé tel quel (avec les données du formulaires ; ) est-ce possible ??
Taboujr
Messages postés
507
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
2 janvier 2008
117
4 juin 2004 à 14:23
4 juin 2004 à 14:23
A priori oui, c'est possible.
Ce que je ferai :
Ton formulaire est généré par une page php, appelons la form.php.
Dans form.php, tu as
si (les variables n'existent pas dans le $_POST) {
afficher le formulaire avec des variables vides
} sinon {
afficher le formulaires avec des variables remplies (des éléments du $_POST) }
ensuite, une page de traitement ou tu appelles ta page form.php et tu la met dans un buffer (pour ne pas l'afficher) et tu envoie le buffer dans le contenu de ton mail.
Pour utiliser le buffer :
http://fr2.php.net/manual/fr/function.ob-start.php
http://fr2.php.net/manual/fr/function.ob-get-flush.php
http://fr2.php.net/manual/fr/function.ob-end-clean.php
Ca devrait fonctionner.
.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
Ce que je ferai :
Ton formulaire est généré par une page php, appelons la form.php.
Dans form.php, tu as
si (les variables n'existent pas dans le $_POST) {
afficher le formulaire avec des variables vides
} sinon {
afficher le formulaires avec des variables remplies (des éléments du $_POST) }
ensuite, une page de traitement ou tu appelles ta page form.php et tu la met dans un buffer (pour ne pas l'afficher) et tu envoie le buffer dans le contenu de ton mail.
Pour utiliser le buffer :
http://fr2.php.net/manual/fr/function.ob-start.php
http://fr2.php.net/manual/fr/function.ob-get-flush.php
http://fr2.php.net/manual/fr/function.ob-end-clean.php
Ca devrait fonctionner.
.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]