jueves, 26 de enero de 2012

Envie correo con Visual Basic .NET 2010 y Microsoft Outlook

1. Crear un nuevo proyecto de Visual Basic .NET 2010 y Agregar un Botón llamado: BtnEnviarMail:



2. Agregar referencia Microsoft Outlook 14.0 Object Library(si no está descargarla googleando):





3. Escribir código:






(copiar código)


Imports Microsoft.Office.Interop
Public Class Form1
Private Sub BtnEnviarMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviarMail.Click
'* Creamos un Objeto que hará referencia a nuestra aplicación Outlook
Dim m_OutLook As Outlook.Application
Try
'* Creamos un Objeto tipo Mail
Dim objMail As Outlook.MailItem
'* Inicializamos nuestra apliación OutLook
m_OutLook = New Outlook.Application
'* Creamos una instancia de un objeto tipo MailItem
objMail = m_OutLook.CreateItem(Outlook.OlItemType.olMailItem)
'* Asignamos las propiedades a nuestra Instancial del objeto
'* MailItem
objMail.To = "jmpradag@hotmail.com"
objMail.Subject = "Enviando correo desde VB2010 .NET"
objMail.Body = "Este es el cuerpo del mensaje. Si te sirve twitealo en @joelprada"
Dim Rta = MsgBox("¿Realmente desea enviar el correo?", MsgBoxStyle.YesNo)
If Rta = 6 Then
'* Enviamos nuestro Mail y listo!
objMail.Send()
'* Desplegamos un mensaje indicando que todo fue exitoso
MessageBox.Show("Envìo exitoso.", "Enviar Mail", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

ElseIf Rta = 7 Then
MessageBox.Show("Eío cancelado", "Enviar Mail", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If

Catch ex As Exception
'* Si se produce algun Error
MessageBox.Show("Error enviando mail")
Finally
m_OutLook = Nothing ' Destruimos el objeto (recoger la basura...)
End Try
End Sub

End Class

Listo.

Nota: Al presionar el Botón, el correo se envía a nombre del perfil configurado en Outlook,
Nota2: El cliente de Outlook 2010 debe estar abierto.

Espero que les sirva.



6 comentarios:

  1. Hola, tengo un problema, no si sea mi office, al realizar este ejercicio y ver la bandeja de enviados los correos que se enviaron desde el VB.net se duplican... les agradezco mucho si me dan una luz en este problema....

    ResponderEliminar
  2. Una aclaración, el correo que tengo configurado en el outlook es de gmail configurado por imap.. gracias

    ResponderEliminar
  3. que tal !
    tengo un perfil de outlook el cual comparte una cuenta Exchange y una externa el problema que al tratar de enviar el mensaje trata de salir por el exchange y no por la externa entonces los correos no llegan, ya cambie la prioridad de las cuentas y hace lo mismo, alguna instruccion para que salga por la externa y no por exchange, Gracias !

    ResponderEliminar
  4. Hola, como evito el error de que se envie el correo aunque no tengan abierto el outlook?

    ResponderEliminar
  5. Excelente me sirvió para VB.net 2017, Saludos y gracias

    ResponderEliminar

Suscripción por e-mail

Suscríbete a mi blog y recibe los artículos por e-mail GRATIS::

Delivered by FeedBurner