我正在使用 ASP.NET 成员资格提供程序。我想在这里设置密码恢复。我正在使用 Visual Studio 2012 中默认的 IIS Express。但看起来 IIS Express 不支持 SMTP,因为它在这里得到了回答。
那么我有哪些选择来设置密码恢复呢?
我发现没有安装任何东西的一种解决方案是使用 gmail。正如这里讨论的那样http://forums.asp.net/t/1124257.aspx/1 到目前为止,它对于开发目的来说工作得很好。
所以从那个帖子。
这是 web 配置中的邮件设置应该是这样的:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="username@gmail.com">
<network defaultCredentials="false" host="smtp.gmail.com" port="587" userName=username" password="xxxxxxxxxxxx" />
</smtp>
</mailSettings>
</system.net>
aspx 页面:
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server"
onsendingmail="PasswordRecovery1_SendingMail">
</asp:PasswordRecovery>
后面的代码(C#):
protected void PasswordRecovery1_SendingMail(object sender, MailMessageEventArgs e)
{
MailMessage mm = new MailMessage();
mm.From = e.Message.From;
mm.Subject = e.Message.Subject.ToString();
mm.To.Add(e.Message.To[0]);
mm.Body = e.Message.Body;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(mm);
e.Cancel = true;
}