【发布时间】:2016-06-20 06:44:16
【问题描述】:
我正在开发一个提供帐户管理功能的应用程序。实施方面,它有一个用于 UI 的 MVC 应用程序和独立几个用于业务逻辑的 Web API 服务。
我需要在以下几种情况下管理向用户发送邮件
用户创建帐户,Web API 发送确认/激活邮件
用户忘记密码,Web API 发送重置链接
现在的问题是,如何在不暴露 Web API 主机 IP(或 URL)的情况下向用户发送邮件?也许,我可以做到以下几点:
在 MVC 中创建一个操作,调用该操作时,将信息发送到 适当的 Web API 控制器方法
使用适当的参数,将上述动作作为href包含在Web API发送的邮件中
另一种方法可能是,只需将代码发送给不带链接的用户,并要求用户在 UI 上输入该令牌(用户知道 MVC UI 链接)。
我更喜欢第二种方法。这是正确的方法吗?还有其他更好的方法吗?
注意事项:
Web API 将使用 SendGrid 发送邮件
系统(MVC 和 Web API)将托管在 Azure 中(我提到这一点是为了 当 Azure 向外扩展时,了解上述第一种方法中的任何陷阱 系统)。
谢谢
【问题讨论】:
标签: asp.net-mvc email security azure