Se você precisa criar um formulário que envie de forma autenticada no servidor SMTP, implemente na sua aplicação os códigos abaixo.
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>
:
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>
:
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
%>