Envoyer un mail sous format HTML

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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.

7 réponses

  1. le père
     
    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
  2. Melooo Messages postés 1476 Statut Membre 84
     
    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
  3. Utilisateur anonyme
     
    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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Les bons en-têtes ? Comment sa ?

    Sinon merci de la fonction, j'essaie sa....
    0
  7. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    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
  8. Utilisateur anonyme
     
    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