Como envio e-mails com ASP e CDO?
O seguinte exemplo gera um formulário e realiza as operações necessárias para o envio de e-mails através do ASP e CDO, em plataformas Microsoft Windows 2003.
O código para gerar o formulário varia dependendo se você contratou um Servidor Dedicado ou um Servidor Virtual VPS. A seguir, oferecemos os exemplos para cada caso.
Se você tem um Servidor Dedicado
%@LANGUAGE="VBSCRIPT" %> <!-- Formulário para preencher com os dados --> <form action="test_mail.asp" method="POST"> Usuário smtp: <input type="text" value="" name="usuario"></input> <br /> (O usuário pode achá-lo no painel de controle, E-mail, Gerenciar contas)<br/> <br/> Senha smtp: <input type="password" value="" name="passwd"></input><br/> (A senha do seu correio eletrônico)<br/> <br/> E-mail destinatário: <input type="text" name="destinatario" width="50"></input><br/> <br/> <input type="submit" value="Enviar e-mail" /><input type="hidden" name="enviar" value="1"/><br/> </form> <!-- Fim Formulário para preencher com os dados --> <% ' Os dados do formulário foram enviados para a validação com o SMTP If Request("enviar") = 1 Then If Not Request("usuario") = "" And Not Request("passwd") = "" And Not Request("destinatario") = "" Then ' Objetos necessários são criados para o envio do correio Set oMail = Server.CreateObject("CDO.Message") Set iConf = Server.CreateObject("CDO.Configuration") 'Os parâmetros necessários são configurados para o envio iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10 iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 ' Os dados do usuário e a sua senha devem-se completar para o envio iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Request("usuario") 'usuario smtp iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Request("passwd") 'password para STMP iConf.Fields.Update ' As propriedades de configuração do objeto são atribuídas Set oMail.Configuration = iConf ' Destinatário do correio oMail.To = Request("destinatario") ' Remetente do correio oMail.From = Request("usuario") ' Subject ou assunto oMail.Subject = "E-mail de prova" ' Corpo da mensagem oMail.TextBody = "Este é um e-mail enviado a partir da página de exemplo do Ferozo Windows Edition" ' O correio é enviado oMail.Send ' Os objetos são destruídos Set iConf = Nothing Set oMail = Nothing Else ' Resposta caso os dados não sejam completados Response.Write("Complete todos os campos para executar o exemplo") End If End If %>
Se você tem um Servidor Virtual VPS
<%@LANGUAGE="VBSCRIPT" %> <form action="test_mail.asp" method="POST"> Texto da mensagem: <br /> <TEXTAREA NAME="texto" ROWS="10" COLS="50"> </TEXTAREA> <br /> <br /> <input type="submit" value="Enviar e-mail" /><input type="hidden" name="enviar" value="1"/> </form> <% ' Os dados foram enviados a partir do formulário, para a validação com o SMTP If Request("enviar") = 1 Then ' Criam-se os objetos necessários para o envio do correio Set oMail = Server.CreateObject("CDO.Message") Set iConf = Server.CreateObject("CDO.Configuration") ' Configuram-se os parâmetros necessários para o envio iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10 iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 iConf.Fields.Update ' Atribuem-se as propriedades de configuração no objeto Set oMail.Configuration = iConf ' Destinatário do correio ' TUDO: substituir "conta@dominio.com" pela conta do destinatário do formulário oMail.To = "cuenta@dominio.com" ' Remetente do correio ' TUDO: Substituir "conta@dominio.com" por uma conta de correio válida da conta de hospedagem oMail.From = "conta@dominio.com" ' Subject ou assunto oMail.Subject = "E-mail de prova" ' Corpo da mensagem oMail.TextBody = "Este é um e-mail enviado a partir da página de exemplo do Ferozo Windows Edition" + vbCrLf + vbCrLf + Request("texto") ' Se envia o correio oMail.Send ' Os objetos são destruídos Set iConf = Nothing Set oMail = Nothing End If %>