Jump to content


Photo

Função Mail()


  • Faça o login para participar
3 replies to this topic

#1 Igor Alxander

Igor Alxander

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 02/07/2008, 22:10

Boa noite senhores,
estou fazendo um form mail para uma empresa...
esta tudo correto exeto o layout do e-mail onde que a imagem do topo seria o logo em background..
só que ele não aparece.... e não é defeito de endereço...
segue o form-mail

[codebox]<?php

$assunto = $_POST['assunto'];
$nome = $_POST['nome'];
$empresa = $_POST['empresa'];
$cargo = $_POST['cargo'];
$departamento = $_POST['departamento'];
$estado = $_POST['estado'];
$ddd = $_POST['ddd'];
$fone = $_POST['fone'];
$email = $_POST['email'];
$campomensagem = $_POST['mensagem'];

//aqui nós resgatamos as variáveis do formulário
$para = "email@email.com.br";
$mensagem = "
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title> Contato WEB</title>
<style type='text/css'>
<!--
.style2 {
font-size: 18px;
font-weight: bold;
color: #E47519;
}
.style3 {
font-size: 18px;
font-weight: bold;
color: #E47519;
font-family: Verdana;
}
.tudo {
background-repeat:no-repeat;
background-position:top;
}
.style6 {
font-family: Verdana;
font-size: 10px;
}
.style11 {font-size: 14px; font-weight: bold; font-family: Verdana; }


-->
</style>
</head>

<body>
<table width='800' border='0' align='center' cellpadding='0' cellspacing='0' class='tudo' background='http://www.site.com.br/imagens/cabecalho.jpg'>
<tr>
<td width='800' height='104' valign='top'><p class='style2'> </p>
<p class='style3'>$assunto</p> </td>
</tr>
<tr>
<td><hr align='left' width='780' color='#E47519'/></td>
</tr>
<tr>
<td><span class='style6'>Nova mensagem enviada pela seção <em>Contato</em></span></td>
</tr>
<tr>
<td><p> </p>
<table width='800' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td width='150' align='left' valign='middle'><span class='style11'>Departamento:</span></td>
<td width='650'>$departamento</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Estado:</span></td>
<td>$estado</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Nome:</span></td>
<td>$nome</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Cargo/Profissão:</span></td>
<td>$cargo</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Empresa:</span></td>
<td>$empresa</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Fone:</span></td>
<td>$fone</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Email:</span></td>
<td>$email</td>
</tr>
<tr>
<td align='left' valign='middle'><span class='style11'>Mensagem:</span></td>
<td>$campomensagem</td>
</tr>
</table><p></p></td>
</tr>
<tr>
<td><hr align='left' width='780' color='#E47519'/></td>
</tr>
<tr>
<td><span>Mensagem enviada através do site</span> <strong>http://www.site.com....r</strong></td>
</tr>
</tr>
</table>
</body>
</html>

";


/*aqui foram definidos: o local onde será enviado o e-mail($para)
o assunto do e-mail enviado ($assunto)
e a mensagem enviada ($mensagem) que contém todos os campos preenchido no formulário*/


if (strlen($nome) < 3)
echo "Digite seu nome!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($email) <= 3)
echo "E-mail inválido!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($campomensagem) <= 3)
echo "Escreva uma mensagem!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
else{
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=utf-8\r\n";
$headers.= "From: ".$nome."<".$email.">";
mail($para,$assunto,$mensagem,$headers);
echo "O formulário foi preenchido e enviado com sucesso!! <BR> <a href=\"java script:history.back(1);\">Voltar</a>";

}
/* Nas linhas acima foi feita uma confirmação do preenchimento dos formulários.. sendo que todos os
campos preenchidos do formulário será enviado com a instrução mail() */
?>

[/codebox]


Por favor preciso disso rápido pois o prazo está muito em cima.. abraços

Edição feita por: Igor Alxander, 31/07/2008, 15:59.


#2 Lucas Vasconcelos

Lucas Vasconcelos

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Salvador, BA

Posted 02/07/2008, 23:09

Igor, como o email que você envia poderá ser lido em vários clientes (Gmail, Thunderbird, Outlook, etc) não há nenhuma garantia de que todos irão suportar CSS.

A melhor solução seria usar imagens para garantir a mesma aparência em todos os clientes.

#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 03/07/2008, 09:52

Da mesma maneira como não dá pra garantir o suporte a CSS, não dá pra garantir que ele vai abrir imagem.
Envie o seu e-mail no formato HTML e junto envie uma versão alternativa, em modo somente texto.
O cliente de e-mail se encarrega de abrir a versão que ele suporta.

#4 Igor Alxander

Igor Alxander

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 06/07/2008, 18:39

Da mesma maneira como não dá pra garantir o suporte a CSS, não dá pra garantir que ele vai abrir imagem.
Envie o seu e-mail no formato HTML e junto envie uma versão alternativa, em modo somente texto.
O cliente de e-mail se encarrega de abrir a versão que ele suporta.


Mas como eu mando varias versões apra o cliente de email escolher ??




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq