MVC 5电子邮件确认
本文关键字:确认 电子邮件 MVC | 更新日期: 2023-09-27 18:02:29
我一直在看各种教程,发现一个乍一看很理想的教程,但我在实现中遇到了一些问题。有人能帮我解决以下问题吗?
public class ApplicationUser : IdentityUser
{
public Nullable<int> TitleId { get; set; }
public Nullable<int> SexId { get; set; }
public string Forename { get; set; }
public string Surname { get; set; }
public string Email { get; set; }
public string ConfirmationToken { get; set; }
public Nullable<bool> Active { get; set; }
public DateTime? JoinDate { get; set; }
}
NVARCHAR(128(是否适用于字段ConfirmationToken?
private string CreateConfirmationToken()
{
return ShortGuid.NewGuid();
}
在Visual Studio 2013中,单词ShortGuid
用红色下划线,所以我猜我缺少了一个命名空间或类。
private void SendEmailConfirmation(string to, string username, string confirmationToken)
{
dynamic email = new Email("RegEmail");
email.To = to;
email.UserName = username;
email.ConfirmationToken = confirmationToken;
email.Send();
}
在dynamic email = new Email("RegEmail");
行中,单词Email
用红色下划线。也可以将其修改为使用smtp.yahoo.com,端口587使用NetworkCredential和EnableSsl吗?
private bool ConfirmAccount(string confirmationToken)
{
ApplicationDbContext context = new ApplicationDbContext();
ApplicationUser user = context.Users.SingleOrDefault(u => u.ConfirmationToken == confirmationToken);
if (user != null)
{
user.Active = true;
DbSet<ApplicationUser> dbSet = context.Set<ApplicationUser>();
dbSet.Attach(user);
context.Entry(user).State = EntityState.Modified;
context.SaveChanges();
return true;
}
return false;
}
在行DbSet<ApplicationUser> dbSet = context.Set<ApplicationUser>();
中,DbSet部分与单词EntityState
一样以红色下划线。
如需进一步参考,请参阅Kevin Junghans的原创文章(http://kevin-junghans.blogspot.co.uk/2013/10/adding-email-confirmation-to-aspnet.html)。
任何帮助都将不胜感激。
希望我不会太迟;(
我在同一个博客上遇到了完全相同的问题。你必须按照Andreas的评论安装更多的软件包。在Package Manager控制台中运行此命令:
Install-Package postal -Version 0.9.2
这将使您能够使用"Postal"参考解析电子邮件。
此外,如果您将退货声明替换为以下内容,您的"ShortGuid"问题似乎已得到解决:
return ShortGuid.NewShortGuid();
我没有使用您的其余代码,但我想您也可以使用更多的软件包安装来解决这些问题;(