How to send a complete PHP page by email?

0

I'm having trouble sending an email template. I have the following page:

<?php session_start();  ?>

              Contact Us - PiscouAchou                                        Email successfully sent !         

    <section id="conteudo">
        <p>
            Obrigado por utilizar o contato Piscou achou, o estabelecimento já ira entrar em contato com você.</br></br>

            Caso queira um contato mais direto visite a pagina www.piscouachou.com.br
            e clique em ver telefone na pagina do estabelecimento.</br></br>

            Estabelecimento: <?php echo $_SESSION['nomeE']; ?></br>
            ID: Estabelecimento: <?php echo $_SESSION['idE']; ?>
        </p>
    </section>

    <section id="imagem">
        <img src="img/separador.png" alt="">
    </section>

    <div id="public">
    <section id="estabelecimento">
        <h2>· Estabelecimento ·</h2>
        <h4>Ainda não é assinante?</h4>
        <p>
            Entre em contato:</br>

            email: [email protected]</br>
            telefone: 11 4107-5077
            </br>
            </br>
        </p>
        <a href="http://www.piscouachou.com.br/contato.php" class="css_btn_class">Piscou Achou</a>
       </section>

    <section id="grupoemais">
        <h2>· Grupo Emais·</h2>
        <h4>Conhece nossos serviços?</h4>
        <p>
            Grupo Emais é composto por 4 empresas que oferecem suporte às corporações
            em tudo o que diz respeito à comunicação.
            </br>
            </br>
        </p>
        <a href="http://www.grupoemais.com.br/" class="css_btn_class2">Grupo Emais</a>
    </section>
    </div>
</div>

I was trying to include this page in a page with the $ _SESSION values updated, but when I send the email the images do not appear and the SESSION values do not work.

I'm using PHPMAILER.

$Vdata = file_get_contents('EmailEmais');
$mail -> body = $Vdata;
    
asked by anonymous 27.10.2016 / 16:45

2 answers

1

It is not possible to send a PHP page by email, you can send the HTML generated from it.

To send HTML you do:

include_once("geradorHtml.php");

$geradorDeHtml = new Gerador();

$html = $geradorDeHtml->geraHtml($_SESSION['nomeE'],$_SESSION['idE']);
$mail->MsgHTML($html);
$mail->IsHtml(true);

And in the document generatorHtml.php :

 class Gerador {
    public function geraHtml($nome,$id){


    $html = ' <section id="conteudo">
        <p>
            Obrigado por utilizar o contato Piscou achou, o estabelecimento já ira entrar em contato com você.</br></br>

            Caso queira um contato mais direto visite a pagina www.piscouachou.com.br
            e clique em ver telefone na pagina do estabelecimento.</br></br>

            Estabelecimento:'.$nome.'</br>
            ID: Estabelecimento:'.$id.'
        </p>
    </section>

    <section id="imagem">
        <img src="img/separador.png" alt="">
    </section>

    <div id="public">
    <section id="estabelecimento">
        <h2>· Estabelecimento ·</h2>
        <h4>Ainda não é assinante?</h4>
        <p>
            Entre em contato:</br>

            email: [email protected]</br>
            telefone: 11 4107-5077
            </br>
            </br>
        </p>
        <a href="http://www.piscouachou.com.br/contato.php" class="css_btn_class">Piscou Achou</a>
       </section>

    <section id="grupoemais">
        <h2>· Grupo Emais·</h2>
        <h4>Conhece nossos serviços?</h4>
        <p>
            Grupo Emais é composto por 4 empresas que oferecem suporte às corporações
            em tudo o que diz respeito à comunicação.
            </br>
            </br>
        </p>
        <a href="http://www.grupoemais.com.br/" class="css_btn_class2">Grupo Emais</a>
    </section>
    </div>
</div>';


    return $html;

    }


    }
    
27.10.2016 / 17:14
0

Probably your problem is in using SESSION. It should return the null SESSION value during sending.

Or you would use data dynamically generated by queries. Which would be a bit costly for sending email, or you could try to generate static HTML with a scritp that pre-processes these pages you need to submit by entering the variables.

How to put variables in email with phpMailer?

My suggestion is that you generate these pages, which you will use in the email, with a preprocessor, to generate this static page, in HTML itself. So your emails will go correctly.

Or, finally, you can try generating html dynamics with your email sending script. Create a class just to generate the html, with strings. And pass this variable as your email body.

link

    
27.10.2016 / 17:08