Jump to content
Sign in to follow this  
Eduardo Rissao

Ajuda PHPMailer

Recommended Posts

Olá,

Estou com muita dificuldade em algo que me parece simples, que envolve envio de e-mails por meio de um formulário de contato.

Bem, vamos lá.

 

Tenho um formulário de contato no meu site, porem sem funcionar. Link: http://grmoveisplane....br/contato.php

O código para envio do e-mail dele é esse:

  1. <?
  2. $assu = "Contato pelo Site";
  3. $header = "From: {$email}\n";
  4. $header .= "Organization: GR Moveis\n";
  5. $header .= "MIME-Version: 1.0\n";
  6. $header .= "Content-Type: text/html; charset=iso-8859-1\n";
  7. $header .= "Content-Transfer-Encoding: 8bit\n";
  8. $mens = "<html><head><title>Entre em contato</title>
  9. </head>
  10. <body bgcolor=#ffffff text=#000000 topmargin=0 leftmargin=0>
  11.  
  12. <table width=100% align=center>
  13.     <tr>
  14.         <td width=30%>Nome</td>
  15.         <td>$nome</td>
  16.     </tr>
  17.     
  18.     <tr>
  19.         <td width=30%>E-mail</td>
  20.         <td>$email</td>
  21.     </tr>
  22.     
  23.     <tr>
  24.         <td width=30%>Assunto</td>
  25.         <td>$mensagem</td>
  26.     </tr>
  27. </table>
  28.  
  29. </body>";
  30.  
  31. require_once('mail/phpmailer/class.phpmailer.php');
  32.  
  33. $time = time();
  34.  
  35. $mail = new PHPMailer();
  36.  
  37. //$body = file_get_contents('contents.html');
  38. //$body = eregi_replace("[\]",'',$body);
  39.  
  40. $body = $mens;
  41.  
  42. $mail->IsSMTP(); // telling the class to use SMTP
  43. $mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
  44. // 1 = errors and messages
  45. // 2 = messages only
  46. $mail->SMTPAuth = true; // enable SMTP authentication
  47. $mail->SMTPSecure = "tls";
  48. $mail->Host = "mx2.weblink.com.br"; // sets the SMTP server
  49. $mail->Port = 2525; // set the SMTP port for the GMAIL server
  50. $mail->Username = "teste@grmoveisplanejados.com.br"; // SMTP account username
  51. $mail->Password = "SENHADOEMAIL"; // SMTP account password
  52.  
  53. $mail->SetFrom($email, $nome);
  54.  
  55. $mail->AddReplyTo($email, $nome);
  56.  
  57. $mail->Subject = $assu;
  58.  
  59. $mail->AltBody = "Para ver a mensagem, use um leitor de e-mail compativel com HTML."; // optional, comment out and test
  60.  
  61. $mail->MsgHTML($body);
  62.  
  63. $address = "teste@grmoveisplanejados.com.br";
  64. $mail->AddAddress($address, "Contato");
  65.  
  66. //$mail->AddAttachment("images/phpmailer.gif"); // attachment
  67. //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
  68.  
  69. if(!$mail->Send()) {
  70.     echo "A mensagem nao pode ser enviada. Mensagem de erro: " . $mail->ErrorInfo;
  71. } else {
  72.     echo "E-mail enviado com sucesso!";
  73. }
  74. ?>

O problema dele está na hora de receber o e-mail. Acontece assim:

 

Eu digito todas as informações no formulário de contato: http://prntscr.com/6lzme0

Clico em Enviar.

Aparece que foi enviado com sucesso: http://prntscr.com/6lzmv6

 

Até ai beleza.

 

Entro no e-mail de teste que eu criei e coloquei para receber os e-mail do formulário.

O e-mail é recebido: http://prntscr.com/6lzngk

 

Porem, ele não envia informação NENHUMA do formulário de contato, veja: http://prntscr.com/6lznoz

 

Alguem tem ideia do que eu posso fazer para fazer essa coisa funcionar?

 

Atenciosamente,

Eduardo Rissão

 

Share this post


Link to post
Share on other sites

Tá faltando o GET da variável $mensagem e $nome, você deve setar o GET nesta página para pegar do formulário e botar para enviar pegando do seu formulário o mesmo que está no name="**". 

Share this post


Link to post
Share on other sites

Olá,

Estou com muita dificuldade em algo que me parece simples, que envolve envio de e-mails por meio de um formulário de contato.

Bem, vamos lá.

 

Tenho um formulário de contato no meu site, porem sem funcionar. Link: http://grmoveisplane....br/contato.php

