public void Run(OxiteModuleConfigurationElement moduleConfiguration) { AppSettingsHelper settings = new AppSettingsHelper(moduleConfiguration.Settings.ToNameValueCollection()); //TODO: (erikpo) Refactor GetNext call to not need an interval if possible TimeSpan interval = settings.GetTimeSpan("SendTrackbacks.Interval", TimeSpan.FromMinutes(1)); int blockSize = settings.GetInt32("SendTrackbacks.BlockSize", 1); foreach (TrackbackOutbound trackback in trackbackOutboundService.GetNext(interval, blockSize)) { try { sendTrackback(trackback); trackback.MarkAsCompleted(); } catch { trackback.MarkAsFailed(); } finally { trackbackOutboundService.Save(trackback); } } }
public void Run(OxiteModuleConfigurationElement moduleConfiguration) { AppSettingsHelper settings = new AppSettingsHelper(moduleConfiguration.Settings.ToNameValueCollection()); string fromEmailAddress = settings.GetString("SendMessages.FromEmailAddress"); SmtpClient smtpClient = getSmtpClient(moduleConfiguration); //TODO: (erikpo) Refactor GetNext call to not need an interval if possible TimeSpan interval = settings.GetTimeSpan("SendMessages.Interval", TimeSpan.FromMinutes(1)); int blockSize = settings.GetInt32("SendMessages.BlockSize", 1); foreach (MessageOutbound message in messageService.GetNext(interval, blockSize)) { try { MailMessage messageToSend = new MailMessage(fromEmailAddress, message.To, message.Subject, message.Body); messageToSend.IsBodyHtml = true; smtpClient.Send(messageToSend); message.MarkAsCompleted(); } catch { message.MarkAsFailed(); } finally { messageService.Save(message); } } }
private SmtpClient getSmtpClient(OxiteModuleConfigurationElement moduleConfiguration) { AppSettingsHelper settings = new AppSettingsHelper(moduleConfiguration.Settings.ToNameValueCollection()); SmtpClient client = new SmtpClient(); client.Host = settings.GetString("SmtpClient.Host"); client.Port = settings.GetInt32("SmtpClient.Port", client.Port); client.UseDefaultCredentials = settings.GetBoolean("SmtpClient.UseDefaultCredentials", client.UseDefaultCredentials); string username = settings.GetString("SmtpClient.Credentials.Username", ""); string password = settings.GetString("SmtpClient.Credentials.Password", ""); string domain = settings.GetString("SmtpClient.Credentials.Domain", ""); if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password)) { client.Credentials = !string.IsNullOrEmpty(domain) ? new NetworkCredential(username, password, domain) : new NetworkCredential(username, password); } return(client); }
public void Unload(OxiteModuleConfigurationElement moduleConfiguration) { }
public void Initialize(OxiteModuleConfigurationElement moduleConfiguration) { }