martes, 15 de mayo de 2012


Función en ASP 2, para envío de correo SIN AUTENTICACIÓN, 
En esta ocasión les comparto una función en ASP que utiliza un componente de Persits, lo pueden descargar directo de su pagina web, sin embargo el componente es comercial, pero nos permite el envío de correo sin problema siempre y cuando no requiera autenticación, así que se vuelve en el componente ideal toda vez que se trate de estas mismas circunstancias,
nota: el componente realmente trabaja también con autenticación, solamente que para que funcione con atenticación en el servidor requiere la versión con licencia

<%
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
dim comentarios,fecha,rating
comentarios=Request.QueryString("com")
destino=Request.QueryString("des")
origen=Request.QueryString("ori")
registro=Request.QueryString("reg")
subject = Request.QueryString("sub")
copia = request.QueryString("cc")
set mail = server.createObject("Persits.MailSender")
mail.Host = "smtp.gmail.com"
'Mail.Username = “micorreo@midominio.com”
'Mail.Password = "mipassword"
Mail.Port = 587
mail.from = origen
'mail.html = true
mail.addAddress destino
mail.body = comentarios&" "
mail.subject = subject
'Si requiere colocar copia del mensaje
'Mail.AddCC copia
'Mail.AddBcc  “micopia@otrodominio.com”

On Error Resume Next
  mail.send
 
if Err <>0 then
   
response.write "Error, no se ha podido enviar, "
   
response.write Err.Number & ", "
   
response.write Err.Description & ", "
   
response.write Err.Source & ", "
 
else
    response.write
";)"
  end if
%>

Esta función se puede mandar llamar de este modo:
http://../sendMail.asp?com=’Mensaje’&des=correo1@dominio.com&ori=correo2@dominio.com&sub=’TituloDelCorreo’



Función en VB.Net para enviar correo con una cuenta GMAIL a traves de SSL con Smtp.Client
Es comun que tras encontrar alguna excepcion en tu codigo requieras enviar un aviso, o simplemente necesites contar con una notificación via correo electronico del status de algun proceso, esta es una funcion que puede ayudarte si es el caso!

Sub envia_correo(ByVal origen As StringByVal destino As StringByVal subject As StringByVal mensaje As String)
        Dim SmtpObj As New System.Net.Mail.SmtpClient
        Dim MailNachricht As New System.Net.Mail.MailMessage()
        'Esta linea la lleva solo si requiere autenticacion
        SmtpObj.Credentials = New System.Net.NetworkCredential("usuario@gmail.com""tupassword")
        'en caso de que el servidor requiera SSL, se coloca en true
        SmtpObj.EnableSsl = True
        'Este es un puerto para SSL, si no lleva el puerto puede ser 25
        SmtpObj.Port = 465

        'Direccion del servidor SMTP ( para enviar correo)
        SmtpObj.Host = "smtp.gmail.com"
        'Aqui  formamos el mensaje con los parametros que nos envien, y la codificacion en UTF8
        With MailNachricht
            .From = New System.Net.Mail.MailAddress(origen)
            .BodyEncoding = System.Text.Encoding.UTF8
            .To.Add(destino)
            .Subject = subject
            .IsBodyHtml = False
            .Body = mensaje
        End With

        MailNachricht.Attachments.Clear()
        Try
            'Envio del mensaje
            SmtpObj.Send(MailNachricht)
        Catch ex As Exception
            'Si hay alguna excepcion aqui se toma! ( Algun error)
        End Try
    End Sub


espero que sea de utilidad!
att:pbm