2017-07-14 77 views
-5

我想拦截发送事件,并在实际发送之前取消电子邮件。我劲歌:每一个用户点击一个客户端发送按钮时(当然使用SMPT)我想取消发送操作,并添加一些自定义的东西,以电子邮件的附件(如有)和身体C#取消使用smtpClient发送电子邮件

编辑:

在这里,我想实现: 当用户点击发送按钮使用时,可以说从Windows 10邮件应用程序,我不希望邮件实际发送,我只是想取消发送操作,修改电子邮件消息(正文,附件),然后sendit

+5

你尝试过什么吗? –

+3

[so]是*不*免费代码写作服务。预计你会尝试**自己编写代码**。在[做更多研究]之后(http://meta.stackoverflow.com/questions/261592),如果你有问题,你可以**发布你已经尝试过**的清单,说明什么是不工作的**并提供** [mcve] **。我建议阅读[问]一个好问题和[完美问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要参加[旅游]。 – Igor

+2

尝试使用编程来做到这一点 –

回答

1

很直白,这有XY problem写在它上面。

一旦你拨打Send,没有任何机制可以取消该消息 - 该类在发送电子邮件或任何事件之前不会引发任何事件,只是发送它。只要确保在发送消息之前确实已准备好发送消息。

无论如何,这个实际使用情况是相当小的;假设,仅仅为了争辩,Send操作需要2秒(并且它可能很容易花费很少);在这2秒钟内,有人会改变主意(甚至能够迅速采取行动阻止它离开)的可能性有多大?

你最好完全建立电子邮件然后发送它(而不是调用Send,取消,完成构建,然后再发送)。

TL; DR您不能,也不应该也不需要取消Send操作 - 只是在您知道您准备好之前不要启动它。

相关问题