25/07/2005, 14:22
|
| | | Fecha de Ingreso: noviembre-2002 Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años Puntos: 16 | |
Funcion para envio de emails con varios componentes:
Código:
<%
function email(strPara,strDe,strDeEmail,strAsunto,strMemsaje,strHost,componente)
'componente = 0 Si el componente es CDONTS
'componente = 1 Si el componente es CDOSYS
'componente = 2 Si el componente es AspMail
'componente = 3 Si el componente es AspEmail
'componente = 4 Si el componente es Geocel
'componente = 5 Si el componente es JMail
'componente = 6 Si el componente es DynuEmail
'componente = 7 Si el componente es EasyMail
'componente = 8 Si el componente es SA-SMTPMail
'componente = 9 Si el componente es ocxQmail
Select Case componente
Case 0
Set msMail = CreateObject("CDONTS.NewMail")
With msMail
.BodyFormat = 0 '0 si es HTML y 1 si es texto plano.
.MailFormat = 0 '0 si es HTML y 1 si es texto plano.
.To = strPara
.From = strDe & " <" & strDeEmail & ">"
.Subject = strAsunto
.Body = strMensaje
.Send
End With
Case 1
Dim conf
Set conf = Server.CreateObject("CDO.Configuration")
With conf.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strHost
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
End With
Set msMail = Server.CreateObject("CDO.Message")
With msMail
Set .Configuration = conf
.From = strDe & " <" & strDeEmail & ">"
.To = strPara
.Subject = strAsunto
.HTMLBody = strMensaje
.Send
End With
Case 2
Set msMail = Server.CreateObject("SMTPsvg.Mailer")
With msMail
.ContentType = "text/html"
.RemoteHost = strHost
.FromName = strDe
.FromAddress = strDeEmail
.AddRecipient "", strPara
.Subject = strAsunto
.BodyText = strMensaje
.SendMail
End With
Case 3
Set msMail = Server.CreateObject("Persits.MailSender")
With msMail
.Host = strHost
.From = strDeEmail
.FromName = strDe
.AddAddress strPara
.Subject = strAsunto
.Body = strMensaje
.IsHTML = True
.Send
End With
Case 4
Set msMail = Server.CreateObject("Geocel.Mailer")
With msMail
.AddServer strHost, 25
.FromAddress = strDeEmail
.FromName = strDe
.AddRecipient strPara, ""
.Subject = strAsunto
.Body = strMensaje
.ContentType = "text/html"
.LogLevel = 4
.LogFile = "c:\temp\emailcoms\geocel.log"
.Send
End With
Case 5
Set msMail = Server.CreateOBject("JMail.Message")
With msMail
.From = strDeEmail
.FromName = strDe
.AddRecipient strPara
.Subject = strAsunto
.HTMLBody = strMensaje
.Send(strHost)
End With
Case 6
Set msMail = Server.CreateObject("Dynu.Email")
With msMail
.Host = strHost
.IsHTML = True
.From = strDeEmail
.FromName = strDe
.AddAddress strPara
.Subject = strAsunto
.Body = strMensaje
.Send()
End With
Case 7
Set msMail = Server.CreateObject("EasyMail.SMTP.5")
With msMail
.MailServer = strHost
.BodyFormat = 1 'para HTML
.FromAddr = strDeEmail
.AddRecipient "", strPara, 1
.Subject = strAsunto
.Send()
End With
Case 8
Set msMail = Server.CreateObject("SoftArtisans.SMTPMail")
With msMail
.RemoteHost = strHost
.FromAddress = strDeEmail
.FromName = strDe
.AddRecipient strPara
.Subject = strAsunto
.HTMLText = strMensaje
.Wordwrap = True
.SendMail
End With
Case 9
Set msMail = Server.CreateObject("ocxQmail.ocxQmailCtrl.1")
msMail.XHeader "Content-Type", "text/html; charset=""iso-8859-1"""
msMail.Q strHost, strDe, strDeEmail, "", "", strPara, "", "", "", strAsunto, strMensaje
End Select
end function
%>
Modo de uso:
Código:
email(Destinatario,Remitente,Email_Remitente,Asunto,Memsaje,Host,componente)
Lista de Componentes:
0 CDONTS
1 CDOSYS
2 AspMail
3 AspEmail
4 Geocel
5 JMail
6 DynuEmail
7 EasyMail
8 SA-SMTPMail
9 ocxQmail
saludos
------- Editado -------
No es una funcion ni una clase ni nada pero encuentro que es un buen complemtendo de la funcion de arriba.... sirve para detectar que componente esta instalado en el servidor (para efectos del envio de emails:
Código:
<%
'Empezamos el Arreglo
Dim ObjInstalados(9)
ObjInstalados(0) = "CDONTS.NewMail" 'Si el componente es CDONTS
ObjInstalados(1) = "CDO.Message" 'Si el componente es CDOSYS
ObjInstalados(2) = "SMTPsvg.Mailer" 'Si el componente es AspMail
ObjInstalados(3) = "Persits.MailSender" 'Si el componente es AspEmail
ObjInstalados(4) = "Geocel.Mailer" 'Si el componente es Geocel
ObjInstalados(5) = "JMail.SMTPMail" 'Si el componente es JMail
ObjInstalados(6) = "Dynu.Email" 'Si el componente es DynuEmail
ObjInstalados(7) = "EasyMail.SMTP.5" 'Si el componente es EasyMail
ObjInstalados(8) = "SoftArtisans.SMTPMail" 'Si el componente es SA-SMTPMail
ObjInstalados(9) = "ocxQmail.ocxQmailCtrl.1" 'Si el componente es ocxQmail
'Luego podemos ir agregando mas objetos, segun los que necesitemos
Function cmpObjInstalados(strClassString)
On Error Resume Next
' Inicia Valores por Defecto
cmpObjInstalados = False
Err = 0
' Probamos
Dim PruebaObj
Set PruebaObj = Server.CreateObject(strClassString)
If 0 = Err Then cmpObjInstalados = True
' Limpiamos
Set PruebaObj = Nothing
Err = 0
End Function
If cmpObjInstalados(ObjInstalados(0))=True Then
Response.Write("CDONTS")
ElseIf cmpObjInstalados(ObjInstalados(1))=True Then
Response.Write("CDOSYS")
ElseIf cmpObjInstalados(ObjInstalados(2))=True Then
Response.Write("AspMail")
ElseIf cmpObjInstalados(ObjInstalados(3))=True Then
Response.Write("AspEmail")
ElseIf cmpObjInstalados(ObjInstalados(4))=True Then
Response.Write("Geocel")
ElseIf cmpObjInstalados(ObjInstalados(5))=True Then
Response.Write("JMail")
ElseIf cmpObjInstalados(ObjInstalados(6))=True Then
Response.Write("DynuEmail")
ElseIf cmpObjInstalados(ObjInstalados(7))=True Then
Response.Write("EasyMail")
ElseIf cmpObjInstalados(ObjInstalados(8))=True Then
Response.Write("SA-SMTPMail")
ElseIf cmpObjInstalados(ObjInstalados(9))=True Then
Response.Write("ocxQmail")
Else
Response.Write ("No hay componentes")
End If
%>
Saludos
__________________ Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
Última edición por El_Metallick; 17/06/2006 a las 14:47 |