Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
26-10-20 04:17 PM
Hola estimados, que bueno que se haya creado una comunidad para habla hispana.
Quería aprovechar de realizar mi primer post en la comunidad, asociada a si existe dentro del objeto nativo de Outlook, o algún otro objeto, que permita identificar cuando ocurre el error "Intentando conectar al servidor...". Para poder determinar cuando existe un problema que no permita enviar y recibir correos.
Adjunto imagen con el error que les menciono.
Quedo atento a su respuesta.
Gracias.
Saludos,
------------------------------
Aben Abd-El-Kader
Ingeniero
Santander Chile
America/Santiago
------------------------------
Quería aprovechar de realizar mi primer post en la comunidad, asociada a si existe dentro del objeto nativo de Outlook, o algún otro objeto, que permita identificar cuando ocurre el error "Intentando conectar al servidor...". Para poder determinar cuando existe un problema que no permita enviar y recibir correos.
Adjunto imagen con el error que les menciono.
Quedo atento a su respuesta.
Gracias.
Saludos,
------------------------------
Aben Abd-El-Kader
Ingeniero
Santander Chile
America/Santiago
------------------------------
Answered! Go to Answer.
1 BEST ANSWER
Helpful Answers
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
26-10-20 05:13 PM
Este es el código que tiene el Send Email. y no veo que haya ningún try catch. Es más las únicas opciones que contempla es que te hayas dejado campos vacíos. Con lo que si da error no te va a devolver el tipo de error. Si miramos los outputs del SEND EMAIL no existen. Tal vez puedas configurarte una actividad que verifique el estado de la conexión. Te dejo link que lo mismo te puede ayudar en esa tarea:
https://docs.microsoft.com/es-es/office/vba/api/outlook.namespace.exchangeconnectionmode
Dim app = CreateObject("Outlook.Application")
Dim mail = app.CreateItem(0)
Dim addressCount As Integer
If [To] <> "" Then
Dim toAddresses = Split([To], ";")
For addressCount = LBound(toAddresses) To UBound(toAddresses)
Dim recipient = mail.Recipients.Add(toAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olTo
Next
End if
If CC <> "" Then
Dim ccAddresses = Split([CC], ";")
addressCount = 0
For addressCount = LBound(ccAddresses) To UBound(ccAddresses)
Dim recipient = mail.Recipients.Add(ccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olCC
Next
End If
If BCC <> "" Then
Dim bccAddresses = Split([BCC], ";")
addressCount = 0
For addressCount = LBound(bccAddresses) To UBound(bccAddresses)
Dim recipient = mail.Recipients.Add(bccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olBCC
Next
End If
mail.Subject = Subject
mail.HTMLBody = Message
For Each att As String In Attachments.Split(";"c)
If att = "" Then Continue For
mail.Attachments.Add(att)
Next
mail.Save
mail.Send
------------------------------
Jesús Miguel Bravo Díaz
RPA Developer
Atento
Europe/Madrid
------------------------------
https://docs.microsoft.com/es-es/office/vba/api/outlook.namespace.exchangeconnectionmode
Dim app = CreateObject("Outlook.Application")
Dim mail = app.CreateItem(0)
Dim addressCount As Integer
If [To] <> "" Then
Dim toAddresses = Split([To], ";")
For addressCount = LBound(toAddresses) To UBound(toAddresses)
Dim recipient = mail.Recipients.Add(toAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olTo
Next
End if
If CC <> "" Then
Dim ccAddresses = Split([CC], ";")
addressCount = 0
For addressCount = LBound(ccAddresses) To UBound(ccAddresses)
Dim recipient = mail.Recipients.Add(ccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olCC
Next
End If
If BCC <> "" Then
Dim bccAddresses = Split([BCC], ";")
addressCount = 0
For addressCount = LBound(bccAddresses) To UBound(bccAddresses)
Dim recipient = mail.Recipients.Add(bccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olBCC
Next
End If
mail.Subject = Subject
mail.HTMLBody = Message
For Each att As String In Attachments.Split(";"c)
If att = "" Then Continue For
mail.Attachments.Add(att)
Next
mail.Save
mail.Send
------------------------------
Jesús Miguel Bravo Díaz
RPA Developer
Atento
Europe/Madrid
------------------------------
5 REPLIES 5
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
26-10-20 04:34 PM
No se si existe algo así, de existir nunca lo he usado.
Podrías poner un bloque y dentro del bloque una actividad "recover" de esta forma podrías recuperar el mensaje de error lanzado por la actividad y a través de un "decision" comprobar si el mensaje se corresponde con el de "Intentando conectar al servidor...". Yo me he encontrado con el siguiente mensaje alguna vez: "ERROR: Internal : Could not execute code stage because exception thrown by code stage: The request failed. Unable to connect to the remote server".
Espero haberte podido ser de ayuda.
Un saludo.
------------------------------
Jesús Miguel Bravo Díaz
RPA Developer
Atento
Europe/Madrid
------------------------------
Podrías poner un bloque y dentro del bloque una actividad "recover" de esta forma podrías recuperar el mensaje de error lanzado por la actividad y a través de un "decision" comprobar si el mensaje se corresponde con el de "Intentando conectar al servidor...". Yo me he encontrado con el siguiente mensaje alguna vez: "ERROR: Internal : Could not execute code stage because exception thrown by code stage: The request failed. Unable to connect to the remote server".
Espero haberte podido ser de ayuda.
Un saludo.
------------------------------
Jesús Miguel Bravo Díaz
RPA Developer
Atento
Europe/Madrid
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
26-10-20 04:37 PM
Hola Jesús, el tema es que no genera error en BP, al pasar por el action "Send mail", asume que lo envío, sin importar que haya quedado en la bandeja de salida esperando. No arroja ningún tipo de exception.
Saludos,
------------------------------
Aben Abd-El-Kader
Ingenier
Accenture
America/Santiago
------------------------------
Saludos,
------------------------------
Aben Abd-El-Kader
Ingenier
Accenture
America/Santiago
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
26-10-20 05:13 PM
Este es el código que tiene el Send Email. y no veo que haya ningún try catch. Es más las únicas opciones que contempla es que te hayas dejado campos vacíos. Con lo que si da error no te va a devolver el tipo de error. Si miramos los outputs del SEND EMAIL no existen. Tal vez puedas configurarte una actividad que verifique el estado de la conexión. Te dejo link que lo mismo te puede ayudar en esa tarea:
https://docs.microsoft.com/es-es/office/vba/api/outlook.namespace.exchangeconnectionmode
Dim app = CreateObject("Outlook.Application")
Dim mail = app.CreateItem(0)
Dim addressCount As Integer
If [To] <> "" Then
Dim toAddresses = Split([To], ";")
For addressCount = LBound(toAddresses) To UBound(toAddresses)
Dim recipient = mail.Recipients.Add(toAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olTo
Next
End if
If CC <> "" Then
Dim ccAddresses = Split([CC], ";")
addressCount = 0
For addressCount = LBound(ccAddresses) To UBound(ccAddresses)
Dim recipient = mail.Recipients.Add(ccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olCC
Next
End If
If BCC <> "" Then
Dim bccAddresses = Split([BCC], ";")
addressCount = 0
For addressCount = LBound(bccAddresses) To UBound(bccAddresses)
Dim recipient = mail.Recipients.Add(bccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olBCC
Next
End If
mail.Subject = Subject
mail.HTMLBody = Message
For Each att As String In Attachments.Split(";"c)
If att = "" Then Continue For
mail.Attachments.Add(att)
Next
mail.Save
mail.Send
------------------------------
Jesús Miguel Bravo Díaz
RPA Developer
Atento
Europe/Madrid
------------------------------
https://docs.microsoft.com/es-es/office/vba/api/outlook.namespace.exchangeconnectionmode
Dim app = CreateObject("Outlook.Application")
Dim mail = app.CreateItem(0)
Dim addressCount As Integer
If [To] <> "" Then
Dim toAddresses = Split([To], ";")
For addressCount = LBound(toAddresses) To UBound(toAddresses)
Dim recipient = mail.Recipients.Add(toAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olTo
Next
End if
If CC <> "" Then
Dim ccAddresses = Split([CC], ";")
addressCount = 0
For addressCount = LBound(ccAddresses) To UBound(ccAddresses)
Dim recipient = mail.Recipients.Add(ccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olCC
Next
End If
If BCC <> "" Then
Dim bccAddresses = Split([BCC], ";")
addressCount = 0
For addressCount = LBound(bccAddresses) To UBound(bccAddresses)
Dim recipient = mail.Recipients.Add(bccAddresses(addressCount))
recipient.Resolve
If recipient.Resolved Then recipient.Type = OlMailRecipientType.olBCC
Next
End If
mail.Subject = Subject
mail.HTMLBody = Message
For Each att As String In Attachments.Split(";"c)
If att = "" Then Continue For
mail.Attachments.Add(att)
Next
mail.Save
mail.Send
------------------------------
Jesús Miguel Bravo Díaz
RPA Developer
Atento
Europe/Madrid
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
26-10-20 06:16 PM
Lo revisare, gracias Jesús. Creare una versión extended de ese objeto para agregar code y probar
Saludos,
------------------------------
Aben Abd-El-Kader
Ingenier
Accenture
America/Santiago
------------------------------
Saludos,
------------------------------
Aben Abd-El-Kader
Ingenier
Accenture
America/Santiago
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
27-10-20 01:18 PM
Hola, complementario a lo que contesta Jesús. Si no consigues que el objeto falle ante un problema de conexión, puedes luego ir a buscar el item en la carpeta de "Elementos Enviados", si no lo encuentras es que ha fallado el email.
igualmente, puedes añadir una nueva acción al objeto de outlook (Recomiendo hacer uno aparte con modificaciones y mantener el original de blueprism intacto), en los siguientes links tienses el codigo .net para lo que quieres.
https://stackoverflow.com/questions/18257883/check-exchange-connectivity-status
https://social.msdn.microsoft.com/Forums/vstudio/en-US/6be98c83-2869-4b77-9e22-63c833a08536/realtime-status-of-outlook-connection-status?forum=vsto
un saludo!
------------------------------
Javier García-Bernalt Fernández
RPA Consultant
EY
Europe/Madrid
------------------------------
igualmente, puedes añadir una nueva acción al objeto de outlook (Recomiendo hacer uno aparte con modificaciones y mantener el original de blueprism intacto), en los siguientes links tienses el codigo .net para lo que quieres.
https://stackoverflow.com/questions/18257883/check-exchange-connectivity-status
https://social.msdn.microsoft.com/Forums/vstudio/en-US/6be98c83-2869-4b77-9e22-63c833a08536/realtime-status-of-outlook-connection-status?forum=vsto
un saludo!
------------------------------
Javier García-Bernalt Fernández
RPA Consultant
EY
Europe/Madrid
------------------------------