Jump to content
AlessandroPiaz

Enviar email com php

Recommended Posts

Boa tarde pessoal.

Criei um formulário de contato no meu site, ja vi 3 vídeo aulas, fiz tudo certinho, vi se o php do host ta habilitado e nunca funciona.

Por favor peço que me ajudem porque sou bem leigo em php.

Código html:

<?php
$envio=0;
@$envio= $_REQUEST['envio'];
?>

<!DOCTYPE html>
<html lang="pt-br">

<body>
<?php if($envio==enviado): ?>
<h3>Mensagem enviada. Agradecemos seu contato!</h3>
<?php else: ?>

<form id="formulario" method="post" action="sendmail.php">
<input class="txt" type="text" name="nome" placeholder="Seu nome" required><input class="txt" type="text" name="empresa" placeholder="Sua empresa" required>
<input class="txt" type="text" name="servico" placeholder="O que você precisa" required> <br/><br/>
<input class="txt" type="text" name="numero" placeholder="Seu número" required>
<input class="txt email" type="text" name="email" placeholder="seu@email.com" required> <br/><br/><br/>

<div id="btn" class="animated slideInLeft">
<input class="btn" type="submit" value="Enviar"/><hr class="btn" width="35px" size="2px" color="#fff" align="right" />
</div>
</form>

<?php endif; ?>
</body>
</html>

Código PHP:

<?php
$to= "contato@sunnydesign.com.br";
$subject= "Contato pelo Site";
$nome= $_POST['nome'];
$empresa= $_POST['empresa'];
$servico= $_POST['servico'];
$numero= $_POST['numero'];
$email= $_POST['email'];


    $corpo= "<strong>Mensagem de contato</strong><br/><br/>";
$corpo .="<br/><strong>Nome: </strong> $nome";
$corpo .="<br/><strong>Empresa: </strong> $empresa";
$corpo .="<br/><strong>Serviço: </strong> $servico";
$corpo .="<br/><strong>Numero: </strong> $numero";
$corpo .="<br/><strong>E-mail: </strong> $email";


$header .= "Content-Type: text/html; charset= utf-8\n";
$header="From: $email Reply-to $email\n";


@mail($to,$subject,$corpo,$header);


header("location:formulario.php?envio=enviado");
?>

Share this post


Link to post
Share on other sites

Comece retirando o arroba "@" antes das variáveis e funções. Este serve para inibir os erros e warnings gerados pelo PHP.

Este trecho:

<?php if($envio==enviado): ?>

Sua condição está comparando se o valor da variável é igual a "constante" enviado. Quando na verdade o correto é tratar como VALOR:

<?php if($envio=='enviado'): ?>

Share this post


Link to post
Share on other sites

Comece retirando o arroba "@" antes das variáveis e funções. Este serve para inibir os erros e warnings gerados pelo PHP.

Este trecho:

<?php if($envio==enviado): ?>

Sua condição está comparando se o valor da variável é igual a "constante" enviado. Quando na verdade o correto é tratar como VALOR:

<?php if($envio=='enviado'): ?>

Valeu cara. Mas fiz o que você disse e mesmo assim não funciona. Não sei mais o que fazer :(

Share this post


Link to post
Share on other sites

É só ter um pouco de atenção. Note que no action do seu formulário, a página de destino é sendmail.php

enquanto que sua página de redirecionamento é "formulário.php" no seu caso a página que enviar o email deve se chamar sendmail.php e no location você deve informar a mesma página sendmail.php

Realmente não tem segredo cara, recomendo você estudar mais. Se estiver tentando enviar isso de seu localhost, não vai funcionar, salvo se você tiver servidor de email instalado, o que eu duvido muito que tenha.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Salvatore
      Galera alguem poderia me explicar como faço isto ultilizando php? estou perdido
      tenho que usar varias imagens?
       
      De acordo que ele clica e seleciona a poltrona ela muda de cor 
      RED: OCUPADA
      AZUL: LIVRE

    • By drx
      Olá feras!
       
      Estou recebendo este retorno da conexão: SQLSTATE[HY000] [1049] Base 'dbbase' inconnue
       
      O que é que pode ser?
       
      Tudo certinho. Fala que a dbbase não existe, mas existe.
      Alguém tem uma solução ?
       
      Desde já agradeço.
    • By helkton
      ola galera, dúvida besta, mais ja estou quebrando a cabeça,
      seguinte estou preso  num select <option> vindo do banco de dados
      fiz alguns com o if(){}
      mais é pra saber tipoImovel - interesseImovel ou finalidadeImovel
      esses ai são poucos, ficou dboas fazer um if(){} pra cada. Agora pensa comigo...
      Tenho uma TABELA clientes, guardo as informações dos clientes
      Tenho outra tabela imoveis, com os dados do imóvel e tbm com o cliente que cadastrou o imovel,
      na pagina pra editar-imovel.php, monto o <option> pra consultar na tabela clientes todos os clientes cadastrados, como deixo "selected" no nome do cliente que cadastrou o imóvel??
    • By eduardaarosaa
      Ola!! Estou tentando fazer o upload de múltiplos arquivos usando o laravel. Mas  estou tendo o seguinte erro ao tentar cadastrar: 
      "Call to undefined method Symfony\Component\HttpFoundation\FileBag::extension()"  
      Meu controller:
        public function cadastro_info(Request $request)
          {
              $dataForm = $request->except('_token');
              $nameFile = null;
              $loop = count($request->files);
              for ($i=0; $i< $loop; $i++) {
             
                  $name = uniqid(date('HisYmd'));
                  $extension = $request->files->extension();
                  $nameFile = "{$name}.{$extension}";

                  $upload = $request->files->storeAs('upload', $nameFile);
                }
                  if (!$upload)
                      return redirect()
                          ->back()
                          ->with('error', 'Falha ao fazer upload')
                          ->withInput();
              }
      Minha rota:
       Route::post('/cadastro_empresa', 'Site\SiteController@cadastro_info')->name('cadastro_info');
       
      O que estou carregando no controller:
      use Illuminate\Http\Request;
      use DB;
      use App\Http\Controllers\Controller;
      use App\Models\Site\cadastro;
       
      Gerei o link para o storage já 
       
      Alguém sabe dizer o motivo do erro?
       
      Obrigada!!!
       
       
    • By stefany nogueira
      Não estou esta trazendo a tabela e aparece o seguinte erro:

              
      ( ! ) Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\busca\index.php on line 20
      Call Stack
      #TimeMemoryFunctionLocation
      10.0009402840{main}(  )...\index.php:0
      20.0032418656mysqli_fetch_assoc
      (  )...\index.php:20
                    
       
       
      <?php
          include "conexao.php"
      ?>
          <!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/xhtml1" lang="pt-br" xml:lang="pt-br">
          <head>
              <meta charset="utf-8">
              <title> Busca </title>
          </head>
          <body>
          <form action="results" method="post">
          <select name = convênios>
              <option>Selecione o convênio</option>
              <?php
                  $convenios = "SELECT * FROM convênios";
                  $qrconvenio = mysqli_query($conexao, $convenios);
                  while ($row_convenios = mysqli_fetch_assoc($qrconvenio)) ?>
                      <option value="<?php echo($row_convenios ['id_convenios'])?>"><?php echo($row_convenios ['convenio']) ?></option>
              ?>            
          </select>
      </body>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.