1. Home
  2. Hospedagem de Sites
  3. Formulário de envio autenticado Revenda
  1. Home
  2. Servidores Gerenciados
  3. Formulário de envio autenticado Revenda

Formulário de envio autenticado Revenda

Se você precisa criar um formulário que envie de forma autenticada no servidor SMTP, implemente na sua aplicação os códigos abaixo.

A Locaweb, não presta suporte a aplicação caso haja dúvidas em sua utilização, procure seu desenvolvedor de confiança.

Para os ambientes de Revenda Plesk e cPanel, servidores Dedicados e Cloud Hosting, os formulários necessitam de autenticação para funcionar.

PHP

Para poder funcionar o PHP Mailer, é necessário subir junto com o exemplo de código abaixo, o seguintes arquivos:

<!DOCTYPE html>
<html lang="pt-br">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
    <title>Enviar e-mail com anexo</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="?acao=enviar" enctype="multipart/form-data">
   <table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
   <tr>
     <td align="right">Nome:</td>
     <td><input type="text" name="nome" id="nome" /></td>
   </tr>
   <tr>
     <td align="right">Assunto:</td>
     <td><input type="text" name="assunto" id="assunto" /></td>
   </tr>
   <tr>
     <td align="right">Mensagem:</td>
     <td><textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea></td>
   </tr>
   <tr>
     <td align="right">Anexo:</td>
     <td><input type="file" id="arquivo" name="arquivo" /></td>
   </tr>
   <tr>
     <td colspan="2" align="center"><input type="submit" value="Enviar" /></td>
   </tr>
   </table>
</form>

<?php
require 'PHPMailerAutoload.php';
require 'class.phpmailer.php';

$mailer = new PHPMailer;

//$mailer->SMTPDebug = 2; // Enable verbose debug output

$mailer->isSMTP(); // Set mailer to use SMTP

$mailer->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);


