Ejemplo n.º 1
0
 public async Task ComposeAndQueue(User user, string resetLink)
 {
     if (user == null)
     {
         throw new ArgumentNullException("user");
     }
     if (String.IsNullOrEmpty(resetLink))
     {
         throw new ArgumentException("resetLink");
     }
     var settings = _settingsManager.Current;
     var body     = String.Format(Resources.ForgotPasswordEmail
                                  , settings.ForumTitle, resetLink, settings.MailSignature, Environment.NewLine);
     var message = new QueuedEmailMessage
     {
         Body      = body,
         Subject   = String.Format(Resources.ForgotPasswordSubject, settings.ForumTitle),
         ToEmail   = user.Email,
         ToName    = user.Name,
         FromEmail = settings.MailerAddress,
         FromName  = settings.ForumTitle,
         QueueTime = DateTime.UtcNow
     };
     await _queuedEmailService.CreateAndQueueEmail(message);
 }
Ejemplo n.º 2
0
        public async Task ComposeAndQueue(User toUser, User fromUser, string ip, string subject, string text)
        {
            if (await IsUserEmailable(toUser) == false)
            {
                throw new Exception("Can't send e-mail to a user who hides their details.");
            }

            if (toUser == null)
            {
                throw new ArgumentNullException("toUser");
            }
            if (fromUser == null)
            {
                throw new ArgumentNullException("fromUser");
            }
            var settings = _settingsManager.Current;
            var body     = $@"E-mail sent via {settings.ForumTitle} (senders's IP: {ip}):

{text}

______________________

{settings.MailSignature}";
            var message  = new QueuedEmailMessage
            {
                Body      = body,
                Subject   = subject,
                ToEmail   = toUser.Email,
                ToName    = toUser.Name,
                FromEmail = fromUser.Email,
                FromName  = fromUser.Name,
                QueueTime = DateTime.UtcNow
            };
            await _queuedEmailService.CreateAndQueueEmail(message);
        }
Ejemplo n.º 3
0
 public async Task ComposeAndQueue(Topic topic, User user, string topicLink, string unsubscribeLink)
 {
     var settings = _settingsManager.Current;
     var body     = string.Format(Resources.SubscribedEmailBody, settings.ForumTitle, topic.Title, topicLink, unsubscribeLink, settings.MailSignature, Environment.NewLine);
     var message  = new QueuedEmailMessage
     {
         Body      = body,
         Subject   = String.Format(Resources.SubscribedEmailSubject, topic.Title),
         ToEmail   = user.Email,
         ToName    = user.Name,
         FromEmail = settings.MailerAddress,
         FromName  = settings.ForumTitle,
         QueueTime = DateTime.UtcNow
     };
     await _queuedEmailService.CreateAndQueueEmail(message);
 }
        public void ComposeAndQueue(User user, string subject, string body, string htmlBody, string unsubscribeLink)
        {
            var settings = _settingsManager.Current;
            var ps       = $"{Environment.NewLine}{Environment.NewLine}Unsubscribe: {unsubscribeLink}";
            var message  = new QueuedEmailMessage
            {
                Body      = body + ps,
                Subject   = subject,
                ToEmail   = user.Email,
                ToName    = user.Name,
                FromEmail = settings.MailerAddress,
                FromName  = settings.ForumTitle,
                QueueTime = DateTime.UtcNow
            };

            if (!string.IsNullOrWhiteSpace(htmlBody))
            {
                message.HtmlBody = $"{htmlBody}<p>Unsubscribe: <a href=\"{unsubscribeLink}\">{unsubscribeLink}</a></p>";
            }
            _queuedEmailService.CreateAndQueueEmail(message);
        }