我可以向 Outlook 添加自定义“发送”按钮吗?

Posted

技术标签:

【中文标题】我可以向 Outlook 添加自定义“发送”按钮吗?【英文标题】:Can I add a custom "Send" button to Outlook? 【发布时间】:2010-11-03 02:19:30 【问题描述】:

我正在为我的组织创建替代电子邮件的安全消息。我们与外部治疗提供者交换机密的患者信息。为了保护隐私,我们不能将电子邮件用于此目的。

除了强迫用户使用全新的收件箱、发件箱和创作界面之外,他们习惯使用 Outlook/Exchange 电子邮件,我是否可以简单地添加一个“安全发送”按钮,该按钮将将他们的消息定向到我的自定义服务而不是电子邮件服务器?

Microsoft Outlook With New Button http://img38.imageshack.us/img38/5140/newbutton.gif

我从未为 Office 应用程序创建过加载项。是否有可能做到这一点?我应该如何开始?

【问题讨论】:

当有人点击安全时你想做什么?你想加密邮件吗?接收者如何看到它? 为有趣的电子邮件投票。 “发送安全”消息将存储在数据库中,并且只能从受密码保护的网站读取。收件人只会收到一封电子邮件,通知该网站上有一条新的未读邮件。 我希望有人会欣赏这一点,Aric。 @Den 我放弃了这个项目。我没有使用过该产品,但 ShareFile 服务有一个 Outlook 插件,它似乎做了类似的事情。 sharefile.com/about/power-tools-outlook-plugin.aspx 【参考方案1】:

你绝对可以。您可以使用VSTO 来执行此操作。 Here is an example of adding a context menu 项目到文件夹,但添加按钮是非常相似的练习。

【讨论】:

将按钮添加到工具栏/功能区可能同样容易,但我很难相信在内置控件之间插入按钮也是如此 - 再说一次,我从未使用过VSTO 构建插件到目前为止...【参考方案2】:

我知道这并不能回答您的问题,但我认为即使可以,您也不应该这样做。在我看来,这种方法似乎很容易通过普通电子邮件意外发送敏感信息。用户很容易意外单击常规发送按钮,因为它就在“安全发送”按钮旁边。即使您将它们放在窗口的相对两侧,用户也很可能会出于习惯单击常规发送。除非您可以以编程方式检测到信息是敏感信息并且需要安全发送,否则我认为应该强制用户使用单独的应用程序,以便他们始终意识到他们通信的敏感性。即使您可以自动检测敏感信息(我认为您不会轻易做到),最好让用户养成保护他们通信的习惯。

Clippy http://img132.imageshack.us/img132/1707/clippy.gif

【讨论】:

这种情况非常罕见,几乎闻所未闻。可能并不比人们在表示“回复”时单击“全部回复”更常见。 :) 我同意存在问题,A. Levy。在这一点上,我只是想弄清楚什么是可能的以及多么容易。 忘记点击 - 发送的快捷键类似于 Ctrl+Enter;除非你也重新映射它,否则你最终会被人们出于习惯触发它。如果你重新映射它,当他们去使用他们的普通电子邮件时,你会让这些人感到沮丧......!【参考方案3】:

是的,您可以通过重新设计 Tools > Forms > Design a Form 中的 Outlook 消息表单来做到这一点。在那里您可以选择消息表单和消息表单的按钮。

您必须编写一些 VBA 或对点击事件进行分配和操作,以进行安全发送或插入您的服务 URL 等。您可以保存和发布表单。然后,用户可以选择新的“安全”消息表单,或者您可以覆盖组织中的默认表单,以便用户每次选择新邮件时都会使用该表单。

Overwrite a default forms: Form Design Example:

Also there are many addins for outlook that secure email:

VSTO 也可能是一种方法,如果您设计了一个插件,该插件向检查器(邮件)窗口添加了一个工具栏,该窗口将您的 url 插入到您的安全服务中,例如通过小型 winform 按姓名 id 等查找该患者。 (网上有很多例子)

马库斯

【讨论】:

【参考方案4】:

听起来您最好创建一个自定义MAPI Service Provider,然后将 Outlook 连接到它。这应该为您提供一个(相对)干净的编程模型,而不必担心会弄乱 Outlook UI...并且还有助于避免用户不小心单击错误按钮而导致的问题!

【讨论】:

【参考方案5】:

更简单的方法是发送包含指向您网站上受保护内容的链接的消息。

这将避免创建插件/意外点击“发送”而不是“安全发送”的需要。

编辑:我的意思是,即使您不小心发送了这封电子邮件,除了一些带有链接的说明之外,不会有任何内容

例如 myopenid.com/username/patientReport?id=xxxxxxxxxxxxxxxxxxxxx

点击后,系统会提示用户登录并查看详细信息。

EDIT2: 是的,我知道,我正在远离创建 Outlook 插件的话题。但是,当可以得出更简单的解决方案时,为什么要走困难的路呢? :)

【讨论】:

这就是它的要点。但是,我希望它尽可能自动化且易于使用。消息作者不必担心实现细节。【参考方案6】:

为什么不捕获 BeforeCheckNames 事件,然后显示一个对话框,询问用户此消息是否包含机密信息?

【讨论】:

以上是关于我可以向 Outlook 添加自定义“发送”按钮吗?的主要内容,如果未能解决你的问题,请参考以下文章

Outlook 自定义菜单按钮

我可以向 UIToolbar 添加彩色按钮吗?

发送Outlook会议请求而不接受/拒绝选项

IOCTL 可以用于向驱动程序发送自定义输入吗

我们可以使用 Firebase 向独立用户发送自定义推送通知吗?

如何向 UIActivityViewController 添加自定义按钮?