Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

F-gos

[Resolvido] Enviando mensagem HTML com PHP

Recommended Posts

Pessoal boa tarde!

 

Fiz um pequeno sistema para enviar cartão por e-mail, onde a pessoa entra no site, escolhe o cartão que quer enviar e escreve o nome e e-mail da pessoa que vai receber.

 

O esquema é que o php tem que enviar uma pagina html com imagens e css. Até aqui tudo normal.. o problema é quando recebo a mensagem no outlook, o texto de quem mandou chega normal mas a imagem do cartao escolhido não vem. (parece que o html não vem corretamente). Mas se receber pelo hotmail.com aparece tudo normal até a imagem.

 

Alguém pode me dizer se tem algum código para fazer com que o outlook receba corretamente a mensagem??? além do "Content-type: text/html; charset=iso-8859-1\r\n";

 

Segue o link para quem quizer fazer o teste e receber no outlook. site

 

segue abaixo o codigo que estou usando:

 


<?php
if(isset($_POST['enviar'])){

$nome    = $_POST['nome'];
$email    = $_POST['email'];
$nomedest   = $_POST['nomedest'];
$destinatario  = $_POST['dest'];
$cards   = $_POST['cardsb'];

if($cards == 1){
 $cards = "[url="http://www.site.com.br/img/candada-feminino1.jpg"]http://www.site.com.br/img/candada-feminino1.jpg[/url]";
}else if ($cards == 2){
 $cards = "[url="http://www.site.com.br/img/candada-feminino2.jpg"]http://www.site.com.br/img/candada-feminino2.jpg[/url]";
}else if ($cards == 3){
 $cards = "[url="http://www.site.com.br/img/candada-feminino3.jpg"]http://www.site.com.br/img/candada-feminino3.jpg[/url]";
 }
 

$corpo = '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ATLANTICO MOTEL | CANTADA</title>
<style type="text/css">
<!--
.style14 {font-size: 12px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; color: #FFFFFF; }
.style24 {font-size: 15px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; color: #003366; }
-->
</style>
</head>

<body>
<table width="500" height="700" border="0" align="center" cellpadding="0" cellspacing="0" background="'.$cards.'">
  <tr>
    <td align="center" valign="bottom"><table width="400" height="45" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="39" align="left" valign="bottom"><span class="style14">De: </span></td>
        <td width="361" align="left" valign="bottom"><span class="style24">'.$nome.'</span></td>
      </tr>
      <tr>
        <td align="left" valign="bottom"><span class="style14">Para:</span></td>
        <td align="left" valign="bottom"><span class="style24">'.$nomedest.'</span></td>
      </tr>
    </table>
      <br>
    <p> </p></td>
  </tr>
</table>
</body>
</html>';
$assunto = "Cantanda do Atlantico";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: <$email>\n";
 
mail($destinatario, $assunto, $corpo, $headers);
  echo 'OK. enviando com sucesso';<br>
  echo "$cards";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui no meu hotmail chegou já na lixeira, aí eu tirei, permiti o conteúdo e tal e apareceu normal

Encaminhei pra um outro email aqui do outlook e apareceu normal só q sem CSS

 

Dicas

Quando for colocar alguma coisa com aspas dentro de outra coisa com aspa use \"

 

ex:

 

$cards = "[url=\"http://www.site.com.br/img/candada-feminino3.jpg\"]http://www.site.com.br/img/candada-feminino3.jpg[/url]";

Acho que deve colocar mais headers no seu email

O Hotmail ta axando que é spam

 

E se esse problema ta acontecendo é seu HTML e não o PHP

Tenta fazer com o código HTML todo num unica linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

- quanto ao html todo na mesma linha ..vou testar

 

- quanto as headers.... você disse para acrescentar mais headers.. isso ja resolveria o spam??? oq devo colocar ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

warlike testei com o html numa mesma linha e tbm não funfo, o outlook continua não mostrando a mensagem corretamente.. e sobre as headers para evitar o spam oq devo fazer??? quais paramentos devo colocar????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu mando email sempre com esses headers:

 

Subject: Meu Assunto
Content-Type: multipart/alternative; boundary="----=_NextPart_f542aaec405c67df1fccd79bc19931d6" // Isso só é mais quando tiver anexo, então não liga pra essa parte
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: PHP/5.2.5
Message-ID: <f542aaec405c67df1fccd79bc19931d6@PHP>
MIME-Version: 1.0
From: Eu <eu@eu.com.br>
Return-Path: <eu@eu.com.br>
To: email1@eu.com.br, email2@hotmail.com, email3@yahoo.com.br

e minhas mensagens muito raramente chegam como span

é lógico que mandar de servidor com IP dinamico (local) não vai adiantar

 

É . . . seu HTML tem alguma coisa de errado.

 

tenta tirar as tags de comentario do CSS <!-- e --> porque eu já tive problemas com isso e coloca as paspas nos lugares certinhos, coisa que ta faltando muito ali

 

eu colei esse seu código no meu outlook e não vi problemas, só troquei a imagem de fundo pra testar

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>ATLANTICO MOTEL | CANTADA</TITLE>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<STYLE type=text/css><!--.style14 {font-size: 12px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; color: #FFFFFF; }.style24 {font-size: 15px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; color: #003366; }--></STYLE>
<HEAD>
<BODY>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=500 background="http://www.imotion.com.br/imagens/data/media/72/7165dragon.jpg" 
align=center height=700>
  <TBODY>
  <TR>
    <TD vAlign=bottom align=middle>
      <TABLE border=0 cellSpacing=0 cellPadding=0 width=400 height=45>
        <TBODY>
        <TR>
          <TD vAlign=bottom width=39 align=left><SPAN class=style14>De: 
          </SPAN></TD>
          <TD vAlign=bottom width=361 align=left><SPAN 
            class=style24>$nome</SPAN></TD></TR>
        <TR>
          <TD vAlign=bottom align=left><SPAN class=style14>Para:</SPAN></TD>
          <TD vAlign=bottom align=left><SPAN 
          class=style24>$nomedest</SPAN></TD></TR></TBODY></TABLE><BR>
      <P></P></TD></TR></TBODY></TABLE></BODY></HTML>

E esse HTML você tirou de onde?

Foi exportação de algum lugar?

 

Pega HTML do Dreamweaver pelo menos, esse aí ta com cara de gerado do fireworks ou algo do tipo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warlike resolvido o problema.. era o html mesmo... agora esta tudo OK!..

 

Uma ultima dúvida veja se consegue me ajudar.... preciso pegar os nomes e e-mails de remetente e destinatario e enviar para um outro e-mail... como faço isso... uso a função mail novamente??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warlike resolvido o problema.. era o html mesmo... agora esta tudo OK!..

 

Uma ultima dúvida veja se consegue me ajudar.... preciso pegar os nomes e e-mails de remetente e destinatario e enviar para um outro e-mail... como faço isso... uso a função mail novamente??????

 

É isso aí, pega os nomes e emails que você deseja, coloque na mensagem (axo que é isso que você quer) e envie um novo email utilizando a função mail.

 

Desculpe a demora em responder mas só agora descobri o novo recurso do imasters de mostrar os tópicos com novas respostas rsrs . . qq coisa posta ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.