1. Home
  2. Revenda cPanel
  3. Formulário de envio autenticado – Revenda
  1. Home
  2. Revenda Plesk
  3. Formulário de envio autenticado – Revenda
  1. Home
  2. VPS cPanel
  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.

Observação

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

Atenção!

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, e com os 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

Já para ASP, o código a ser usado é o descrito abaixo:

<!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>

:

ASP Email

E para ASP Email, siga com os passos abaixo:

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.AddReplyTo  Request.Form("fromemail") , Request.Form("fromnome")
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 

%>

Conheça!

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

Este artigo foi útil ?

Artigos relacionados