Envoyer un mail sous format HTML

Résolu/Fermé
Utilisateur anonyme - 7 juin 2011 à 16:49
 Utilisateur anonyme - 7 juin 2011 à 17:41
Bonjour,

Je m'excuse de vous déranger.

Sur mon site, lorsqu'un membre s'enregistre, il reçoit un mail comme quoi il s'est bien inscrit sur le site.

Dans ma page .php qui envoie le mail, j'ai procédé comme cela :

$email_text = $email_text .'<TR>';
$email_text = $email_text .'<TD>';
.......Etc
Puis

tep_mail($name, $email_address, EMAIL_SUBJECT, nl2br($email_text), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);


J'aimerais si vous voulez, que la variable " $email_text " reçoit le contenu d'une page HTML.
J'ai essayé en mettant :

$email_text = include 'maPage';


Mais je reçoit un mail avec comme contenu " 1 " alors que j'avais mis autre chose et lorsque je m'inscris, sa m'affiche le contenu de cette page dans la navigateur aussi alors que normalement sa affiche comme quoi il s'est bien inscrit par l'intermédiaire d'une redirection :

tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL'));


Voilà merci d'avance de votre aide..

Cordialement.

A voir également:

7 réponses

Bonjour

$email_text=file_get_contents('maPage')

Mais attention, si tu n'as pas les bons en-têtes dans ton mail, celui qui le recevra verra le source de la page, pas du HTML
3
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
7 juin 2011 à 16:51
Salut,
pour récupérer la valeur d'un formulaire sur une page html il te faut du PHP, en passant par des variables POST
0
Utilisateur anonyme
7 juin 2011 à 16:57
Non mais c'est dans ma page .php

J'aimerais que la variable :

$email_text

qui se trouve ici :

tep_mail($name, $email_address, EMAIL_SUBJECT, nl2br($email_text), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);


récupère le contenu d'une page HTML
0
Utilisateur anonyme
7 juin 2011 à 17:03
Si je procède comme cela :

$email_text='<html>
     <head>
     <title>Titre</title>
     </head>
     <body>Test de message</body>
     </html>'; 


Sa marche, je reçoit bien comme contenu du mail : " Test de message ".
Mais j'aimerais que ce contenu HTML soit dans une page .html séparer..

Mais je ne voit pas comment faire, merci de votre aide..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
7 juin 2011 à 17:09
Les bons en-têtes ? Comment sa ?

Sinon merci de la fonction, j'essaie sa....
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 7/06/2011 à 17:31
Bonjour,

La meilleure méthode, utiliser mail de Zend Framework. Exemple:

// Utilisaton module Mail de Zend Framework
require_once 'Zend/Loader.php';
Zend_Loader::loadClass ('Zend_Mail' );
$mail = new Zend_Mail('UTF8');

$body = <<<CORPS_MESSAGE
<body style='margin: 10px;'>
....ici le texte en HTeumeuLeu....
CORPS_MESSAGE;
// important: CORPS_MESSAGE; TOUJOURS en début de ligne !!!!!!
// le texte HTML est encadré en notation heredoc
$mail->setBodyHtml($body);
$mail->setFrom('...ici mail de l'émetteur...');
$mail->addTo('...ici mail du destinataire....');
$mail->setSubject("...ici titre du message....");

$mail->Send()); // envoi du mail

Pour le Zend Framework, c'est ici:
https://framework.zend.com/


A+
0
Trop lourd à mon insu ...

Le " file_get_contents " marche parfaitement ;).

Merci quand même, j'ai regardé ton code, il marcherait mais sa m'obligerais à tout changer le fonctionnement de ma page .php alors que ce que je fais c'est une modification sur un CMS (OsCommerce) pour une entreprise ...

Voilà ;).

Cordialement.
0