Ir para conteúdo

Arquivado

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

Helison Santos

Envio de e-mail autenticado e válido

Recommended Posts

Boa tarde, pessoal.

Estou construindo uma loja, e os e-mails de transição estão sendo um problema, é o seguinte, a mensagem não vai completamente autenticada porque a aplicação se encontra nos serviços da Hostgator, então remetentes Hotmail não recebem a mensagem pois a mesma não passa nos filtros deles.

Como esta mensagem pode ser validada em um servidor externo e depois envida, usando SMTP ou outra opção? Estou usando PHPMailer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

baixa o PHPmailer https://github.com/S...hive/master.zip



Nele tem exemplo bem simples na pasta EXEMPLES



<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = "smtp.gmail.com.br";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->IsHTML(true);
$mail->Username = "email_do_remetente@gmail.com";
$mail->Password = "senha";
$mail->setFrom('email_do_remetente@gmail.com', 'nome do remetente');
$mail->addAddress('email_do_destinatario@email.com.br', 'nome do destinatario');
$mail->Subject = 'Titulo do email';
$mail->Body = 'teste de mensagem no corpo do email';

//send the message, check for errors
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Enviado";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

baixa o PHPmailer https://github.com/S...hive/master.zip

Nele tem exemplo bem simples na pasta EXEMPLES

<?php
    require 'PHPMailerAutoload.php';
    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->SMTPDebug = 0;
    $mail->Debugoutput = 'html';
    $mail->Host = "smtp.gmail.com.br";
    $mail->Port = 587;
    $mail->SMTPAuth = true;
    $mail->IsHTML(true);
    $mail->Username = "email_do_remetente@gmail.com";
    $mail->Password = "senha";
    $mail->setFrom('email_do_remetente@gmail.com', 'nome do remetente');
    $mail->addAddress('email_do_destinatario@email.com.br', 'nome do destinatario');
    $mail->Subject = 'Titulo do email';
    $mail->Body = 'teste de mensagem no corpo do email';
    
    //send the message, check for errors
    if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Enviado";
    }
?>

 

