{"id":2743,"date":"2017-04-20T08:46:55","date_gmt":"2017-04-20T11:46:55","guid":{"rendered":"https:\/\/kinghost.com.br\/wiki\/?post_type=article&#038;p=2743"},"modified":"2023-03-10T10:20:17","modified_gmt":"2023-03-10T13:20:17","slug":"criar-formulario-em-php-autenticado","status":"publish","type":"article","link":"https:\/\/king.host\/wiki\/artigo\/criar-formulario-em-php-autenticado\/","title":{"rendered":"PHPMailer: Criando um formul\u00e1rio em PHP autenticado"},"content":{"rendered":"\n<p>Porque devo utilizar um formul\u00e1rio em PHPMailer?<br>Um formul\u00e1rio de contato em seu site facilita a comunica\u00e7\u00e3o de seus clientes e pessoas que t\u00eam interesse em seu neg\u00f3cio. No caso do PHPMailer, o envio \u00e9 feito de forma autenticada.<\/p>\n\n\n\n<p>Isto \u00e9, voc\u00ea utiliza o servidor SMTP do seu dom\u00ednio para enviar as mensagens. De um modo n\u00e3o autenticado voc\u00ea normalmente faz o envio atrav\u00e9s do pr\u00f3prio servidor web. Voc\u00ea pode conferir a documenta\u00e7\u00e3o completa no endere\u00e7o <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/PHPMailer\/PHPMailer<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"E_como_utilizar_essa_classe_de_envio\"><\/span>E como utilizar essa classe de envio?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Para conseguir enviar emails pelo seu site via autentica\u00e7\u00e3o SMTP ser\u00e1 necess\u00e1rio fazer uso da classe. Portanto, fa\u00e7a o download da vers\u00e3o mais recente pelo link informado acima ou ent\u00e3o fa\u00e7a o download da vers\u00e3o 5.2.23 <span style=\"color: #808080;\">(abril de 2017)<\/span> aqui &#8211; <a href=\"http:\/\/kinghost.com.br\/wiki\/wp-content\/arquivos\/phpmailer.zip\"><span class=\"button is-light\">DOWNLOAD CLASSE PHPMAILER<\/span><\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/kinghost.com.br\/wiki\/wp-content\/uploads\/2017\/04\/arquivos-phpmailerclass1.png\"><img data-original=\"https:\/\/kinghost.com.br\/wiki\/wp-content\/uploads\/2017\/04\/arquivos-phpmailerclass1.png\" alt=\"\"\/><\/a><\/figure><\/div>\n\n\n<p>Depois de ter baixado, insira os arquivos <span class=\"color:#ccc;\">PHPMailerAutoload.php<\/span>, <span class=\"color:#ccc;\">class.phpmailer.php<\/span> e <span class=\"color:#ccc;\">class.smtp.php<\/span> em alguma pasta do seu FTP. <span style=\"color: #808080;\">Neste exemplo vamos utilizar uma pasta chamada <strong>autenvio<\/strong>.<\/span><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configurando_os_dados_de_autenticacao_SMTP\"><\/span>Configurando os dados de autentica\u00e7\u00e3o SMTP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Crie um novo arquivo no mesmo n\u00edvel do diret\u00f3rio onde colocou os arquivos da classe. <span style=\"color: #808080;\">O nome do arquivo fica a sua escolha, neste exemplo ser\u00e1 utilizado o <strong>envia.php<\/strong><\/span>.<br>O arquivo deve conter o c\u00f3digo abaixo e voc\u00ea deve fazer as devidas altera\u00e7\u00f5es para que o mesmo funcione:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\"><strong>Linha 3 \u2013 require_once(\u201cautenvio\/PHPMailerAutoload.php\u201d)<\/strong>: Defina o caminho correto do arquivo class.phpmailer.php<br><strong>Linha 9 \u2013 $mail-&gt;Host = \u201csmtp.seudominio.com.br\u201d<\/strong>: Defina corretamente o seu host de envio SMTP<br><strong>Linha 14 \u2013 $mail-&gt;Username = \u2018conta-de-email@seudominio.com.br\u2019<\/strong>: Conta que far\u00e1 o envio das mensagens (deve ser uma conta existente e ativa no seu dom\u00ednio)<br><strong>Linha 15 \u2013 $mail-&gt;Password = \u2018senha\u2019<\/strong>: Defina a senha da sua conta de email que far\u00e1 o envio da mensagem<br><strong>Linha 18 \u2013 $mail-&gt;Sender = \u201cconta-de-email@seudominio.com.br\u201d<\/strong>: Conta que far\u00e1 o envio das mensagens (deve ser uma conta existente e ativa no seu dom\u00ednio)<br><strong>Linha 23 \u2013 $mail-&gt;AddAddress(\u2018recebe1@dominio.com.br\u2019)<\/strong>: Defina a conta que receber\u00e1 as mensagens<br><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">&lt;?php\n \/\/ Adiciona o arquivo class.phpmailer.php - voc\u00ea deve especificar corretamente o caminho da pasta com o este arquivo.\n require_once(\"autenvio\/PHPMailerAutoload.php\");\n \/\/ Inicia a classe PHPMailer\n $mail = new PHPMailer();\n \/\/ DEFINI\u00c7\u00c3O DOS DADOS DE AUTENTICA\u00c7\u00c3O - Voc\u00ea deve alterar conforme o seu dom\u00ednio!\n $mail->IsSMTP(); \/\/ Define que a mensagem ser\u00e1 SMTP\n $mail->Host = \"smtp.seudominio.com.br\"; \/\/ Seu endere\u00e7o de host SMTP\n $mail->SMTPAuth = true; \/\/ Define que ser\u00e1 utilizada a autentica\u00e7\u00e3o -  Mantenha o valor \"true\"\n $mail->Port = 587; \/\/ Porta de comunica\u00e7\u00e3o SMTP - Mantenha o valor \"587\"\n $mail->SMTPSecure = false; \/\/ Define se \u00e9 utilizado SSL\/TLS - Mantenha o valor \"false\"\n $mail->SMTPAutoTLS = true; \/\/ Define se, por padr\u00e3o, ser\u00e1 utilizado TLS - Mantenha o valor \"false\"\n $mail->Username = 'conta-de-email@seudominio.com.br'; \/\/ Conta de email existente e ativa em seu dom\u00ednio\n $mail->Password = ''; \/\/ Senha da sua conta de email\n \/\/ DADOS DO REMETENTE\n $mail->Sender = \"conta-de-email@seudominio.com.br\"; \/\/ Conta de email existente e ativa em seu dom\u00ednio\n $mail->From = \"conta-de-email@seudominio.com.br\"; \/\/ Sua conta de email que ser\u00e1 remetente da mensagem\n $mail->FromName = \"Form do site\"; \/\/ Nome da conta de email\n \/\/ DADOS DO DESTINAT\u00c1RIO\n $mail->AddAddress('recebe1@dominio.com.br', 'Nome - Recebe1'); \/\/ Define qual conta de email receber\u00e1 a mensagem\n \/\/$mail->AddAddress('recebe2@dominio.com.br'); \/\/ Define qual conta de email receber\u00e1 a mensagem\n \/\/$mail->AddCC('copia@dominio.net'); \/\/ Define qual conta de email receber\u00e1 uma c\u00f3pia\n \/\/$mail->AddBCC('copiaoculta@dominio.info'); \/\/ Define qual conta de email receber\u00e1 uma c\u00f3pia oculta\n \/\/ Defini\u00e7\u00e3o de HTML\/codifica\u00e7\u00e3o\n $mail->IsHTML(true); \/\/ Define que o e-mail ser\u00e1 enviado como HTML\n $mail->CharSet = 'utf-8'; \/\/ Charset da mensagem (opcional)\n \/\/ DEFINI\u00c7\u00c3O DA MENSAGEM\n $mail->Subject  = \"Formul\u00e1rio de Contato\"; \/\/ Assunto da mensagem\n $mail->Body .= \" Nome: \".$_POST['nome'].\"\n\"; \/\/ Texto da mensagem\n $mail->Body .= \" E-mail: \".$_POST['email'].\"\n\"; \/\/ Texto da mensagem\n $mail->Body .= \" Assunto: \".$_POST['assunto'].\"\n\"; \/\/ Texto da mensagem\n $mail->Body .= \" Mensagem: \".nl2br($_POST['mensagem']).\"\n\"; \/\/ Texto da mensagem\n \/\/ ENVIO DO EMAIL\n $enviado = $mail->Send();\n \/\/ Limpa os destinat\u00e1rios e os anexos\n $mail->ClearAllRecipients();\n \/\/ Exibe uma mensagem de resultado do envio (sucesso\/erro)\n if ($enviado) {\n   echo \"E-mail enviado com sucesso!\";\n } else {\n   echo \"N\u00e3o foi poss\u00edvel enviar o e-mail.\";\n   echo \"<strong>Detalhes do erro:<\/strong> \" . $mail->ErrorInfo;\n }<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tudo_certo_ate_aqui_Como_colocar_o_formulario_no_site\"><\/span>Tudo certo at\u00e9 aqui! Como colocar o formul\u00e1rio no site?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Crie um novo arquivo e o insira dentro do mesmo diret\u00f3rio onde colocou o arquivo acima o seguinte conte\u00fado &#8211; ou, se preferir, fa\u00e7o o download aqui: <a href=\"http:\/\/king.host\/wiki\/wp-content\/arquivos\/form.zip\" download=\"\">Baixar aquivo form.php<\/a>.<\/p>\n\n\n\n<box-info class=\"wp-block-k-box-info\"><strong>Linha 20 \u2013 method=\u201dPOST\u201d action=\u201denvia.php\u201d<\/strong>: Voc\u00ea deve especificar corretamente o nome do arquivo criado no passo anterior.<br><\/box-info>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/kinghost.com.br\/wiki\/wp-content\/uploads\/2017\/04\/phpmailer-pronto.png\"><img decoding=\"async\" data-src=\"https:\/\/kinghost.com.br\/wiki\/wp-content\/uploads\/2017\/04\/phpmailer-pronto.png\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"lazyload\" \/><noscript><img decoding=\"async\" src=\"https:\/\/kinghost.com.br\/wiki\/wp-content\/uploads\/2017\/04\/phpmailer-pronto.png\" alt=\"\"\/><\/noscript><\/a><\/figure><\/div>\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">&lt;!DOCTYPE html&gt; <br><br>&lt;html lang=\"pt-br\"&gt; <br><br>  &lt;head&gt; <br><br>    &lt;meta charset=\"utf-8\"&gt; <br><br>    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt; <br><br>    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt; <br><br>    &lt;title&gt;Formul\u00e1rio PHPMailer&lt;\/title&gt; <br><br> <br><br> &lt;!-- Layout --&gt; <br><br> &lt;link rel=\"stylesheet\" href=\"\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.1\/css\/bootstrap.min.css\"&gt; <br><br> <br><br> &lt;!-- JavaScript --&gt; <br><br> &lt;script src=\"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.1\/js\/bootstrap.min.js\"&gt;&lt;\/script&gt; <br><br>  &lt;\/head&gt; <br><br> <br><br>  &lt;body&gt; <br><br> &lt;div class=\"container\"&gt; <br><br> &lt;br&gt; <br><br>    <br><br> &lt;form class=\"form-horizontal\" method=\"POST\" action=\"envia.php\" id=\"contato\" enctype=\"multipart\/form-data\"&gt; <br><br>   &lt;fieldset&gt; <br><br> <br><br> &lt;!-- T\u00edtulo do formul\u00e1rio --&gt; <br><br> &lt;legend&gt;Formul\u00e1rio PHP - PHPMailer&lt;\/legend&gt; <br><br> <br><br> &lt;!-- Campo: Nome --&gt; <br><br> &lt;div class=\"form-group\"&gt; <br><br>   &lt;label class=\"col-md-4 control-label\" for=\"nome\"&gt;Nome&lt;\/label&gt;   <br><br> &lt;div class=\"col-md-4\"&gt; <br><br>   &lt;input id=\"nome\" name=\"nome\" placeholder=\"Informe seu nome\" class=\"form-control input-md\" required=\"\" type=\"text\"&gt; <br><br> &lt;\/div&gt; <br><br> &lt;\/div&gt; <br><br> <br><br> &lt;!-- Campo: Email --&gt; <br><br> &lt;div class=\"form-group\"&gt; <br><br>   &lt;label class=\"col-md-4 control-label\" for=\"nome\"&gt;Email&lt;\/label&gt;   <br><br> &lt;div class=\"col-md-4\"&gt; <br><br>   &lt;input id=\"email\" name=\"email\" placeholder=\"Informe seu email\" class=\"form-control input-md\" required=\"\" type=\"text\"&gt; <br><br> &lt;\/div&gt; <br><br> &lt;\/div&gt; <br><br> <br><br> &lt;!-- Campo: Assunto --&gt; <br><br> &lt;div class=\"form-group\"&gt; <br><br>   &lt;label class=\"col-md-4 control-label\" for=\"nome\"&gt;Assunto&lt;\/label&gt;   <br><br> &lt;div class=\"col-md-4\"&gt; <br><br>   &lt;input id=\"assunto\" name=\"assunto\" placeholder=\"Informe o assunto da mensagem\" class=\"form-control input-md\" required=\"\" type=\"text\"&gt; <br><br> &lt;\/div&gt; <br><br> &lt;\/div&gt; <br><br> <br><br> &lt;!-- Campo: Mensagem --&gt; <br><br> &lt;div class=\"form-group\"&gt; <br><br>   &lt;label class=\"col-md-4 control-label\" for=\"mensagem\"&gt;Mensagem&lt;\/label&gt; <br><br> &lt;div class=\"col-md-4\"&gt;                      <br><br>   &lt;textarea class=\"form-control\" id=\"mensagem\" name=\"mensagem\"&gt;&lt;\/textarea&gt; <br><br> &lt;\/div&gt; <br><br> &lt;\/div&gt; <br><br> <br><br> &lt;!-- Bot\u00e3o Enviar --&gt; <br><br> &lt;center&gt; <br><br> &lt;div class=\"form-group\"&gt; <br><br>   &lt;label class=\"col-md-4 control-label\" for=\"submit\"&gt;&lt;\/label&gt; <br><br> &lt;div class=\"col-md-4\"&gt; <br><br>   &lt;button type=\"submit\" class=\"btn btn-inverse\"&gt;Enviar&lt;\/button&gt; <br><br> &lt;\/div&gt; <br><br> &lt;\/div&gt; <br><br> <br><br>   &lt;\/fieldset&gt; <br><br> &lt;\/form&gt; <br><br> <br><br> &lt;\/div&gt; <br><br>  &lt;\/body&gt; <br><br>&lt;\/html&gt;<\/pre>\n\n\n\n<p>Pronto! Agora voc\u00ea conseguir\u00e1 enviar emails pelo formul\u00e1rio de contato do seu site de forma autenticada \ud83d\ude00<\/p>\n","protected":false},"author":9,"featured_media":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","article-category":[51],"article-tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/2743"}],"collection":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/comments?post=2743"}],"version-history":[{"count":4,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/2743\/revisions"}],"predecessor-version":[{"id":23823,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/2743\/revisions\/23823"}],"wp:attachment":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/media?parent=2743"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-category?post=2743"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-tag?post=2743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}