Visual Basic - E-Mail

Life is soft - evento anual de software empresarial
 
Vista:

E-Mail

Publicado por Carlos (181 intervenciones) el 20/09/2005 21:19:25
Hola Amigos Necesito mandar unos correos mediante outlook pero sin q se abra este outlook esta completamente configurado lo unico q tengo q hacer es ingresar los datos
y ya pero no se como alguien me podria ayudar?
desde Mexico Gracias Totales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mira esto

Publicado por Zoto (41 intervenciones) el 20/09/2005 23:07:23
Buenas, Carlos.

Hace poco vi un post que contaba lo que deseas.
Haciendo memoria, te escribo aquí una función para enviar un e-mail a través de Outlook pero sin que se habra este.

'AVISOS:

'Para que este código funcione debes tener el proceso BackWeb de Office 'corriendo y debes insertar la referencia (Proyecto - Referencias) llamada:

'Microsoft Outlook 11.0 Object Library

'_______________

Public Function SendEmail(Optional ByVal To As String, Optional ByVal Subject As String, Optional ByVal Body As String, Optional ByVal Attachments() As String, Optional ByVal Importance As Byte)As Integer

On Error GoTo ERROR_HANDLE

Dim Correo As New Outlook.Application 'Nuevo objeto de la referencia Outlook
Dim Mensaje As Outlook.MailItem 'Nuevo objeto de la referencia Outlook

Set Mensaje = Correo.CreateItem(olMailItem) 'Se crea un nuevo mensaje

With Mensaje
.To = To 'Se asigna la dirección e-mail (destinatario)
.Subject = Subject 'Asunto
.Body = Body 'Cuerpo del mensaje

If Not UBound(Attachments) < 0 Then
For f=0 To UBound(Attachments) 'Se añaden, mediante un bucle, todos los archivos adjuntos almacenados en la matriz Attachments
.Attachments.Add Attachments(f)
Next f
End If

Select Case Importance 'Se selecciona la prioridad del mensaje
Case 0: .Importance = olImportanceNormal
Case 1:Importance = olImportanceHigh
Case 2:Importance = olImportanceLow
End Select

.Send 'Se envía el mensaje
End With

'Se anulan los objetos
Set Mensaje = Nothing
Set Correo = Nothing
Exit Function
ERROR_HANDLE:
SendEmail=Err.Number
End Function

__________________

Además de los avisos realizados antes del código de esta función, debo añadir que antes de que termine el proceso de envío del e-mail aparecerá una ventana del Outlook para confirmar el envío.
Además, si posees antivirus es posible que también alerte sobre este evento, obligando a confirmar el envío de nuevo.

Algunas aclaraciones sobre la función:

Todos los parámetros son obvios:

To - String que contiene la dirección del destinatario
Subject - String que contiene el Asunto
Body - String con el cuerpo del mensaje
Attachments - Matriz String que contiene los archivos adjuntos a enviar
Importance - Byte que puede contener estos valores:
0 -> importancia de envío normal
1 -> importancia de envío alta
2 -> importancia de envío baja

__________________________

Bueno, pues espero que te funcione correctamente el código (sobretodo, no te olvides a seguir los AVISOS que te he dado sobre el mismo).
Si tienes algún problema o duda sobre el código, coméntalo aquí para ver si puedo ayudar.

Hasta otra,


Zoto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar