using System.Configuration; using System.Net.Mail; using MileageTraker.Web.Models; using log4net; namespace MileageTraker.Web.Email { /// /// Email Notification /// public class EmailNotificationService { //private static readonly ILog _logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private readonly string _emaialFromAddress; private readonly string _resetPasswordSubject; private readonly string _resetPasswordBody; private readonly SmtpClient _smtpClient; private string _initializePasswordSubject; private string _initializePasswordBody; /// /// Initializes a new instance of the class. /// /// The SMTP client. public EmailNotificationService() { _smtpClient = new SmtpClient(); _emaialFromAddress = ConfigurationManager.AppSettings["EmailFromAddress"]; _resetPasswordSubject = ConfigurationManager.AppSettings["ResetPasswordSubject"]; _resetPasswordBody = ConfigurationManager.AppSettings["ResetPasswordBody"]; _initializePasswordSubject = ConfigurationManager.AppSettings["InitializePasswordSubject"]; _initializePasswordBody = ConfigurationManager.AppSettings["InitializetPasswordBody"]; } /// /// Sends the reset password email. /// /// To this user. /// Reset url public void SendResetPassword(User user, string url) { var body = string.Format(_resetPasswordBody, url); _smtpClient.Send(new MailMessage(_emaialFromAddress, user.Email, _resetPasswordSubject, body)); } public void SendInitializePassword(User user, string url) { var body = string.Format(_initializePasswordBody, url, user.FullName); _smtpClient.Send(new MailMessage(_emaialFromAddress, user.Email, _initializePasswordSubject, body)); } } }