Hay varios métodos para enviar mails, algunos poco conocidos, como el de utilizar un objeto Persist, otros más como el de usar el objeto CDO.
El primero, requiere que el servidor tenga instalado el driver para realizar el envío, el segundo es poco seguro, y por ello muchos servidores no los permiten y lo tienen en desuso.
En el presente post, usará el CDOSYS, por ser un genérico que casi todos usan, que no requiere de drivers especiales, ya está instalado en la mayoría de los servidores y es sencillo de comprender.
Este ejemplo presupone que usted enviará un mail en ASP, no incluye la creación del formulario para hacerlo, bajo la suposición que si tiene conocimientos para comprender este código, entiende cómo agregarle un formulario si quisiera.
Para el envío del mail va a necesitar conocer varios datos de su servidor.
·En su servidor, debe tener un mail configurado, vamos a suponer que el mismo es: info@sudominio.com.ar
·Debe tener el login y password de acceso a ese mail, vamos a suponer que los mismos son: info@sudominio.com.ar (generalmente el mismo login que el nombre de la dirección de mail), pass: 12345
En la cabecera, colocamos los datos del mail, que en caso de incluir un formulario, son los datos que provienen del formulario:
<%
IsSuccess = false
sTo = "destino@mail.com.ar"
sFrom = "info@sudominio.com.ar"
sSubject = "prueba desde subject"
sMailServer = "127.0.0.1"
sBody = "comentario de prueba"
%>
A continuación, se incluye la llamada al objeto CDOSYS
<%
Set objMail = Server.CreateObject("CDO.Message")
Set objConf = Server.CreateObject("CDO.Configuration")
En la parte anterior, configure el objeto, con los datos propios del envoi, port de salida, tiempo de intentos por si las conexiones fueran defectuosas, y el tipo de mail post o send con el código 2.
A continuación, particulariza el envio para adecuarlo a los datos provistos, ya sea desde un formulario o desde otra página:
<%
With objMail
Set .Configuration = objConf
.From = sFrom
.To = sTo
.Subject = sSubject
.TextBody = sBody
End With
%>
A continuación se configura para controlar si hubo error en el envoi, este dato se captura para alertar del estado del envío.
<%
Err.Clear
on error resume next
%>
Se ejecuta el envío:
<%
objMail.Send
if len(Err.Description) = 0 then
mes = " Mensaje enviado de " + sTo
mes = mes + " Test de envoi de mail correcto!"
IsSuccess = true
else
mes = " " + Err.Description + " Envío de mail fallado!"
end if
Set objFields = Nothing
Set objConf = Nothing
Set objMail = Nothing
End sub
Sub Alert(html)
if IsSuccess then
Response.Write "<div class='testRelults' id='testSuccessful'><span class='testResult'>Success:</span>" & html & "</div>"
else
Response.Write "<div class='testRelults' id='testFailed'><span class='testResult'>Fail:</span>" & html & "</div>"