private void QueueMessage(System.Net.Mail.MailMessage message) { CleanAddresses(message); _queue.Enqueue(message.ToMailMessage()); _statsClient.Counter(MetricNames.EmailsQueued); }
private static void CleanAddresses(System.Net.Mail.MailMessage msg) { if (Settings.Current.WebsiteMode == WebsiteMode.Production) { return; } var invalid = new List <string>(); invalid.AddRange(CleanAddresses(msg.To)); invalid.AddRange(CleanAddresses(msg.CC)); invalid.AddRange(CleanAddresses(msg.Bcc)); if (invalid.Count == 0) { return; } if (invalid.Count <= 3) { msg.Subject = String.Concat("[", invalid.ToDelimitedString(), "] ", msg.Subject).StripInvisible(); } msg.To.Add(Settings.Current.TestEmailAddress); }
public void SendVerifyEmail(User user) { System.Net.Mail.MailMessage msg = _emailGenerator.GenerateMessage(new UserModel { User = user, BaseUrl = Settings.Current.BaseURL }, "VerifyEmail"); msg.To.Add(user.EmailAddress); QueueMessage(msg); }
public void SendPaymentFailed(User owner, Organization organization) { System.Net.Mail.MailMessage msg = _emailGenerator.GenerateMessage(new PaymentModel { Owner = owner, Organization = organization, BaseUrl = Settings.Current.BaseURL }, "PaymentFailed"); msg.To.Add(owner.EmailAddress); QueueMessage(msg); }
public void SendInvite(User sender, Organization organization, Invite invite) { System.Net.Mail.MailMessage msg = _emailGenerator.GenerateMessage(new InviteModel { Sender = sender, Organization = organization, Invite = invite, BaseUrl = Settings.Current.BaseURL }, "Invite"); msg.To.Add(invite.EmailAddress); QueueMessage(msg); }
public void SendAddedToOrganization(User sender, Organization organization, User user) { System.Net.Mail.MailMessage msg = _emailGenerator.GenerateMessage(new AddedToOrganizationModel { Sender = sender, Organization = organization, User = user, BaseUrl = Settings.Current.BaseURL }, "AddedToOrganization"); msg.To.Add(user.EmailAddress); QueueMessage(msg); }
public void SendPasswordReset(User user) { if (user == null || String.IsNullOrEmpty(user.PasswordResetToken)) { return; } System.Net.Mail.MailMessage msg = _emailGenerator.GenerateMessage(new UserModel { User = user, BaseUrl = Settings.Current.BaseURL }, "PasswordReset"); msg.To.Add(user.EmailAddress); QueueMessage(msg); }