Rechercher : dans
Par :

Envoyer une page php par mail

Dernière réponse le 4 jun 2004 à 14:23:46 najkaj, le 3 jui 2003 à 13:22:06 
 Signaler ce message aux modérateurs

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+

Meilleures réponses pour « envoyer une page php par mail » dans :
PHP - Mail et fonctions réseau Voir PHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

arthix, le 3 jui 2003 à 13:59:30

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+

Répondre à arthix

2

najkaj, le 3 jui 2003 à 14:21:45

Merci pour ton aide, je vais essayer de trouver la fonction pour récupérer le code et voir si ca marche.
A+

Répondre à najkaj

4

2Spartiate, le 4 jun 2004 à 13:51:56
  • +1

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...

Répondre à 2Spartiate

3

rza, le 4 jun 2004 à 13:25:54

Salut, moi je souhaiterais qu'une page avec un formulaire me soit envoyé tel quel (avec les données du formulaires ; ) est-ce possible ??

Répondre à rza

5

 Taboujr, le 4 jun 2004 à 14:23:46

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]

Répondre à Taboujr
Collection CommentÇaMarche.net