Hola maialenlopez
Mira la SmtpClient() es una clase de .net que sirve para el envío de correos electrónicos de una forma "genérica" por llamarlo de alguna manera, aquí te dejo un link que te explica mejor que yo:
http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx
Con esta clase es mucho más sencillo el envío de correo electrónico desde tu aplicación ya que la configuración se hace en tiempo de ejecución y no usa extenciones de aplicaciones externas como outlook.
Ahora, en el código que pusiste tienes varias cosas que corregir:
1.
Código vb:
Ver original'* Creamos un Objeto tipo
Dim objMail As Outlook.MailItem
'* Enviamos nuestro Mail y listo!
smtp.Send(objMail)
si objMail es de tipo Outlook.MailItem no lo vas a poder enviar usando smtp.Send, porque el parámetro del método Send es un objeto de tipo MailMessage, es decir son objetos diferentes y te va a generar una excepción
Código vb:
Ver original'Host=nombre del servidor de correo por el que queremos enviar el mensaje
Dim smtp As New System.Net.Mail.SmtpClient
smtp.Host = "192.168.1.131"
El Host es por ejemplo smtp.gmail.com para gmail, smtp.live.com para hotmail o smtp.mail.yahoo.com para yahoo
usa el ejemplo que te puse y que aquí te cito para que te funcione:
Cita:
Iniciado por jhonjairo00
Hola
Para hacer el envío de correo electrónico desde .net puedes usar el namespace System.Net.Mail, Aquí lo que haces es crear un método en donde le pases la información del envío, es decir el mail del destinatario, el cuerpo del mensaje, incluso los adjuntos si los tiene, aquí te paso un ejemplo desde el evento de un botón:
Código vb:
Ver originalPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SmtpServer As New SmtpClient() 'Instancia de Servidor SMTP, proporcionada por System.Net.Mail
Dim mail As New MailMessage() 'Instancia de mensaje de correo, proporcionada por System.Net.Mail
Dim eMensaje1, eMensaje2, ePie As String
Dim attachment As New Net.Mail.Attachment("C:\Prueba.DOC") 'Adjuntar archivo
Dim eTo, eNuestroCorreo, eNuestraContraseña As String
'Comenzamos el envio del correo
'controlando si existiera algún error al envío
Try
'Nuestro usuario de Correo electrónico, Ejemplo actual Hotmail, puede ser Gmail, Yahoo, etc...
'Nuestro contraseña de Correo electrónico
eNuestraContraseña = "Nuestra Contraseña"
'El Mensaje del correo
eMensaje1 = " Envío de mensaje electrónico "
eMensaje2 = "desde Visual Basic .NET "
'El Footer del Mensaje
ePie = "Aquí va la firma o el texto de advertencia de seguridad, etc."
'Destinatario del Mensaje
' Configuración para enviar el correo desde Gmail, si es por Hotmail es 25
'(que es el que viene por default), si usa Gmail quitar comentario
' SmtpServer.Port = 587
' Nombre del SMPTServer
SmtpServer.Host = "smtp.live.com"
'Habilitación de conexión segura
SmtpServer.EnableSsl = True
'Credenciales para abrirla sesión y poder enviar el mail
SmtpServer.Credentials = New Net.NetworkCredential _
(eNuestroCorreo, eNuestraContraseña)
' Empezamos a configurar el correo a enviar
' con los datos anteriores que pusimos
'Le decimos que mail es un nuevo correo
mail = New MailMessage()
'Origen del correo
mail.From = New MailAddress(eNuestroCorreo)
'Destinatarios del correo
mail.To.Add(eTo)
'Asunto del correo
mail.Subject = "Prueba Asunto"
'Texto del Mensaje
mail.Body = eMensaje1 + eMensaje2 + ePie
'Texto en HTML del Mensaje
mail.IsBodyHtml = True
'Le decimos que queremos enviar el archivo que anteriormente indicamos
mail.Attachments.Add(attachment)
'Le decimos que envíe el correo
SmtpServer.Send(mail)
Catch ex As Exception
'Informamos si existiera algún error
Throw New Exception(ex.ToString)
End Try
End Sub
Igual esto lo puedes configurar en un método y pasar los parámetros que estás recuperando...
Saludos...
Si no te dejan configurar Outlook en el servidor, no creo que te pueda funcionar usando los objetos que tienes, prueba así como te indicó y me cuentas si tienes alguna duda