Reset password implementation

This commit is contained in:
2013-01-02 14:18:12 -05:00
parent e88065e925
commit 4af8981a10
17 changed files with 338 additions and 47 deletions
+45
View File
@@ -0,0 +1,45 @@
using System.Configuration;
using System.Net.Mail;
using MileageTraker.Web.Models;
using log4net;
namespace MileageTraker.Web.Email
{
/// <summary>
/// Email Notification
/// </summary>
public class EmailNotificationService
{
//private static readonly ILog _logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private readonly string _resetPasswordBody;
private readonly string _resetPasswordFromAddress;
private readonly string _resetPasswordSubject;
private readonly SmtpClient _smtpClient;
/// <summary>
/// Initializes a new instance of the <see cref="T:System.Object"/> class.
/// </summary>
/// <param name="smtpClient">The SMTP client.</param>
public EmailNotificationService()
{
_smtpClient = new SmtpClient();
_resetPasswordBody = ConfigurationManager.AppSettings["ResetPasswordBody"];
_resetPasswordFromAddress = ConfigurationManager.AppSettings["ResetPasswordFromAddress"];
_resetPasswordSubject = ConfigurationManager.AppSettings["ResetPasswordSubject"];
}
/// <summary>
/// Sends the reset password email.
/// </summary>
/// <param name="user">To this user.</param>
/// <param name="url">Reset url</param>
public void NotifyResetPassword(User user, string url)
{
var body = string.Format(_resetPasswordBody, url);
_smtpClient.Send(new MailMessage(_resetPasswordFromAddress, user.Email, _resetPasswordSubject, body));
}
}
}