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

Funcao Mail()


tuliod

Pergunta

17 respostass a esta questão

Posts Recomendados

  • 0

O Hotmail como outros identificam que o e-mail partiu de uma maquina e não um programa, o que pode fazer é mudar o header do arquivo para tentar enganar o Hotmail e ele entender que o mesmo foi enviado pelo OutLook

tipo:

$Assunto = "Assunto do E-mail";

$header = "MIME-Version: 1.0\r\n";

$header .= "Content-type: multipart/mixed; charset=iso-8859-15\r\n";

$header .= "Message-ID: <".md5(uniqid(time()))."@{$_SERVER['SERVER_NAME']}>\r\n";

$header .= "X-Priority: 3 (Normal)\r\n";

$header .= "X-MSMail-Priority: Normal\r\n";

$header .= "X-Mailer: Microsoft Office Outlook, Build Build 10.0.2627\r\n";

$header .= "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670\r\n";

$header .= "X-MS-TNEF-Correlator: 000000001FAFEF0164F948428AF85FFB8E5FA93BE4422D00\r\n";

$header .= "X-Antivirus: avast! (VPS 0608-0, 20/02/2006), Inbound message\r\n";

$header .= "X-Antivirus-Status: Clean\r\n";

$header .= "From: $email1\r\n";

$Email=mail($email2,$Assunto,$texto,$header);

faça um teste com isto, se funcionar avisa..

Link para o comentário
Compartilhar em outros sites

  • 0

I ae Jissa..... testei e funcionou legal....

mas agora tenho uma dúvida...

o email chegou direitinho na caixa de entrada, mas o remetente foi

assim: anonymous@hm337.locaweb.com.br

teria alguma maneira de personalizar isso, tipo colocar um outro remetente sei lá...

aguardo resposta...

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Cara...se você ta pegando esses dados de um formulario de contato e o usuario vai digitar nome e email...

você substitui essa linha

$header .= "From: $email1\r\n";
por essa
$header .= "From: $name <$email>";

isso se as variaveis que você ta puxando do foirmulario são $name e $email

Falo cara...

qualquer coisa posta ae

Link para o comentário
Compartilhar em outros sites

  • 0

tubem.....eu esqueci de editar o tópico, porem esse link e pra fazer o hotmail....entender que o email fora enviado do outlook......porem eu envio do outlook....e ainda vai pra caixa de spam do hotmail...

minha hospedagem falou que e porq todos os emails enviados de servidores linux para o hotmail...vao para o lixo eletronico.., ele s dizem que é uma jogada comercial...existe algum scrpty que eu possa adaptar pra burlar o hotmail?

Link para o comentário
Compartilhar em outros sites

  • 0

Jissa, coloquei os códigos descritos e continuou enviando para o lixo eletrônico do hotmail, tem alguma dica?

Se alguém puder ajudar, eis o meu código enviar.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css" media="screen">
<!--
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 15px;
background: #666;
}
</style>
<title>Contato</title>
</head>
<body>
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$mensagem = nl2br($_POST['mensagem']);

$para = "gleistoncardoso@hotmail.com";// e-mail que receberá a mensagem
$mensagem = "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>Contato</title>
</head>
<body>
Nome: <strong>$nome</strong><br />
Email: <strong>$email</strong><br />
Telefone: <strong>$telefone</strong><br/><br />
Mensagem: <br /><strong>$mensagem</strong>
</body></html>
";
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: multipart/mixed; charset=iso-8859-15\r\n";
$header .= "Message-ID: <".md5(uniqid(time()))."@{$_SERVER['SERVER_NAME']}>\r\n"; 
$header .= "X-Priority: 3 (Normal)\r\n"; 
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: Microsoft Office Outlook, Build Build 10.0.2627\r\n"; 
$header .= "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670\r\n";
$header .= "X-MS-TNEF-Correlator: 000000001FAFEF0164F948428AF85FFB8E5FA93BE4422D00\r\n";
$header .= "X-Antivirus: avast! (VPS 0608-0, 20/02/2006), Inbound message\r\n";
$header .= "X-Antivirus-Status: Clean\r\n";
$header .= "From: $nome <$email>";