O código para envio do e-mail dele é esse:

  1. <?
  2. $assu = "Contato pelo Site";
  3. $header = "From: {$email}\n";
  4. $header .= "Organization: GR Moveis\n";
  5. $header .= "MIME-Version: 1.0\n";
  6. $header .= "Content-Type: text/html; charset=iso-8859-1\n";
  7. $header .= "Content-Transfer-Encoding: 8bit\n";
  8. $mens = "<html><head><title>Entre em contato</title>
  9. </head>
  10. <body bgcolor=#ffffff text=#000000 topmargin=0 leftmargin=0>
  11.  
  12. <table width=100% align=center>
  13.     <tr>
  14.         <td width=30%>Nome</td>
  15.         <td>$nome</td>
  16.     </tr>
  17.     
  18.     <tr>
  19.         <td width=30%>E-mail</td>
  20.         <td>$email</td>
  21.     </tr>
  22.     
  23.     <tr>
  24.         <td width=30%>Assunto</td>
  25.         <td>$mensagem</td>
  26.     </tr>
  27. </table>
  28.  
  29. </body>";
  30.  
  31. require_once('mail/phpmailer/class.phpmailer.php');
  32.  
  33. $time = time();
  34.  
  35. $mail = new PHPMailer();
  36.  
  37. //$body = file_get_contents('contents.html');
  38. //$body = eregi_replace("[\]",'',$body);
  39.  
  40. $body = $mens;
  41.  
  42. $mail->IsSMTP(); // telling the class to use SMTP
  43. $mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
  44. // 1 = errors and messages
  45. // 2 = messages only
  46. $mail->SMTPAuth = true; // enable SMTP authentication
  47. $mail->SMTPSecure = "tls";
  48. $mail->Host = "mx2.weblink.com.br"; // sets the SMTP server
  49. $mail->Port = 2525; // set the SMTP port for the GMAIL server
  50. $mail->Username = "teste@grmoveisplanejados.com.br"; // SMTP account username
  51. $mail->Password = "SENHADOEMAIL"; // SMTP account password
  52.  
  53. $mail->SetFrom($email, $nome);
  54.  
  55. $mail->AddReplyTo($email, $nome);
  56.  
  57. $mail->Subject = $assu;
  58.  
  59. $mail->AltBody = "Para ver a mensagem, use um leitor de e-mail compativel com HTML."; // optional, comment out and test
  60.  
  61. $mail->MsgHTML($body);
  62.  
  63. $address = "teste@grmoveisplanejados.com.br";
  64. $mail->AddAddress($address, "Contato");
  65.  
  66. //$mail->AddAttachment("images/phpmailer.gif"); // attachment
  67. //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
  68.  
  69. if(!$mail->Send()) {
  70.     echo "A mensagem nao pode ser enviada. Mensagem de erro: " . $mail->ErrorInfo;
  71. } else {
  72.     echo "E-mail enviado com sucesso!";
  73. }
  74. ?>

O problema dele está na hora de receber o e-mail. Acontece assim:

 

Eu digito todas as informações no formulário de contato: http://prntscr.com/6lzme0

Clico em Enviar.

Aparece que foi enviado com sucesso: http://prntscr.com/6lzmv6

 

Até ai beleza.

 

Entro no e-mail de teste que eu criei e coloquei para receber os e-mail do formulário.

O e-mail é recebido: http://prntscr.com/6lzngk

 

Porem, ele não envia informação NENHUMA do formulário de contato, veja: http://prntscr.com/6lznoz

 

Alguem tem ideia do que eu posso fazer para fazer essa coisa funcionar?

 

Atenciosamente,

Eduardo Rissão

No caso, tu tens que englobar a sua tabela do formulário com o atributo form

  <form method="POST">
</form>

Ajude o fórum! Antes de postar, leiam as regras de postagem aqui.

Share this post


Link to post
Share on other sites

 

No caso, tu tens que englobar a sua tabela do formulário com o atributo form

  <form method="POST">
</form>

 

É que o formulário em si fica em outro php, um que só monta a página mesmo.

Ai é o código que envia o e-mail.

 

Tá faltando o GET da variável $mensagem e $nome, você deve setar o GET nesta página para pegar do formulário e botar para enviar pegando do seu formulário o mesmo que está no name="**". 

Pode dar um exemplo, fazendo o get do nome e colocando no código para mim?

O resto eu faço...

 

Onde você está recebendo as variáveis do formulário (POST ou GET)?

Então, acho que nenhum dos dois.

O estranho é que antes isso funcionava.. (Parou depois que transferiu o site)

Share this post


Link to post
Share on other sites

@Eduardo Rissao

Exemplo de um formulário básico:

 

enviar.php

<?
//pega as variaveis por POST
$nome      = $_POST["nome"];
$email   = $_POST["email"];
$assunto   = $_POST["assunto"];
$mensagem  = $_POST["mensagem"];

global $email; //função para validar a variável $email no script todo

$data      = date("d/m/y");                     //função para pegar a data de envio do e-mail
$hora      = date("H:i");                       //para pegar a hora com a função date

//aqui envia o e-mail para você
mail ("seu@email.com.br",                       //email aonde o php vai enviar os dados do form
      "$assunto",
      "Data: $data\nHora: $hora\nNome: $nome\nE-mail: $email\n\nMensagem: $mensagem",
      "From: $email"
     );

