有什么方法可以获取在Outlook中点击链接的人的电子邮件地址

时间:2019-01-10 07:55:19

标签: javascript asp.net-mvc outlook office365 mailkit

我开发了一个应用程序,其中所有组织流程都将在线处理。 有一些流程是手动运行的,并且花费了一些时间,现在它需要在线批准或不批准。

假设有一个文档将由HR ---> ADMIN ---> CEO.批准

现在,当有人启动请求应用程序时,将两个链接发送给HR经理批准或不批准的链接,HR可以通过单击那些链接来执行其操作。

如果HR经理将此链接发送给其他人,那么会发生什么事情,尽管该人不是合适的人,但该人也可以批准或不批准该过程。

我可以通过在这两个链接上执行身份验证过程来停止它,而不是每个权限都必须登录该应用程序。我不要

我是否可以选择单击该链接的人的电子邮件ID,以便可以比较后端的电子邮件地址?

enter image description here

1 个答案:

答案 0 :(得分:2)

如我所见,您有3种可能的方法:


1:实施身份验证过程

在我看来,这是最好的方法,因为您可以确定应该批准流程的人是真正批准流程的人。

此方法的缺点是用户必须登录,但是您可以通过这种方式实现他们很少需要登录的方式,例如,他们可以保持登录一个月或更长时间。


2:使用具有一次性令牌的链接

这基本上就是您提到的方法,即有人可以转发电子邮件,然后其他人可以批准。

在您的情况下,唯一可行的方法是从上至下强制执行,因为如果将此类电子邮件发送给其他人,则管理层可能会受到处罚。但这很少是一个好的策略,很难执行。


3:批准和拒绝并回复电子邮件

我认为这种方法可能与您正在寻找的方法最接近,但是作为免责声明,我之前没有测试过类似的东西。

您可以通过以下方式设置链接:单击链接将打开一个新的邮件屏幕,其中填充了某些内容,例如,您可以填充主题和将邮件发送到的地址。

示例链接:<a href="mailto:approvedisapprove@system.com?Subject=Approve%20%5BIDNumberHere%5D&body=UniqueID%3D123456" target="_top">Approve</a>

然后,在创建的系统中,您将必须监视该邮箱,然后使用发件人地址解析收到的电子邮件,以验证是否由正确的人发送了电子邮件。

使用此方法的一个重要注意事项是,可以很容易地欺骗电子邮件中的发件人地址,因此,如果您想采用此方法,则建议至少在电子邮件中添加某种随机令牌,在后端进行验证。

即使使用唯一令牌,也存在另一种攻击媒介,尽管这需要一些工作。假设系统向爱丽丝发送了一封邮件,因为她需要批准或拒绝某件事,因此将邮件转发给鲍勃。 Bob无法单击该链接并按原样发送电子邮件,因为系统会看到该电子邮件来自他的电子邮件地址,但是Bob所能做的就是单击该链接以查看主题,然后欺骗Alice的使用欺骗网站发送电子邮件。然后,系统将按顺序查看所有内容,因为它看起来像是来自Alice的电子邮件。

示例欺骗站点:https://emkei.cz/

相关问题