2. Agregar referencia Microsoft Outlook 14.0 Object Library(si no está descargarla googleando):
3. Escribir 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
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.
Gracias Me sirvio
ResponderEliminarHola, 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....
ResponderEliminarUna aclaración, el correo que tengo configurado en el outlook es de gmail configurado por imap.. gracias
ResponderEliminarque tal !
ResponderEliminartengo 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 !
Hola, como evito el error de que se envie el correo aunque no tengan abierto el outlook?
ResponderEliminarExcelente me sirvió para VB.net 2017, Saludos y gracias
ResponderEliminar