如何检查电子邮件地址是否确实存在(而不仅仅是验证)?这些人是如何做到的:http://www.email-unlimited.com/tools/verify-email.aspx
它似乎工作......
我有一个MVC和一个Web API项目,使用ASP.NET MVC Web API身份(OWIN安全性)进行身份验证.
我在Register功能正常的函数中添加了电子邮件确认,但我不确定如何emailConfirmed = true在登录之前检查是否因为Web API标识上没有显式的登录功能,这是隐含的.
我知道微软有充分的理由深度封装授权功能,但是没有办法实现这一目标吗?
请指教.
这是我的注册功能:
[AllowAnonymous]
[Route("Register")]
public async Task<IHttpActionResult> Register(RegisterBindingModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
IdentityResult result = await UserManager.CreateAsync(user, model.Password);
if (!result.Succeeded)
{
return GetErrorResult(result);
}
try
{
var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = new Uri(Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code }));
var email …Run Code Online (Sandbox Code Playgroud) 使用默认的 mvc 代码在注册时确认电子邮件地址,但是当电子邮件被发送时,它没有显示 html。
模板MVC代码:
string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" +
callbackUrl + "\">here</a>");
Run Code Online (Sandbox Code Playgroud)
发送电子邮件异步:
public Task SendAsync(IdentityMessage message)
{
// Plug in your email service here to send an email.
SmtpClient client = new SmtpClient();
return client.SendMailAsync("email here",
message.Destination,
message.Subject,
message.Body);
return Task.FromResult(0);
}
Run Code Online (Sandbox Code Playgroud)
在查看有关 SO 的其他一些问题时,我稍微更改了发送代码,以便可以将正文设置为允许使用 html,但我仍然遇到相同的问题
public Task …Run Code Online (Sandbox Code Playgroud)