Ir ao conteúdo
  • Cadastre-se

Fábio Marson

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde Gabriel, mais uma vez obrigado pela atenção, existe alguma maneira mais simples para o envio do Formulário Contato com o protocolo SMTP, utilizando somente o PHPMailer? Tenho dúvidas referente à integração entre os arquivos HTML (formulario.html), PHP(enviaFormulario.php), JS ( As funções devem ficar dentro do arquivo "formulario.html" ou dentro do arquivo "enviaFormulario.php" ? ) e o diretório PHPMailer-master (Já contendo o arquivo: PHPMailerAutoload.php) (github) para funcionar o envio do Formulário de Contato, como devo publicar no "public_html" ? Segue a estrutura abaixo: HTML + JS - contato.html <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"/> <title>Contato</title> <link rel="stylesheet" type="text/css" href="_css/estilo.css"/> </head> <script> $("#contact-form").submit(function(e) { $(".alert-success").hide(), $(".alert-danger").hide(), e.preventDefault(), $.ajax({ type: "POST", url: "/resources/controllers/email/send.php", cache: !1, async: !0, data: $(this).serialize(), dataType: "json", success: function(e) { 1 == e ? ($(".alert-success").show(), $("#contact-form")[0].reset()) : $(".alert-danger").show() } }) }); </script> <body> <form class="contact-field" method="POST" action="enviaContato.php" id="contact-form"> <p style="text-transform:none;">Entre em contato, retornaremos em breve!</p> <div class="col-md-12 col-sm-12 col-xs-12" style="padding-left:0"> <div class="single-input-field"> <input name="name" id="name" class="name" placeholder="Nome" type="text" required=""> </div> </div> <div class="col-md-6 col-sm-6 col-xs-12"> <div class="single-input-field"> <input name="phone" id="phone" class="phone" placeholder="Telefone" type="text" required=""> </div> </div> <div class="col-md-6 col-sm-6 col-xs-12"> <div class="single-input-field"> <input name="email" id="email" class="email" placeholder="E-mail" type="email" required=""> </div> </div> <div class="col-md-12 message-input"> <div class="single-input-field"> <textarea name="message" id="message" class="message" placeholder="Mensagem" required=""></textarea> </div> </div> <div style="display:inline-block"> <div class="alert alert-success" style="display:none;" role="alert">Contato enviado com sucesso!</div> <div class="alert alert-danger" style="display:none;" role="alert">Erro! Tente novamente.</div> </div> <div class="single-input-fieldsbtn"> <input value="Enviar" type="submit"> </div> </form> </body> </html> PHP - enviaContato.php <?php include "PHPMailer-master/PHPMailerAutoload.php"; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "mail.seudominio.com.br"; //inserir seu domínio $mail->Port = 25; $mail->SMTPAuth = true; $mail->Username = '[email protected]'; //inserir e-mail $mail->Password = '********'; //inserir senha do e-mail $mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); // $mail->SMTPDebug = 2; $mail->From = "[email protected]"; $mail->FromName = "Seu nome"; //inserir o seu nome $mail->AddAddress('[email protected]', 'Nome'); //destinatário, inserir e-mail e nome //$mail->AddAddress('[email protected]'); // $mail->AddCC('[email protected]', 'Joana'); // $mail->AddBCC('[email protected]', 'Roberto'); $mail->IsHTML(true); $mail->CharSet = 'UTF-8'; $mail->Subject = "Contato - Assunto da mensagem"; //$mail->Body = 'Aqui entra o conteudo texto do email'; $mail->Body .= "Nome: " .$_POST['name']." "; $mail->Body .= "Telefone: ".$_POST['phone']." "; $mail->Body .= "E-mail: " .$_POST['email']." "; $mail->Body .= "Mensagem: ".$_POST['menssage']." "; // $mail->AddAttachment("/home/usuario/public_html/documento.pdf", "documento.pdf"); $enviado = $mail->Send(); if ($enviado) { echo "Seu email foi enviado com sucesso!"; } else { echo "Houve um erro enviando o email: ".$mail->ErrorInfo; } ?> PHPMailer-master (Diretório) Não consegui enviar o Formulário de Contato, poderia por gentileza verificar se os códigos estão corretos ou se é a forma como estou integrando os arquivos ou publicando no "public_html". Desde já agradeço pela ajuda. Abraço.
  2. Boa tarde Gabriel, como vai? Obrigado pelas informações, consultei a documentação do php na qual indicou e encontrei a estrutura abaixo, porém não consegui integrá-la ao código para funcionar. <?php // Pre PHP 7 code use some\namespace\ClassA; use some\namespace\ClassB; use some\namespace\ClassC as C; use function some\namespace\fn_a; use function some\namespace\fn_b; use function some\namespace\fn_c; use const some\namespace\ConstA; use const some\namespace\ConstB; use const some\namespace\ConstC; Estou com outra dúvida também, conforme algumas pesquisas que eu fiz, entendi que para autenticar a transmissão do e-mail via SMTP é necessário baixar o pacote do PHPMailer e também é necessário o diretório vendor/autoload.php, visto isso, baixei o PHPMailer, instalei o composer e efetuei a instalação dos documentos do laravel através do cmd criando um diretório onde estão o PHPMailer, todos os diretórios e arquivos do laravel incluindo vendor/autoload.php e os arquivos do Formulário de Contato: formulario.php e enviaFormulario.php. Não encontrei tutoriais que esclarecessem esta questão, está correto colocar todos esses diretórios e arquivos em um único diretório? Me desculpe se as minhas dúvidas são óbvias ou estão mal formuladas, mas sou iniciante em php e gostaria de criar o formulário SMTP para que as mensagens não caiam no spam, agradeço muito se puder me auxilar, e também ainda não entendi muito bem como funciona o composer / laravel e se realmente preciso usá-los para funcionar esse código. Abraço.
  3. Boa tarde prezados, estou tentando configurar o PHPMailer para envio do Formulário Contato através do Site, porém estão retornando os seguintes erros: Parse error: syntax error, unexpected '.', expecting ',' or ';' in /home/storage/8/5e/d8/iprog1/public_html/enviaFormulario.php on line 2 Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0 *Seguem os códigos: #################### formulário.php #################### <!DOCTYPE html> <html lang="pt-br"> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″/> <title>formulario</title> <link rel="stylesheet" type="text/css" href="_css/estilo.css"/> <link rel="stylesheet" type="text/css" href="_css/form.css"/> </head> <body> <div id="corpo"> <h1 style="border-bottom:2px solid #3EC0F1;padding-bottom:10px">CONTATO</h1> <form method="post" action="enviaFormulario.php" id="contato"> <fieldset id="fContato"><legend><h3>CONTATO</h3></legend> <p><label for="cEmpresa">Empresa </label>&nbsp <input type="text" name="empresa" id="cEmpresa" size="70" maxlength="70" placeholder="Razão Social"/></p> <p><label for="cNome">Nome* </label>&nbsp&nbsp&nbsp&nbsp <input type="text" name="nome" id="cNome" size="70" maxlength="70" placeholder="Nome completo" required /></p> <p><label for="cTelefone">Telefone </label>&nbsp <input type="text" name="telefone" id="cTelefone" size="10" maxlength="10" placeholder="DDD+Telefone"/></p> <p><label for="cCelular">Celular* </label>&nbsp&nbsp <input type="text" name="celular" id="cCelular" size="11" maxlength="11" placeholder="DDD+Celular" required /></p> <p><label for="cEmail">E-mail* </label>&nbsp&nbsp&nbsp <input type="email" name="email" id="cEmail" size="70" maxlength="70" placeholder="E-mail" required /></p> </fieldset> <fieldset id="fMensagem"><legend><h3>MENSAGEM</h3/></legend> <p><label for="cAssunto">Assunto* </label>&nbsp <select name="assunto" id="cAssunto"> <optgroup label="Assunto" required > <option value="orcamento">Orçamento</option> <option value="duvida">Dúvida</option> <option value="sugestao">Sugestão</option> </optgroup> </select> </p> <p><label for="cMensagem">Mensagem* </label><br/> <textarea name="mensagem" id="cMensagem" cols="82" rows="10" maxlength="820" placeholder="Digite aqui a sua mensagem" required ></textarea></p> </fieldset> <input type="reset" value="Limpar" name="botaoLimpar" id="botao"/> <input type="submit" value="Enviar" name="botaoEnviar" id="botao" style="position:relative;left:220px;margin-top:20px"/> </form> </div> </body> </html> #################### enviaFormulario.php #################### <?php use PHPMailer\src\PHPMailer.php; use PHPMailer\src\POP3.php; use PHPMailer\src\OAuth.php; use PHPMailer\src\Exception.php; use PHPMailer\src\SMTP.php; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { $mail->isSMTP(); $mail->Host = 'smtp.seudominio.com.br'; //inserir host $mail->SMTPAuth = true; $mail->Username = '[email protected]'; //inserir e-mail $mail->Password = 'suasenha123'; //inserir senha $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; $mail->setFrom('[email protected]', 'Mailer'); //inserir e-mail $mail->addAddress('[email protected]', 'User'); //inserir e-mail $mail->addReplyTo('[email protected]', 'Information'); //inserir e-mail //$mail->addCC('[email protected]'); //$mail->addBCC('[email protected]'); $mail->addAttachment('/var/tmp/file.tar.gz'); $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); $mail->addAttachment('/tmp/image.pdf', 'new.pdf'); $assunto = $_POST["assunto"]; $mail->isHTML(true); $mail->Subject = '$assunto'; $mail->Body .= "Nome " .$_POST['nome']." "; $mail->Body .= "Telefone ".$_POST['telefone']." "; $mail->Body .= "Celular " .$_POST['celular']." "; $mail->Body .= "E-mail " .$_POST['email']." "; $mail->Body .= "Assunto " .$_POST['assunto']." "; $mail->Body .= "Mensagem ".$_POST['mensagem']." "; $mail->send(); echo 'Mensagem enviada com sucesso!'; } catch (Exception $e) { echo "Mensagem não enviada. Erro de envio: {$mail->ErrorInfo}"; } ?> Desde já agradeço a atenção e espero que possamos resolver este erro e ajudar outras pessoas com o mesmo problema. Abraço.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...