Ir para conteúdo

Arquivado

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

Carcleo

função mail()

Recommended Posts

Olá pessoal, estou tendo dois problemas com a função mail();

 

1) Estou fazendo assim:

$titulo_resposta_automatica = "Re: Mensagem do site";
$titulo_cliente = "Mensagem do site($nome)";

$headers = "Content-Type: text/html; charset=utf-8\n"; 
$headers.= "From:".titulo_cabecalho."<".email_site.">\r\n";

$headers_cliente = "Content-Type: text/html; charset=utf-8\n"; 
$headers_cliente.= "From: $nome<$e_mail>\r\n";

//E-mail ao cliente
if(mail("$e_mail", "$titulo_resposta_automatica","$texto_resposta","$headers"))
{  //E-mail do cliente para a empresa
  echo $texto_resposta;
  mail(email_site, "$titulo_cliente","$texto_cliente","$headers_cliente");
}							
   else  
{
  echo $erro_envio; 
}

Quando o email é enviado, o destinatário do email ($headers) vão com problemas de acentuação. Mas, o corpo da mensagem vai normal.

Obs.: Isso só ocorre no Outlook e no proprio email (bol.com.br ou qual for). Pois, na mensagem que vaí para o usuario(no nosso site), é exibido normal.

 

2) Estou colocando um fundo de tabela para exibição. No nosso site e na página do email(bol, oi.), o fundo sai normal. Mas, no outlook não sai.

 

Como corrigir isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia Eduardo.

 

Mas, a soluçao por este lado trará problemas por outro: Todos os charsets do meu site, inclusive do banco são utf-8.

 

Mesmo assim tentei e não deu certo pois o charset do headers só serve para o corpo da mensagem(acho).

 

Alguma outra idéia?

 

Bom, com relação ao nome do cliente no cabeçalho, utf8_decode($nome) resolveu.

Mas, com relação o fundo(background) ainda não aparece no outlook.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia Eduardo.

 

Mas, a soluçao por este lado trará problemas por outro: Todos os charsets do meu site, inclusive do banco são utf-8.

 

Mesmo assim tentei e não deu certo pois o charset do headers só serve para o corpo da mensagem(acho).

 

Alguma outra idéia?

 

Bom, com relação ao nome do cliente no cabeçalho, utf8_decode($nome) resolveu.

Mas, com relação o fundo(background) ainda não aparece no outlook.

 

Você pode tentar isso aqui no inicio do seu código:

 

ini_set('default_charset','UTF-8');

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.