/// <summary> /// Verarbeitet die Daten. /// </summary> /// <param name="config">Die Konfiguration zum senden des Emails.</param> public void Process(ModuleConfig config) { if (config == null) throw new ArgumentNullException("config"); // Validierung der Konfiguration. bool readyToSend = true; // Es wird nur eine Email versendet, wenn auch mindestens ein Empfänger angegeben ist. readyToSend = readyToSend && (config.EmailConfig.ToRecipient.Count > 0) || (config.EmailConfig.CcRecipient.Count > 0) || (config.EmailConfig.BccRecipient.Count > 0); if (readyToSend) { // Hilfsobjekt zum ersetzen der Platzhalter erzeugen. PlaceholderReplacer.ReplacePlaceholder replaceDelegate = new PlaceholderReplacer.ReplacePlaceholder(ReplacePlaceholder); PlaceholderReplacer replacer = new PlaceholderReplacer(replaceDelegate); try { // Email konfigurieren. MailMessage message = new MailMessage(); message.From = new MailAddress(replacer.Replace(config.EmailConfig.Sender)); foreach (string address in config.EmailConfig.ToRecipient) message.To.Add(replacer.Replace(address)); foreach (string address in config.EmailConfig.CcRecipient) message.CC.Add(replacer.Replace(address)); foreach (string address in config.EmailConfig.BccRecipient) message.Bcc.Add(replacer.Replace(address)); message.Subject = replacer.Replace(config.EmailConfig.Subject); message.IsBodyHtml = config.EmailConfig.BodyIsHtml; message.Body = replacer.Replace(config.EmailConfig.Body); // Smtp Client konfigurieren. SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = config.EmailConfig.Server; smtpClient.Port = 25; if (config.EmailConfig.ServerNeedAuth) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.Credentials = new NetworkCredential(config.EmailConfig.LoginUser, config.EmailConfig.LoginPassword); } // Email versenden. smtpClient.Send(message); } catch (Exception ex) { // TODO: Detailliertere Fehlerbehandlung. throw; } } }
/// <summary> /// Verarbeitet die Daten. /// </summary> /// <param name="config">Die Konfiguration zum senden des Emails.</param> public void Process(ModuleConfig config) { if (config == null) { throw new ArgumentNullException("config"); } // Validierung der Konfiguration. bool readyToSend = true; // Es wird nur eine Email versendet, wenn auch mindestens ein Empfänger angegeben ist. readyToSend = readyToSend && (config.EmailConfig.ToRecipient.Count > 0) || (config.EmailConfig.CcRecipient.Count > 0) || (config.EmailConfig.BccRecipient.Count > 0); if (readyToSend) { // Hilfsobjekt zum ersetzen der Platzhalter erzeugen. PlaceholderReplacer.ReplacePlaceholder replaceDelegate = new PlaceholderReplacer.ReplacePlaceholder(ReplacePlaceholder); PlaceholderReplacer replacer = new PlaceholderReplacer(replaceDelegate); try { // Email konfigurieren. MailMessage message = new MailMessage(); message.From = new MailAddress(replacer.Replace(config.EmailConfig.Sender)); foreach (string address in config.EmailConfig.ToRecipient) { message.To.Add(replacer.Replace(address)); } foreach (string address in config.EmailConfig.CcRecipient) { message.CC.Add(replacer.Replace(address)); } foreach (string address in config.EmailConfig.BccRecipient) { message.Bcc.Add(replacer.Replace(address)); } message.Subject = replacer.Replace(config.EmailConfig.Subject); message.IsBodyHtml = config.EmailConfig.BodyIsHtml; message.Body = replacer.Replace(config.EmailConfig.Body); // Smtp Client konfigurieren. SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = config.EmailConfig.Server; smtpClient.Port = 25; if (config.EmailConfig.ServerNeedAuth) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.Credentials = new NetworkCredential(config.EmailConfig.LoginUser, config.EmailConfig.LoginPassword); } // Email versenden. smtpClient.Send(message); } catch (Exception ex) { // TODO: Detailliertere Fehlerbehandlung. throw; } } }