if (mail ($para, $assunto, $mensagem, $header))
  echo "E-Mail enviado!";
    else
      echo "Erro ao enviar o E-Mail";
?>
</body>
</html>
----- Alterei o código como descrito acima e continuou enviando para o lixo do hotmail, abaixo segue o código, alguém pode me ajudar? OBS.: como seria para enviar a mesma mensagem para 2 email diferentes.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css" media="screen">
<!--
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 15px;
background: #666;
}
</style>
<title>Contato</title>
</head>
<body>
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$mensagem = nl2br($_POST['mensagem']);

$para = "eu@hotmail.com";// e-mail que receberá a mensagem
$mensagem = "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>Contato</title>
</head>
<body>
Nome: <strong>$nome</strong><br />
Email: <strong>$email</strong><br />
Telefone: <strong>$telefone</strong><br/><br />
Mensagem: <br /><strong>$mensagem</strong>
</body></html>
";
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: multipart/mixed; charset=iso-8859-15\r\n";
$header .= "Message-ID: <".md5(uniqid(time()))."@{$_SERVER['SERVER_NAME']}>\r\n"; 
$header .= "X-Priority: 3 (Normal)\r\n"; 
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: Microsoft Office Outlook, Build Build 10.0.2627\r\n"; 
$header .= "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670\r\n";
$header .= "X-MS-TNEF-Correlator: 000000001FAFEF0164F948428AF85FFB8E5FA93BE4422D00\r\n";
$header .= "X-Antivirus: avast! (VPS 0608-0, 20/02/2006), Inbound message\r\n";
$header .= "X-Antivirus-Status: Clean\r\n";
$header .= "From: $nome <$email>";

if (mail ($para, $assunto, $mensagem, $header))
  echo "E-Mail enviado!";
    else
      echo "Erro ao enviar o E-Mail";
?>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Faça assim, mande do seu cliente de e-mail para o outlook, ou veja um que receba por ele na caixa de entrada, veja o header como esta criado, ai simule ele no .php normalmente funciona..

mas tem alguns (não sei se o hotmail) esta identificando se esta sendo enviado de uma maquina, no caso servidores, se for eles consideram como spam.. ai só liberando o endereço mesmo,

para mandar para dois ou mais no mesmo form, pode colocar

"email1,email2"

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Eu possuo um codigo que, por algum motivo deixou de funcionar para o hotmal. Ele funcionava perfeitamente até 2 meses atrás. Será que é algo do meu dervidor de email, ou algo no hotmail mesmo?

Já tentei utilizar outros codigos distribuidos por ai, mas não funcionam...

Eu utilizava as seguintes headers: (os outros detalhes saum os comuns por ai)

$headers="From:$email<$email>\n";

$headers.="X-Sender:<$email>\n";

$headers.="X-mailer: PHP\n";

$headers.="X-Priority: 0\n";

$headers.="Return-Path: <$email>\n";

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

Alguma ideia?

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

Respondendo a questão de enviar para dois e-mails... se você mandar da seguinte forma

"email1,email2", o destinatário de e-mail 1 vai ver quem é o destinatário 2, se você mandar para uns 5 destinatários, é certo que os e-mails por aí, Yahoo, gmail, hotmail ... vão achar que é spam...

faz uma string que recebe todos os destinatários, aí com um explode coloca num array, conta quantos elementos tem no array e com um loop manda vários e-mails para um destinatário de cada vez.

Adapte o seguinte código: (na íntegra)

<?php
//////////////////////// Script sender mail ///////////////////////////////////////////
// esse script manda e-mails para vários destinatários separados por "," em          //
// quantidades que podem ser especificadas.                                          //  
// o e-mail é enviado em formato text/html                                           //
// quando não há valor de post oculta o resultado do send, e mostra o formulário     //
// de envio. Quando tem valor de post oculta o form de envio e mostra o resultado    //
///////////////////////////////////////////////////////////////////////////////////////
$de=$_POST['de'];
$para=$_POST['para'];
$qtd=$_POST['qtd'];
$ass=$_POST['ass'];
$mess=$_POST['mess'];
$messf=(nl2br($mess));
?>
<!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=iso-8859-1" />
<title>Mailer Sender
<style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #000000;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
input {
    color: #000000;
    height: 15px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
}
textarea {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #000000;
}
-->
</style>
</head>