if($_GET['acao'] == 'enviar'){
$nome          = $_POST['nome'];
$assunto   = $_POST['assunto'];
$mensagem  = $_POST['mensagem'];
$arquivo   = $_FILES["arquivo"];


$mailer->Host = 'mail.seuDominio.com.br';
$mailer->SMTPAuth = true;     // Enable SMTP authentication
$mailer->IsSMTP();
$mailer->isHTML(true);       // Set email format to HTML
$mailer->Port = 587;

// Ativar condição utf-8, para acentuação
$mailer->CharSet = 'UTF-8';

$mailer->Username = 'conta@SeuDomínio.com.br'; // SMTP username
$mailer->Password = 'SuaSenha';    // SMTP password
// email do destinatario
$address = "conta@SeuDomínio.com.br";

//$mailer->SMTPDebug = 1;
$corpoMSG = "<strong>Nome:</strong> $nome<br> <strong>Mensagem:</strong> $mensagem";

$mailer->AddAddress($address, "destinatario");
$mailer->AddAddress("conta@gmail.com", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com //
$mailer->From = 'conta@SeuDomínio.com.br';
$mailer->Sender = 'conta@SeuDomínio.com.br';
$mailer->FromName = "Teste LW"; // Seu nome
// assunto da mensagem
$mailer->Subject = $assunto;
// corpo da mensagem
$mailer->MsgHTML($corpoMSG);
// anexar arquivo
$mailer->AddAttachment($arquivo['tmp_name'], $arquivo['name']  );

if(!$mailer->Send()) {
   echo "Erro: " . $mailer->ErrorInfo;
  } else {
   echo "Mensagem enviada com sucesso!";
  }
}


?>
</body>
</html>
Asp
<!DOCTYPE HTML>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title>Formulário</title>
<link href="styles/style_formulario.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
                <!--
                        function Incluir(varForm){
                                                                                        if (varForm.Campo1.value == ""){
                                        window.alert ('O campo "Nome" é de preenchimento obrigatório');
                                        varForm.Campo1.focus();
                                        return false;
                                }

                                                                if (varForm.Campo3.value == ""){
                                        window.alert ('O campo "E-mail" é de preenchimento obrigatório');
                                        varForm.Campo3.focus();
                                        return false;
                                }
                                else{
                                        if (varForm.Campo3.value.search("@") == -1 || varForm.Campo3.value.search("[.*]") == -1){
                                                window.alert ("O e-mail não é válido");
                                                varForm.Campo3.focus();
                                                return false;
                                        }
                                }

                                varForm.submit();
                        }

                -->
</script>
</head>

<body>

<%
Response.Charset = "ISO-8859-1"


Assunto = "Fale Conosco - Envio com Autenticação!"

If Not IsEmpty(Request.Form) Then
  Mensagem = "<B>Nome:</B><BR><BR>"  & Trim(Request.Form("Campo1")) & "<HR size=1 color=gainsboro>"
  Mensagem = Mensagem & "<B>Email:</B><BR><BR>"  & Trim(Request.Form("Campo3")) & "<HR size=1 color=gainsboro>"
  Mensagem = Mensagem & "<B>Telefone:</B><BR><BR>"  & Trim(Request.Form("Campo4")) & "<HR size=1 color=gainsboro>"
  Mensagem = Mensagem & "<B>Assunto:</B><BR><BR>"  & Trim(Request.Form("Campo8")) & "<HR size=1 color=gainsboro>"
  Mensagem = Mensagem & "<br><br><br><b>IP:  </b>" &request("REMOTE_ADDR")

Set objMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'Send the message using the network (SMTP over the network).'
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.dominio.com"
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 'Use SSL for the connection (True or False)'
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'basic (clear-text) authentication'
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") ="email@dominio.com"
objCDOSYSCon.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="senha"
objCDOSYSCon.Fields.update
Set objMail.Configuration = objCDOSYSCon

 'Para definir o charset da mensagem'
objMail.BodyPart.Charset = "ISO-8859-1"
objMail.From = "email@dominio.com"
objMail.To =   Trim(Request.Form("Campo3"))
objMail.ReplyTo = "email@dominio.com"
objMail.Subject = Assunto
objMail.HTMLBody = Mensagem
objMail.HTMLBodyPart.Charset = "ISO-8859-1"
objMail.Send

Set objMail = Nothing
Set objCDOSYSCon = Nothing

%>
<p class="center"><b>Dados enviados</b><br />
Obrigado, seus dados foram enviados com sucesso. </p>
<%
Else
%>
<p class="center"><b>Enviar Dados</b><br />
Informe os dados abaixo:</p>
<form action='<%=Request.ServerVariables("SCRIPT_NAME")%>' method="post" name="formIncluir" accept-charset="ISO-8859-1">
        <table width="250px" height="250px">
         <tr><td>
        <fieldset>
        <legend>Fale Conosco!</legend>
        <label>Nome: <input class="input_form" name="Campo1" type="text" /></label><br/>
        <label>Email: <input class="input_form" name="Campo3" type="text" /></label><br/>
        <label>Telefone: <input class="input_form" name="Campo4" type="text" /></label><br/>
        <label>Assunto: <textarea class="input_formtextarea" name="Campo8"></textarea></label>
        <label>
        <input id="botao_enviar" name="enviar" onclick="JavaScript:Incluir(formIncluir);" type="button" value="Enviar" /></label>
        </fieldset>
         </td></tr>
        </table>
</form>
<%
End If
%>

</body>

</html>
Persits.MailSender ( AspEmail )

O componente Persits.MailSender ( AspEmail ) é um componente utilizado para o envio de mensagens de e-mail utilizando a linguagem de programação ASP.

Se você precisa criar um formulário que envie de forma autenticada no servidor SMTP, implemente na sua aplicação dos códigos abaixo.

Copie o código abaixo e salve com o nome de formulario.asp este é o arquivo do seu formulário.

Código:

<html> 

<head> 

<title>Formulário - Persits MailSender</title> 

</head> 

<body> 
<p align="center"><font face="Arial">Exemplo de formulário
Persits MailSender<br> 
</font> 
</p> 
<form method="POST" action="enviar.asp" name="form" target="_self"> 
<div align="center"> 
<table border="0" width="43%"> 
<tr> 
<td width="23%"><font face="Arial">Nome:</font></td> 
<td width="74%"><font face="Arial"><input type="text" name="fromnome" 
size="20"></font></td> 
</tr> 
<tr> 
<td width="23%"><font face="Arial">E-Mail:</font></td> 
<td width="74%"><font face="Arial"><input type="text" name="fromemail" 
size="20"></font></td> 
</tr> 
<tr> 
<td width="23%"><font face="Arial">Assunto:</font></td> 
<td width="74%"><font face="Arial"><input type="text" name="assunto" 
size="20"></font></td> 
</tr> 
<tr> 
<td width="23%" valign="top"><font face="Arial">Mensagem:</font></td> 
<td width="74%"><font face="Arial"><textarea rows="5" name="mensagem" 
cols="30"></textarea></font></td> 
</tr> 
<tr> 
<td width="23%"></td> 
<td width="74%"><font face="Arial"><input type="submit" value="enviar" 
name="botao"></font></td> 
</tr> 
</table> 
<p><font face="Arial" size="1">
<a target="_self" href="http://www.seudominio.com"> 
<span style="text-decoration: none">
<font color="#000000">www.seudominio.com</font>
</span></a></font> 
</div> 
</form> 
</body> 
</html>
  • Copie o código abaixo e salve com o nome de enviar.asp;
  • O arquivo que vai pegar todas as informações do seu formulário e enviar para o e-mail descrito na linha Mail.AddAddress.

Código:

<% 
DIM Mail 
Set Mail = Server.CreateObject("Persits.MailSender") 
Mail.IsHTML = True 
Mail.Host = "smtp.seudominio.com.br" 
Mail.Username = "seuemail@seudominio.com.br" 
Mail.Password = "senhadoseuemail" 
Mail.From = Request.Form("fromemail") 
Mail.FromName = Request.Form("fromnome") 
Mail.AddAddress "seuemail@seudominio.com.br" 
Mail.Subject = Request.Form("assunto") 
Mail.Body = Request.Form("mensagem") 

On Error Resume Next 
Mail.Send 
If Err <> 0 Then 
   Response.Write "<h3>Ocorreu um erro: " & Err.Description & "</h3>" 
End If 

If Err = 0 Then 
   Response.Write("<h3>Obrigado Sr(a) " & Request.Form("fromnome") & ", seu e-mail foi enviado com sucesso!</h3>") 
End If 

Set Mail = Nothing 

%>

Aproveite e conheça outros produtos da Locaweb, como o Hospedagem de Sites, clique aqui e saiba mais!

Atualizado em 9 de agosto de 2019

Este artigo foi útil ?

Artigos relacionados