Ir para conteúdo

POWERED BY:

Arquivado

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

salomaobarbosas

Problema ao enviar dados do formulário por e-mail

Recommended Posts

Olá a todos, bom estou em um projeto de construção de um site para uma empresa, nela, estou precisando desenvolver um formulário de contato, porém o mesmo não esta funcionando e ocorre erros não enviando os dados ao e-mail, além de que por ser novato em php não sei como adicionar avisos caso as informações não sejam dos campos corretos. Abaixo estará o código html e php. Desde já agradeço. OBS: Utilizei o Bootstrap também no site html.

<section class="formulario">
      <h1 class="font-weight-light text-black-50 text-center">Contato</h1>
      <p class="font-weight-light text-black-50 text-center"><span style="color:#dc3545">*</span> Campos obrigatórios</p>
      <form class="mt-5" action="contato1.php" name="form_contato" method="post">
        <div class="d-flex">
          <div class="form-group col-md-6">
            <label for="#NomeCompleto" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Nome <span style="color:#dc3545">*</span></label>
            <input type="text" name="nome" class="form-control" id="NomeCompleto" placeholder="Nome Completo" required>
          </div>
          <div class="form-group col-md-6">
            <label for="#EmailEnviar" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Email <span style="color:#dc3545">*</span></label>
            <input type="email" name="email" class="form-control" id="EmailEnviar" placeholder="name@gmail.com" required>
          </div>
        </div>
       <div class="col">
          <label for="#validationDefault05" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Assunto <span style="color:#dc3545">*</span></label>
          <input type="text" name="assunto" class="form-control" placeholder="Assunto sobre a mensagem">
       </div>
       <div class="col">
         <label for="#exampleFormControlTextarea" style="font-size: 1.5em;" class="text-black-50 font-weight-light">Mensagem <span style="color:#dc3545"></span></label>
         <textarea type="text" name="msg" class="form-control rounded-1" id="exampleFormControlTextarea" rows="4" placeholder="Deixe sua mensagem"></textarea>
       </div><Br>
       <div class="col">
       <button type="submit" value="Enviar" class="btn btn-outline-danger btn-lg btn-block">ENVIAR</button>
       </div>
      </form>
    </section>
<?php
# alterar a variavel abaixo colocando o seu email

// header
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=".$charset."\r\n";
$headers .= "Reply-To: ".$email."\r\n";
//$headers .= "Cc: copia@seudominio\r\n"; //CAMPO COPIA OPCIONAL
//$headers .= "Bcc: copiaoculta@seudominio\r\n"; //CAMPO COPIA OCULTA OPCIONAL
$headers .= "Return-Path: comercial@jeaseg.com.br \r\n"; // return-path
$headers .= "From: \"Contato - Site\" \r\n";



$destinatario = "comercial@jeaseg.com.br";

$nome = $_REQUEST['nome'];
$email = $_REQUEST['email'];
$msg = $_REQUEST['msg'];
$assunto = $_REQUEST['assunto'];




 // monta o e-mail na variavel $body

$body = "===================================" . "\n";
$body = $body . "INFORMAÇÕES DE CONTATO" . "\n";
$body = $body . "===================================" . "\n\n";
$body = $body . "Nome: " . $nome . "\n";
$body = $body . "Email: " . $email . "\n";
$body = $body . "Mensagem: " . $msg . "\n\n";
$body = $body . "===================================" . "\n";

// envia o email
$envio = mail($destinatario, $assunto , $body, "From: $email\r\n");

// redireciona para a página de obrigado
header("location:index.html");


?>

Precisa de mais alguma coisa que preciso adicionar? Seja no e-mail oficial da empresa, no código, entre outros?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é possível enviar email em localhost sem utilização de uma autenticação SMTP.

 

Indico a utilização da classe PHPMailer para isso, é extremamente fácil de utilizar e a mais utilizada, veja: http://blog.thiagobelem.net/enviar-e-mails-pelo-php-usando-o-phpmailer

Baixe no Git também: https://github.com/PHPMailer/PHPMailer

 

Aqui no fórum tem bastante conteúdo sobre, pesquise sobre a classe.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por ILR master
      Fala pessoal, tudo bem?
       
      Eu tenho o seguinte código:
       
      <script>
         $(function(){
      var jElement = $('.fixar_banner');
      $(window).scroll(function(){
          if ( $(this).scrollTop() > 120 ){
              jElement.css({
                  'position':'fixed',
                  'top':'10px'
              });
          }else{
              jElement.css({
                  'position':'relative',
                  'top':'auto'
              });
          }
      });
      });
      </script>
       
      Porém, eu quero que a div fique fixa até que outro elemento apareça na tela, tipo o rodapé da página por exemplo. É mais ou menos como a página de notícia do uol.
      https://noticias.uol.com.br/internacional/ultimas-noticias/2025/01/19/sonho-americano-brasileiros-moram-em-carro-e-buscam-comida-no-lixo-nos-eua.htm
       
      Espero ter sido claro.
       
      Obrigado :)
       
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
×

Informação importante

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