繁体   English   中英

Interop.Outlook / UiPath - 有没有办法以异步方式发送 email?

[英]Interop.Outlook / UiPath - Is there a way to send an email in an asynchronous way?

我为 UiPath 开发了一些自定义活动,其中一些用于发送具有一些自定义行为的电子邮件(更改 email 的回复收件人,获取所有线程并重新发送...)

问题是,在我们在 Outlook 上遇到安全 window 之前,它没有任何问题,您应该按下“允许”以继续从它发送或获取 email。

这个弹出窗口实际上阻止了任何 email outlook 相关活动(也来自 UiPath)。 实际上,我们使用 UiPath 活动的并行活动对其进行了整理。

对于自定义活动,情况有所不同,因为 Interop 的 Send 方法会锁定 CPU/线程/任何东西,不允许并行活动完成其工作。

UiPath自定义activity应该是继承或派生自CodeActivity,是同步的,所以我使用了AsyncCodeActivity的实现

protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)

protected override void EndExecute(AsyncCodeActivityContext context, IAsyncResult result)

在 BeginExecute 我有我的 Send 方法,它仍然阻止了这个过程。 是的,我已经破解了一些与流程本身无关的东西。

bool returnValue = 2 > 1;
Func<int, int, bool> func = (x, y) => x > y;
return func.BeginInvoke(2, 1, callback, state);

如您所见,我并没有真正使用异步或线程相关的编码。 那么,谁能帮助我如何以异步方式发送 email(来自 Outlook,而不是 SMTP 或任何相关)? 似乎 UiPath 活动正在这样做,我想复制。

非常感谢你。

亲切的问候,

您是否查看过@wolfgang-radl 的这个异步答案?

如何在 UIPath 中调用异步活动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM