Ir para conteúdo
Fórum Script Brasil
  • 0

Mail Com Html


leonardocdc

Pergunta

Galera,

gostaria da ajuda de vc´s. Seguinte. Tenho uma página que me gera um relatório com cabeçalho, gráficos e porcentagens. Até aí beleza. mas preciso enviar isso por e-mail para algumas pessoas previamente cadastradas. Meu problema é, como enviar essa página (relatório) por e-mail?

Pensei em fazer o seguinte, dou um fopen e um fread na página jogando o script dela em uma variável e enviar o email. Mas não dá certo. As figuras do relatório não aparecem e alguns trecho do php são impressas.

Alguém teria alguma idéia de como fazer isso.

Agradeço a atenção.

Leonardo Portilho

Link para o comentário
Compartilhar em outros sites

23 respostass a esta questão

Posts Recomendados

  • 0

Bom galera,

vou postar aqui:

$headers = "MIME-Version: 1.0\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\n";

$headers .= "From: ".$remetente;

$filename = "./grafico/index.php?pesquisa=".$pesquisa;

$erro = 0;

if (!$fp = fopen($filename, 'r')) {

      $erro = 1; //Não foi possível abrir o arquivo.

      exit;

}

if ($erro == 0) {

  $conteudo = fread ($fp, filesize ($filename));

  fclose($fp);

}

$message = $conteudo;

$result = mail($destinatario,$assunto,$message,$headers);

Bom, como eu disse, o corpo do e-mail vem sem as figuras e com alguns scripts do php da pg impressas.

Valeu.

Leonardo Portilho

Link para o comentário
Compartilhar em outros sites

  • 0

Cara... é que o PHP é executado no servidor...

Então você não pode enviar códigos PHP pro e-mail da pessoa porque não vão ser executados mesmo...

Quanto às imagens, lembre-se de colocar o endereço completo ( http://... ). Se você colocar o endereço relativo ao site que está mandando o e-mail, quando chegar no cliente ele não vai saber o que fazer... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Ok,

mas desculpa minha pergunta, é que não estou conseguindo enxergar uma solução. Como eu faço pra poder enviar o código html sendo que minha página é gerada dinamicamente.

Tipo teria como eu criar um arquivo temp e dessa arquivo jogar o resultado da minha pg (tags html) no nvo arquivo e enviar por e-mail esse novo arquivo?

Obrigado pelas ajudas

Link para o comentário
Compartilhar em outros sites

  • 0

Error 404,

descupa aí cara, mas ainda não consegui ver como fazer isso.

porque eu necessito gerar a página. Nessa página é toda em php, porque é um relatório com gráfico, porcentagem e tal. Todo o cálculo é feito nela.

Daí, lógico, o php me gera o html. como capturar esse html?

Na verdade, fazendo uma analogia, seri como pegar a pg do browser e dar um salvar e enviar por email.

Mas como fazer isso, relamente não consegui ver. rolleyes.gif

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom,

na verdade eu estou dando um fopen e um fread e jogando tudo numa variável.

Daí essa variável é a menssagem do meu e-mail.

o que aparece no e-mail é a figura abaixo

user posted image

Não sei se dá pra ver, mas no meio da tabela, na parte maior era pra ser o gráfico. No canto direito era umas 20 linhas.

Respondendo a sua pergunta, o arquivo está no mesmo servidor. No caso. Algumas partes do código aparece. Tipo se eu abrr a pg no browser fica beleza. Mas quando tento enviar num dá certo.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara,

tentei abrir o endereço do site como você disse. Tentei abrir o google como exemplo. Mas o trem pensa....... pensa........pensa e não me retorna nenhum resultado.

Daí até arrisqueiusar as funções curl mas tb fica com o mesmo problema.

Acredito que o script esteja certo.

você sabe o que pode ser?

<?

$filename = "http://www.google.com.br";

$erro = 0;

if (!$fp = fopen($filename, 'r')) {

      $erro = 1; //Não foi possível abrir o arquivo.

      exit;

}

if ($erro == 0) {

  $conteudo = fread ($fp,1024);

  fclose($fp);

} else {

  $conteudo = "Ocorreu um erro";

}

//echo $conteudo;

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Error 404,

Percebi que o erro estava com relação ao meu proxy, eu acho. porque até então eu estava tentando ler uma porque externa. Daí resolvi criar uma pg interna e consegui ler ela. Até que enfim... biggrin.gif

Porém percebi outro problema mad.gif Páginas em html abre normal e faz o que eu quero, pg com extensão php abre mas quando vai imprimirn imprime apenas o número "1" como se fosse apenas isso que estivesse escrito na pg. Tipo os arquivos .php não mostra o html dele.

você sabe o q q pode ser isso? Configuração do php? sad.gif

$headers = "MIME-Version: 1.0\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\n";

$headers .= "From: leonardo@a.b.c";

$ch = curl_init();

$res= curl_setopt ($ch, CURLOPT_URL,"http://pagina_interna/index.php");

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, "pesquisa=210"); //Passagem de parâmetros

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_VERBOSE, 1); //reporta tudo que está acontecendo

curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); //qualquer cabeçalho

$conteudo = curl_exec ($ch);

curl_close ($ch);

echo $conteudo;

if ($conteudo != NULL) {

if (mail("lmeu_email@b.c", "Teste", $conteudo $headers))

  echo "E-mail enviado com sucesso";

          

} else {

echo "Error:<br>";

echo curl_errno($ch) . " - " . curl_error($ch) . "<br>";

}

Link para o comentário
Compartilhar em outros sites

  • 0

Não é assim, cara... smile.gif

O servidor processa a página e retorna o HTML que o PHP vai gerar. Se o PHP não gerar nenhum HTML aí as vezes ele retorna um valor boolean.

O comportamento pra quando o PHP gera HTML é retornar o HTML gerado.

Tente usar a fopen() pra isso, já usei ela em diversas ocasiões pra fazer isso que você quer e com muito sucesso... smile.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...