Ver Mensaje Individual
  #80 (permalink)  
Antiguo 25/07/2005, 14:22
Avatar de El_Metallick
El_Metallick
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
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