Visual Basic - ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Life is soft - evento anual de software empresarial
 
Vista:

ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Publicado por EMILIO (83 intervenciones) el 01/06/2010 03:59:56
Hola Amigos, tengo una aplicacion que envia correos con archivo adjunto a varias direcciones que toma de la base de datos y mediante outlook.
La aplicacion me funciona parcialmente ya que aunque envia los correos al outlook, quedan en la bandeja de salida y no se envian hasta que abro outllok.
Como puedo evitar esto y que los correos se envien sin abrir el outlook?

En resumen el codigo es:

Dim Obj_Outlook As New Outlook.Application
Dim Missatge As Outlook.MailItem
Set Missatge = Obj_Outlook.CreateItem(olMailItem)

Missatge.To = Tablas.rsParticipantes.Fields(0)..........toma direcciones de la base de datos
Missatge.Subject = asunto ' es una variable
'Missatge.Body = contenido `es una variable
Missatge.Attachments.Add adjunto 'es una variable
Missatge.Send
Set Obj_Outlook = Nothing
Set Missatge = Nothing

Muchas gracias.
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:ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Publicado por Vi (26 intervenciones) el 01/06/2010 06:32:37
Te paso la rutina que yo utilizo, acoplala a tu modulo. Suerte !!!

Private Function SendMail(tcServer As String, tcFrom As String, tcTo As String, tcCC As String, tcSubject As String, tcBody As String, tcFileAttach As String) As Boolean
Dim loMail As ANSMTPLib.OBJ
Dim lnErr As Integer
Dim lcStr As String
10 On Error GoTo SendMail_Error

20 Set loMail = New ANSMTPLib.OBJ
30 loMail.ServerAddr = tcServer
40 loMail.From = tcFrom
50 loMail.FromAddr = tcFrom
'TO
60 Do While tcTo <> ""
70 lcStr = Trim$(SigteCampo(tcTo, ";"))
80 If lcStr <> "" Then
90 loMail.AddRecipient lcStr, lcStr, 0
100 End If
110 Loop
'CC
120 Do While tcCC <> ""
130 lcStr = Trim$(SigteCampo(tcCC, ";"))
140 If lcStr <> "" Then
150 loMail.AddRecipient lcStr, lcStr, 1
160 End If
170 Loop
180 If Trim$(tcFileAttach) <> "" Then
190 Do While tcFileAttach <> ""
200 lcStr = Trim$(SigteCampo(tcFileAttach, ","))
210 If lcStr <> "" Then
220 loMail.AddAttachment lcStr
230 End If
240 Loop
250 End If
260 loMail.Subject = tcSubject
270 loMail.BodyText = tcBody
280 loMail.Asynchronous = 0
290 lnErr = loMail.SendMail
300 If lnErr = 0 Then
'MsgBox "El Mensaje se ha enviado con EXITO."
310 'App.LogEvent "Mensaje con informacion de A4's enviado con exito", 4
320 Else
'MsgBox "Error al enviar mensaje." & loMail.GetLastError & "[" & loMail.GetLastErrDescription & "]", vbCritical
330 'App.LogEvent "Error al enviar e-Mail de Informacion de A4's [" & loMail.ServerAddr & "][" & loMail.From & "][" & loMail.Subject & "][" & loMail.GetLastError & "]", 1
340 End If

350 On Error GoTo 0
360 Exit Function

SendMail_Error:

370 MsgBox "Error " & Err.Number & " (" & Err.Description & ") en linea " & Erl & " en procedimiento SendMail del Module modPrincipal"
End Function
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

RE:ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Publicado por juan carlos (518 intervenciones) el 01/06/2010 06:32:59
por lo pronto usa un mensaje para decirte si deseas enviarlo si o no

sample1:
pregunta = msgbox ("enviarlo si o no",20,"Mensaje")
select case pregunta
case 6
enviarlo
case 7
detener
end select

sample2:
la otra es verificar si hay contactos en la bandeja de salida y darte la opcion de enviarlo o no
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

RE:ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Publicado por EMILIO (83 intervenciones) el 03/06/2010 05:02:24
Muchas gracias.
Juan Carlos, tienes algun codigo que haga lo que dices?
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

ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Publicado por amigo (1 intervención) el 27/07/2012 23:15:59
Gracias

Excelente!!!!!!!!!!!!!!!!!!1
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

ENVIAR CORREOS CON OUTLOOK DESDE VISUAL

Publicado por ALEXIS (1 intervención) el 12/02/2013 13:56:01
yo tengo una aplicacion que envia correos en access, con codigo VB, al intentar enviar me da el error 287, y en depuracion me reclama por la instrucción .SEND.

Tengo outlook 2010 y la aplicación enviaba los correos masivamente... será la version del outlook que cambié?
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