Sim já estou usando ele e o envio acontece, mais a questão é que o e-mail remetente precisa ser @meudominio.com.br, andei especulando se eu conseguiria fazer isso usando Google Apps, configurando o spf e dkmi deles. Mais ainda não testei essa teoria. Tecnicamente funcionaria. Vou testar hoje mais tarde. Vou dar uma olhada nesta pasta de exemplos também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando as credenciais do Google Apps, com seus devidos dados de SPF e DKIM, funcionou perfeitamente. Com Gmail @gmail.com também funciona, mais no caso de e-mail empresarial é só colocar o reply para o e-mail desejado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Show :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
       
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div> Segue o código do enviar.php
       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html');  ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.

    • Por fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div>  
      Segue o código do enviar.php

       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html'); ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.
       
       
       
       

    • Por jrdesign
      OLÁ,TUDO BEM? O MEU HTML ESTÁ ASSIM. VEJA ABAIXO. ERA PRA ME ENVIAR UM EMAIL COM OS DADOS PREENCHIDOS E LIVERAR O DONLOAD, MAS NÃO CONSEGUI... O E-MAIL NÃO CHEGA, MAS PELO MENOS LIBERA O DOWNLOAD.
       
      <div class="contact-form2">
                              <form method="post" action="baixa2.php" name="contatos" onSubmit="return Valida();">
                                  <ul class="list-unstyled">
                                      <p>
                                      <input name="nome" required type="my_name"  class="textbox right" value="Nome" onfocus="if(this.value == 'Nome') this.value='';"></p>
                                   
                                  
                                  
                                      
                                      <p>Formato Telefone: (xx)-xxxx-xxxx</p>
                                      <p>
                                      <input name="telefone" pattern="^\((\d{2})\)\s?(\d{4,5}\-?\d{4})$"  type="tel" required  class="textbox right" value="Telefone" onfocus="if(this.value == 'Telefone') this.value='';"></p>
                                  
                                   
                                  
                                      <p>
                                      <input name="email"  type="email" required  class="textbox right" value="E-mail" onfocus="if(this.value == 'E-mail') this.value='';" onblur="if(this.value == '') this.value='E-mail';"></p>
                                  
                                  
                                  
                                  
                                  
                                  
                                 
                                      <? echo $statusde;?>
                                   <p><input type="submit" class="fa-align-left" value="Enviar"></p>
                                   <p><input type="hidden" name="send" value="true"></p>
               </ul>                      
            </form>
       
       
       
      E O PHP ESTÁ ASSIM!!! 
       
       
      <?php
      if(@$_POST['send'] == "true"){ // Se o form nao for preenchido ele nao ira enviar o email>>>
      // Aqui voce coloca o E-MAIL para onde sera enviado o EMAIL>>>>>>>>>
      $destinatario = 'meuemail@meuemail.com.br';
      //$destino ='meuemail@meuemail.com.br'; 
      $nome = $_POST['nome'];
      $telefone = $_POST['telefone'];
      $email = $_POST['email'];
      $headers  = "Content-Type: text/html; charset=iso-8859-1\n";
      $headers .= "From: $destinatario - Baixou Cartálogo <meuemail@meuemail.com.br>\r\n"; // colocar o email da plocad.
      $fonte = "<font size=\"-1\" face=\"Verdana, Arial, Helvetica, sans-serif\">";
      $msg  = "$fonte Você recebeu um e-mail de: $email <br>";
      $msg .= "<br> Nome: $nome <br> ";
      $msg .= "<br> Telefone: $telefone ";
      $msg .= "<br> E-mail: $email <br>";

      $envia = mail("$destinatario", "$msg", "$headers");
      if(@$_POST['send'] == "true"){
      if($envia){
      $statusde="<font color='#FF0000'> Aguarde o download iniciar!</font>";
      }else{
      $statusde="<font color='#FF0000'>Erro ao enviar, favor enviar novamente.</font>";
      }
      }

      if($envia){
      $statusde="<font color='#FF0000'>Aguarde o download iniciar!</font>";
      }else{
      $statusde="<font color='#FF0000'>Erro ao enviar, favor enviar novamente.</font>";
      }
      }
            
               if($envia) {
                                  echo "Agradecemos seu contato, Ok para iniciar o Download!";
                                  echo "<script>alert(\"Clique em OK para iniciar o Download!\")</script>";
                                  echo "<script>window.location = \"1.pdf\"</script>";
                              }
                              else{/*seu ouve algum erro...*/
                                  echo "<p><b>$nome</b><br />Ouve um erro no envio, desculpe-nos pelo transtorno!!!</p>";
                              }
                              
                      
      ?>

    • Por jrdesign
      Bom dia, sou novo em php, abaixo está a forma que estou tentando fazer, porém o email não está chegando. Não tenho acesso ao servidor para fazer os testes. 
      Após preencher o formulário com nome. e-mail e telefone... aparece para fazer o download e clicando em ok libera o dowload, mas não chega o e-mail com os dados preenchidos. 
      Hospedagem Locaweb.
       
      Obrigado a todos.
       
      <?php
      if(@$_POST['send'] == "true"){ // Se o form nao for preenchido ele nao ira enviar o email>>>
      // Aqui voce coloca o E-MAIL para onde sera enviado o EMAIL>>>>>>>>>
      $destinatario = 'meuemail@meuemail.com.br';
      //$destino ='meuemail@meuemail.com.br'; 
      $nome = $_POST['nome'];
      $telefone = $_POST['telefone'];
      $email = $_POST['email'];
      $headers  = "Content-Type: text/html; charset=iso-8859-1\n";
      $headers .= "From: $destinatario - Baixou Cartálogo <meuemail@meuemail.com.br>\r\n"; // colocar o email da plocad.
      $fonte = "<font size=\"-1\" face=\"Verdana, Arial, Helvetica, sans-serif\">";
      $msg  = "$fonte Você recebeu um e-mail de: $email <br>";
      $msg .= "<br> Nome: $nome <br> ";
      $msg .= "<br> Telefone: $telefone ";
      $msg .= "<br> E-mail: $email <br>";

      $envia = mail("$destinatario", "$msg", "$headers");
      if(@$_POST['send'] == "true"){
      if($envia){
      $statusde="<font color='#FF0000'> Aguarde o download iniciar!</font>";
      }else{
      $statusde="<font color='#FF0000'>Erro ao enviar, favor enviar novamente.</font>";
      }
      }

      if($envia){
      $statusde="<font color='#FF0000'>Aguarde o download iniciar!</font>";
      }else{
      $statusde="<font color='#FF0000'>Erro ao enviar, favor enviar novamente.</font>";
      }
      }
            
               if($envia) {
                                  echo "Agradecemos seu contato, Ok para iniciar o Download!";
                                  echo "<script>alert(\"Clique em OK para iniciar o Download!\")</script>";
                                  echo "<script>window.location = \"1.pdf\"</script>";
                              }
                              else{/*seu ouve algum erro...*/
                                  echo "<p><b>$nome</b><br />Ouve um erro no envio, desculpe-nos pelo transtorno!!!</p>";
                              }
                              
                      
      ?>
×

Informação importante

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