Envoyer une page php par mail
najkaj
Messages postés
12
Statut
Membre
-
stefde3 -
stefde3 -
Bonjour à tous!
En PHP, je cherche un script permettant d'envoyer la page courante affichée dans le navigateur par mail.
on voit ça partout "Envoyer cette page à un ami" mais : COMMENT CA MARCHE?
Merci d'avance à ceux qui pourront m'aider.
A+
En PHP, je cherche un script permettant d'envoyer la page courante affichée dans le navigateur par mail.
on voit ça partout "Envoyer cette page à un ami" mais : COMMENT CA MARCHE?
Merci d'avance à ceux qui pourront m'aider.
A+
A voir également:
- Envoyer une page php par mail
- Supprimer une page word - Guide
- Gmail envoyer un mail - Guide
- Imprimer tableau excel sur une page - Guide
- Windows live mail - Télécharger - Mail
- Envoyer un mail en cci - Guide
3 réponses
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+
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 ??
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]