Principales respuestas
Como quitar mensajes de alerta en Outlook ??

Pregunta
-
Hola que tal comunidad ed MSDN
tengo un pequeño problema cuando quiero enviar correos masivamente.
Hice una macro en el outlook que te hace el mensaje y te adjunta una imagen .jpg y haveces envio 2000 a 5000 correos por que es de mi trabajo
pero cuando enpiezo a enviar me sale un recuadro que dice que un programa intenta enviar un mensaje en mi nombre que posiblemente sea virus que si lo quiero enviar o no y la verdad precionar eso cada 5 segundos es molesto. Mi duda es
Abra una forma de quitar ese mensaje de alerta para poder enviar todos los correos de un golpe y no estar dando click's,
Bueno gracias comunidad
Respuestas
-
Hola
Tampoco era mi intención parecer agresivo.
¿Y el sistema operativo...? imagino que XP o inferior.
En http://www.utterangel.com/UtterAngel/utterangel.aspx?cat=acc tienes un muy buen ejemplo de como mandar un correo usando CDO. Con lo que te han comentado, y lo que viene en dicho ejemplo, tienes más que suficiente.Salu2,
José Mª Fueyo [MS MVP Access]- Marcado como respuesta World Code Systems sábado, 17 de julio de 2010 16:41
-
Esta función, recibe los parámetros necesarios para enviar correo electrónico. Fíjate que hay un campo archivo optional, que serìa la ruta y nombre del archivo que deseas adjuntar (de haberlo). Crea una referencia a Microsoft CDO.
Email y clave, son los datos de la cuenta del remitente. Correo es la del destinatario. Está configurada para GMail (remitente, claro). Lo que hago es seleccionar de una lista (todos o algunos), introduzco asunto, cuerpo del correo, y para cada registro se envía los datos a esta función. Podrías mejorarla, deteniendo el proceso si no hay coenxión, etc. Yo lo controlo en el form ;
Function envia_email(correo As String, periodo As String, cuerpo As String, email As String, clave As String, Optional archivo As String) As integer
On Error Resume Next
'envia_email = 0
'Dim Obj_Email
'Dim iConf
'Dim Flds
'Dim strHTML
DoCmd.Hourglass True
Const cdoSendUsingPort = 465
'Set Obj_Email = CreateObject("CDO.Message")
'Set iConf = CreateObject("CDO.Configuration")
'Set Flds = iConf.Fields
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Dim Obj_Email As CDO.Message
' Crea un Nuevo objeto CDO.Message
Set Obj_Email = New CDO.Message
' Indica el servidor Smtp para poder enviar el Mail ( puede ser el nombre _
del servidor o su dirección IP )
Obj_Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
Obj_Email.Configuration.Fields(cdoSendUsingMethod) = 2
' Puerto. Por defecto se usa el puerto 25, en el caso de Gmail se usan los puertos _
465 o el puerto 587 ( este último me dio error )
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = cdoSendUsingPort
' Indica el tipo de autentificación con el servidor de correo _
El valor 0 no requiere autentificarse, el valor 1 es con autentificación
Obj_Email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/" & _
"configuration/smtpauthenticate") = True 'Abs(Usar_Autentificacion)
' Tiempo máximo de espera en segundos para la conexión
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
' Configura las opciones para el login en el SMTP
'If Usar_Autentificacion Then
' Id de usuario del servidor Smtp ( en el caso de gmail, debe ser la dirección de correro _
mas el @gmail.com )
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = email
' Password de la cuenta
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = clave
' Indica si se usa SSL para el envío. En el caso de Gmail requiere que esté en True
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
'End If
' *********************************************************************************
' Estructura del mail
'**********************************************************************************
' Dirección del Destinatario
Obj_Email.To = correo
' Dirección del remitente
Obj_Email.From = email
' Asunto del mensaje
Obj_Email.Subject = periodo
' Cuerpo del mensaje
'cadena = "<HTML><HEAD></HEAD><BODY bgcolor=""#fccccc""><CENTER><H2>VERSIÓN DE EVALUACIÓN</H2><BR>"
'cadena = cadena & "<H2>Servicio Exclusivo de Envío de Recibos</H2>"
'cadena = cadena & "<H3>PARA EL " & ConjuntoSel & "</h3></center><br><br><br>"
'cadena = cadena & "<p><p><p><strong>Ver archivo adjunto.</strong><br><br><br>"
cadena = "<table background=""http://www.tudireccionweb.com.ve/archivos/aviso_cobro.png""><CENTER><BR>"
cadena = cadena & "<H2>Servicio Exclusivo de Envío de Recibos</H2>"
cadena = cadena & "<H3>PARA EL " & ConjuntoSel & "</h3></center><br><br><br>"
cadena = cadena & "<p><p><p><strong>Ver archivo adjunto.</strong><br><br><br>"
cadena = cadena & "<p><p>Tecnología desarrollada por www.tucondominioaldia.com.ve - mas información: <a mailto=""tudirecciondecorreo@gmail.com"" target=_blank>tudirecciondecorreo@gmail.com</a>-0414-00000000 / 0412-00000000<p></p><hr>"
Obj_Email.HTMLBody = cadena & cuerpo & "</table>"
'Ruta del archivo adjunto
If archivo <> vbNullString Then
Obj_Email.AddAttachment (archivo)
End If
' Actualiza los datos antes de enviar
Obj_Email.Configuration.Fields.Update
On Error Resume Next
' Envía el email
Obj_Email.Send
If Err.Number = 0 Then
Enviar_Mail_CDO = Trueenvia_email=1
Else
'Debug.Print Err.Numberenvia_email=0
Select Case Err.Number
Case -2147220973
MsgBox " No hay conexión a internet. Proceso cancelado.", vbCritical, "Error al enviar correo"
envia_email = 0
Case -2147220979
MsgBox " Debe introducir en el formulario de Información" & vbCrLf _
& "del Condominio, un email de GMail y una contraseña." & vbCrLf _
& "Proceso cancelado.", vbCritical, "Error al enviar correo"
envia_email = 0
Case -2147220975
MsgBox " La dirección de correo del condominio y/o la contraseña" & vbCrLf _
& "no son correctas. Revise el formulario de condominio.", vbCritical, " No se envió el correo "
envia_email = 0
Case Else
MsgBox Err.Description, vbCritical, " No se envió el correo. "
End Select
End If
' Descarga la referencia
If Not Obj_Email Is Nothing Then
Set Obj_Email = Nothing
End If
On Error GoTo 0
DoCmd.Hourglass False
End Function- Marcado como respuesta World Code Systems sábado, 17 de julio de 2010 16:42
Todas las respuestas
-
-
Hola que tal mira este es el codigo que realize para enviar los mails; recordemos que esto esta hecho en el editor de macros de outlook
Muchas gracias por la ayuda
Dim i As Integer Dim iniciar As Integer Dim texto1, texto2, texto3 As String Dim arregloMail(5000, 2) As String -------------------------------------------------------------------------------------------------------------------------- Sub enviaMail() Dim valida As Boolean Dim olApp As Outlook.Application Dim objNewMail(5000) As Outlook.MailItem Dim opcion As Integer valida = False i = 0 Close Open "c:\envios\cuentas.txt" For Input As #1 Open "c:\envios\correos.txt" For Input As #2 Open "c:\envios\folios.txt" For Input As #3 Open "c:\envios\envios.txt" For Output As #4 Open "c:\envios\html.txt" For Input As #5 Line Input #5, encabeza cuenta = 0 Do While Not EOF(1) Line Input #1, arregloMail(i, 0) 'CUENTA Line Input #2, arregloMail(i, 1) 'CORREO Line Input #3, arregloMail(i, 2) 'FOLIO imagen = "C:\envios\" & arregloMail(i, 0) & ".jpg" 'IMAGEN '--------------------------------------------- '--------------------------------------------- texto1 = " SE ENVIA LA PRESENTE NUM. <strong>" & arregloMail(i, 0) & "</strong>, A PETICIÓN DEL INTERESADO Y PARA LOS FINES LEGALES QUE A ESTE CONVENGAN." texto2 = "<HR><UL><LI><strong>POR FAVOR NO RESPONDA A ESTE MAIL; ESTE CORREO HA SIDO GENERADO AUTOMÁTICAMENTE POR LO QUE NO EMITE RESPUESTAS." texto3 = "PARA CUALQUIER DUDA O ACLARACIÓN FAVOR DE COMUNICARSE AL -20 Y DEL INTERIOR DE LA REPUBLICA AL 0040</strong></LI></UL></HR></span>" Set olApp = New Outlook.Application Set objNewMail(i) = olApp.CreateItem(olMailItem) '------------------------PREPARACION DEL CORREO objNewMail(i).To = arregloMail(i, 1) objNewMail(i).HTMLBody = encabeza & Now & "<p>" & texto1 & "<p>" & texto2 & texto3 & "</span></p></body></html>" objNewMail(i).Subject = "TITULO DEL MESAJE" objNewMail(i).Attachments.Add (imagen) '--------------------------------FIN DEL CORREO archivo = i & ".- " & arregloMail(i, 0) & " " & arregloMail(i, 2) & " " & Now & vbTab & arregloMail(i, 1) frmEnviaV2.ListaCorreos.AddItem (archivo) i = i + 1 Loop opcion = MsgBox("Se procesaron " & i & " Correos para enviar" & vbCr & "El dia " & Date & vbCr & "Preciones Aceptar para continuar", vbOKCancel) '-----------------------------------ENVIAR CORREOS i = i - 1 For iniciar = 0 To i '+++EVENTO CANCELADO If opcion = 2 Then MsgBox "Se cancelaron los envios" frmEnviaV2.StatusBar1.Panels.Item(3).Text = "Evento Cancelado por el usuario" frmEnviaV2.Label5.Enabled = True Exit For End If archivo = iniciar & ".- " & arregloMail(iniciar, 0) & " " & arregloMail(iniciar, 2) & " " & Now & vbTab & arregloMail(iniciar, 1) frmEnviaV2.ListaCorreos.RemoveItem (iniciar) frmEnviaV2.ListaCorreos.AddItem "Procesando. . ." & vbTab & archivo, iniciar frmEnviaV2.StatusBar1.Panels.Item(3).Text = "Enviando Mail en lista No. " & iniciar objNewMail(iniciar).Send '++++++ENVIAR+++++ Print #4, archivo frmEnviaV2.Label12.Enabled = True frmEnviaV2.Frame1.Caption = "Elementos Enviados " & iniciar & "/" & i frmEnviaV2.ListaCorreos.RemoveItem (iniciar) frmEnviaV2.ListaCorreos.AddItem "Enviado • " & vbTab & archivo, iniciar Next '-----------------------------------FIN ENVIAR CORREOS Set olApp = Nothing Set objNewMail(i) = Nothing Close End Sub -------------------------------------------------------------------------------------------------------------------------- Function abrirArchivos() Close Open ("c:\envios\envios.txt") For Input As #5 Do While Not EOF(5) Line Input #5, nuevaLinea frmenvios.verArchivo = frmenvios.verArchivo & vbCr & nuevaLinea Loop Close End Function
-
Hola
Mira a ver sí esto te puede da información al respecto: http://www.outlookcode.com/article.aspx?id=52
Aparte, tienes la opción de usar un control smtp (que funciona rodeando Outlook). Un ejemplo lo tienes en http://www.ostrosoft.com/smtp_component.aspSuerte,
José Mª Fueyo [MS MVP Access] -
-
-
Esta función, recibe los parámetros necesarios para enviar correo electrónico. Fíjate que hay un campo archivo optional, que serìa la ruta y nombre del archivo que deseas adjuntar (de haberlo). Crea una referencia a Microsoft CDO.
Email y clave, son los datos de la cuenta del remitente. Correo es la del destinatario. Está configurada para GMail (remitente, claro). Lo que hago es seleccionar de una lista (todos o algunos), introduzco asunto, cuerpo del correo, y para cada registro se envía los datos a esta función. Podrías mejorarla, deteniendo el proceso si no hay coenxión, etc. Yo lo controlo en el form ;
Function envia_email(correo As String, periodo As String, cuerpo As String, email As String, clave As String, Optional archivo As String) As integer
On Error Resume Next
'envia_email = 0
'Dim Obj_Email
'Dim iConf
'Dim Flds
'Dim strHTML
DoCmd.Hourglass True
Const cdoSendUsingPort = 465
'Set Obj_Email = CreateObject("CDO.Message")
'Set iConf = CreateObject("CDO.Configuration")
'Set Flds = iConf.Fields
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Dim Obj_Email As CDO.Message
' Crea un Nuevo objeto CDO.Message
Set Obj_Email = New CDO.Message
' Indica el servidor Smtp para poder enviar el Mail ( puede ser el nombre _
del servidor o su dirección IP )
Obj_Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
Obj_Email.Configuration.Fields(cdoSendUsingMethod) = 2
' Puerto. Por defecto se usa el puerto 25, en el caso de Gmail se usan los puertos _
465 o el puerto 587 ( este último me dio error )
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = cdoSendUsingPort
' Indica el tipo de autentificación con el servidor de correo _
El valor 0 no requiere autentificarse, el valor 1 es con autentificación
Obj_Email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/" & _
"configuration/smtpauthenticate") = True 'Abs(Usar_Autentificacion)
' Tiempo máximo de espera en segundos para la conexión
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
' Configura las opciones para el login en el SMTP
'If Usar_Autentificacion Then
' Id de usuario del servidor Smtp ( en el caso de gmail, debe ser la dirección de correro _
mas el @gmail.com )
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = email
' Password de la cuenta
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = clave
' Indica si se usa SSL para el envío. En el caso de Gmail requiere que esté en True
Obj_Email.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
'End If
' *********************************************************************************
' Estructura del mail
'**********************************************************************************
' Dirección del Destinatario
Obj_Email.To = correo
' Dirección del remitente
Obj_Email.From = email
' Asunto del mensaje
Obj_Email.Subject = periodo
' Cuerpo del mensaje
'cadena = "<HTML><HEAD></HEAD><BODY bgcolor=""#fccccc""><CENTER><H2>VERSIÓN DE EVALUACIÓN</H2><BR>"
'cadena = cadena & "<H2>Servicio Exclusivo de Envío de Recibos</H2>"
'cadena = cadena & "<H3>PARA EL " & ConjuntoSel & "</h3></center><br><br><br>"
'cadena = cadena & "<p><p><p><strong>Ver archivo adjunto.</strong><br><br><br>"
cadena = "<table background=""http://www.tudireccionweb.com.ve/archivos/aviso_cobro.png""><CENTER><BR>"
cadena = cadena & "<H2>Servicio Exclusivo de Envío de Recibos</H2>"
cadena = cadena & "<H3>PARA EL " & ConjuntoSel & "</h3></center><br><br><br>"
cadena = cadena & "<p><p><p><strong>Ver archivo adjunto.</strong><br><br><br>"
cadena = cadena & "<p><p>Tecnología desarrollada por www.tucondominioaldia.com.ve - mas información: <a mailto=""tudirecciondecorreo@gmail.com"" target=_blank>tudirecciondecorreo@gmail.com</a>-0414-00000000 / 0412-00000000<p></p><hr>"
Obj_Email.HTMLBody = cadena & cuerpo & "</table>"
'Ruta del archivo adjunto
If archivo <> vbNullString Then
Obj_Email.AddAttachment (archivo)
End If
' Actualiza los datos antes de enviar
Obj_Email.Configuration.Fields.Update
On Error Resume Next
' Envía el email
Obj_Email.Send
If Err.Number = 0 Then
Enviar_Mail_CDO = Trueenvia_email=1
Else
'Debug.Print Err.Numberenvia_email=0
Select Case Err.Number
Case -2147220973
MsgBox " No hay conexión a internet. Proceso cancelado.", vbCritical, "Error al enviar correo"
envia_email = 0
Case -2147220979
MsgBox " Debe introducir en el formulario de Información" & vbCrLf _
& "del Condominio, un email de GMail y una contraseña." & vbCrLf _
& "Proceso cancelado.", vbCritical, "Error al enviar correo"
envia_email = 0
Case -2147220975
MsgBox " La dirección de correo del condominio y/o la contraseña" & vbCrLf _
& "no son correctas. Revise el formulario de condominio.", vbCritical, " No se envió el correo "
envia_email = 0
Case Else
MsgBox Err.Description, vbCritical, " No se envió el correo. "
End Select
End If
' Descarga la referencia
If Not Obj_Email Is Nothing Then
Set Obj_Email = Nothing
End If
On Error GoTo 0
DoCmd.Hourglass False
End Function- Marcado como respuesta World Code Systems sábado, 17 de julio de 2010 16:42
-
Hola
Aparte que no indicas sí te sirve o no lo que te mostré, tampoco nos indicas que sistema operativo usas ni que versión de Office utilizas.
A partir de versiónes superiores a la 2007, ya no se distribuye CDONTS, tienes que bajarla de éste link:
http://tinyurl.com/2whdhc5Salu2,
José Mª Fueyo [MS MVP Access] -
-
Hola
Tampoco era mi intención parecer agresivo.
¿Y el sistema operativo...? imagino que XP o inferior.
En http://www.utterangel.com/UtterAngel/utterangel.aspx?cat=acc tienes un muy buen ejemplo de como mandar un correo usando CDO. Con lo que te han comentado, y lo que viene en dicho ejemplo, tienes más que suficiente.Salu2,
José Mª Fueyo [MS MVP Access]- Marcado como respuesta World Code Systems sábado, 17 de julio de 2010 16:41
-