//aqui são as configurações para enviar o e-mail para o visitante
$site   = "email@email.com.br";                    //o e-mail que aparecerá na caixa postal do visitante
$titulo = "Pedido de contato enviado com sucesso!";                  //titulo da mensagem enviada para o visitante
$msg    = "$nome, obrigado por entrar em contato conosco, em breve entraremos em contato";

//aqui envia o e-mail de auto-resposta para o visitante
mail("$email",
     "$titulo",
     "$msg",
     
    );

  $alerta = "Obrigado! Sua mensagem foi enviada com sucesso.";

  // Mostra a mensagem acima e redireciona para index.html
  echo "<script>location.href=`index.html`; alert(`$alerta`);</script>";
?>

código html


<form id="topbar_login" action="enviar.php" method="POST">
                                <input type="hidden">
                                                         
                                  
                            <table border="0" cellpadding="0" cellspacing="0" width="500">
                              <tr> 
                                <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">Nome:<br> <input type="text" size="30" name="nome" value=""></td>
                              </tr>
                           
                              <tr> 
                                <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">E-mail:<br>
                                  <input type="text" size="30" name="email" value=""></td>
                              </tr>
                               <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">Assunto:<br> <input type="text" size="30" name="assunto" value=""></td>
                              </tr>
                              <tr> 
                                <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">Mensagem:<br>
                                  <textarea cols="40" rows="10" name="mensagem"></textarea> 
                                </td>
                              </tr>
                              <tr> 
                               <td height="40" align="left"><input name="submit" type="submit" class="button" style="width:100px" value="Entrar"><input name="reset" type="reset" class="button" value="Limpar"></td>
                              </tr>
                            </table>
                               
                              </form>




Ajude o fórum! Antes de postar, leiam as regras de postagem aqui.

Share this post


Link to post
Share on other sites

 

@Eduardo Rissao

Exemplo de um formulário básico:

 

enviar.php

<?
//pega as variaveis por POST
$nome      = $_POST["nome"];
$email   = $_POST["email"];
$assunto   = $_POST["assunto"];
$mensagem  = $_POST["mensagem"];

global $email; //função para validar a variável $email no script todo

$data      = date("d/m/y");                     //função para pegar a data de envio do e-mail
$hora      = date("H:i");                       //para pegar a hora com a função date

//aqui envia o e-mail para você
mail ("seu@email.com.br",                       //email aonde o php vai enviar os dados do form
      "$assunto",
      "Data: $data\nHora: $hora\nNome: $nome\nE-mail: $email\n\nMensagem: $mensagem",
      "From: $email"
     );

//aqui são as configurações para enviar o e-mail para o visitante
$site   = "email@email.com.br";                    //o e-mail que aparecerá na caixa postal do visitante
$titulo = "Pedido de contato enviado com sucesso!";                  //titulo da mensagem enviada para o visitante
$msg    = "$nome, obrigado por entrar em contato conosco, em breve entraremos em contato";

//aqui envia o e-mail de auto-resposta para o visitante
mail("$email",
     "$titulo",
     "$msg",
     
    );

  $alerta = "Obrigado! Sua mensagem foi enviada com sucesso.";

  // Mostra a mensagem acima e redireciona para index.html
  echo "<script>location.href=`index.html`; alert(`$alerta`);</script>";
?>

código html


<form id="topbar_login" action="enviar.php" method="POST">
                                <input type="hidden">
                                                         
                                  
                            <table border="0" cellpadding="0" cellspacing="0" width="500">
                              <tr> 
                                <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">Nome:<br> <input type="text" size="30" name="nome" value=""></td>
                              </tr>
                           
                              <tr> 
                                <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">E-mail:<br>
                                  <input type="text" size="30" name="email" value=""></td>
                              </tr>
                               <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">Assunto:<br> <input type="text" size="30" name="assunto" value=""></td>
                              </tr>
                              <tr> 
                                <td width="221" height="25" align="left" class="classe caso queira usar css" scope="col">Mensagem:<br>
                                  <textarea cols="40" rows="10" name="mensagem"></textarea> 
                                </td>
                              </tr>
                              <tr> 
                               <td height="40" align="left"><input name="submit" type="submit" class="button" style="width:100px" value="Entrar"><input name="reset" type="reset" class="button" value="Limpar"></td>
                              </tr>
                            </table>
                               
                              </form>



 

Funcionou!!!!

Muito obrigado!!!

 

Ps: Tive que desabilitar a auto resposta pelo php (vou fazer pelo painel da host), pois dava erro.

Share this post


Link to post
Share on other sites

Funcionou!!!!

Muito obrigado!!!

 

Ps: Tive que desabilitar a auto resposta pelo php (vou fazer pelo painel da host), pois dava erro.

Estranho! 

Mas que bom que funcionou. Posso fechar o tópico, ou teria mais alguma dúvida?


Ajude o fórum! Antes de postar, leiam as regras de postagem aqui.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.





×
×
  • Create New...