<body>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="left" bgcolor="#ECE9D8">
<?php
    if ($de =='' and $para =='' and $qtd =='' and $mess =='')
    {
?>
    <div id="form_send">
    
      <form id="form1" name="form1" method="post" action="sender_mail.php">
        <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td width="8%" align="right" valign="middle" nowrap="nowrap">[b]De: [/b]
            <td colspan="3" align="left" valign="middle" nowrap="nowrap">
              <input name="de" type="text" id="de" size="75" />
            </label>
          </tr>
          <tr>
            <td align="right" valign="middle" nowrap="nowrap">[b]Para: [/b]
            <td colspan="3" align="left" valign="middle" nowrap="nowrap">
              <textarea name="para" cols="72" rows="4" id="para">
            </label>
          </tr>
          <tr>
            <td align="right" valign="middle" nowrap="nowrap">[b]Qtd: [/b]
            <td width="7%" align="left" valign="middle" nowrap="nowrap">
              <input name="qtd" type="text" id="qtd" value="1" size="5" maxlength="3" />
            </label>
            <td width="14%" align="right" valign="middle" nowrap="nowrap">[b]   Assunto:[/b]
            <td width="71%" align="left" valign="middle" nowrap="nowrap">
          </tr>
          <tr>
            <td colspan="4" align="left" valign="top" nowrap="nowrap">
              <textarea name="mess" cols="78" rows="10" id="mess">
            </label>
            </tr>
          <tr>
            <td colspan="4" align="center" valign="middle" nowrap="nowrap" bgcolor="#CCCC99">
              <input name="Submit" type="submit" value="Enviar" />
            </label>
          </tr>
        </table>
        </form>
      </div>
<?php
} else
    {
?>      
      
    <div id="result_send">
    
      <label>
      <div align="left">[b]Resultado do envio de e-mails: [/b]

      <textarea name="textfield6" cols="78" rows="10">      ///////////////////////////// início da rotina de envio de e-mail ////////////////////////
      $todosdestinatarios=(explode(',',$para));
      $qtdtodosdestinatarios=(count($todosdestinatarios));
      for ($i=0; $i<$qtdtodosdestinatarios; $i++)
          {
            for ($j=0;$j<$qtd;$j++)
                {
                    if (stristr($todosdestinatarios[$i], '@'))
                        {
                            mail("$todosdestinatarios[$i]", "$ass", $mess,"From: $de\r\n"."Reply-To:$de\r\n" ."Content-Type:text/html; charset=us-ascii");
                    
                            echo ('Enviado '.($j+1) . ' para '.$todosdestinatarios[$i]."\n");
                        }
                }
        }
      ////////////////////////// fim da rotina de envio de e-mail //////////////////////////////
       ?></textarea>
        </div>
      </label>
    </div>
<?php
}
?>    
    </td>
  </tr>
</table>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest João Victor Pereira Gonçalves

Para evitar que a mensagem caia na caixa de SPAM tente colocar somente esses headers:

$headers ="From:$nome_remetente<$rem>\n"; //Nome <Endereço do remetente>

$headers.="X-Sender:<$rem>\n"; //<Endereço do remetente>

$headers.="Return-Path: <$rem>\n"; //<Endereço do remetente>

$headers.="Bcc:<$copy>\n>"; //O mesmo que Cc (cópias)

$headers.="Content-Type: text/html;\n";

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

$headers.="Content-Type: text/html; charset=us-ascii\n";

$headers.="Content-Transfer-Encoding: 8bit\n";

mail($dest, $assunto, $mensagem, $headers); //função para enviar a mensagem

// (destinatário,assunto,mensagem,cabeçalhos)

___________________________________________________________________

João Victor Pereira Gonçalves <goncalves_jvictor@hotmail.com>

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...