/// <summary> /// Gets the command line arguments for the reporting process for a given report date. /// </summary> /// <param name="reportDate">The date of the report to be generated.</param> /// <param name="emailReport">Flag that determines if report should be e-mailed, if enabled.</param> public string GetArguments(DateTime reportDate, bool emailReport) { const string CryptoKey = "0679d9ae-aca5-4702-a3f5-604415096987"; string arguments = string.Format( "{0} " + "--reportDate=\" {1:yyyy-MM-dd} \"", GetArguments(), reportDate); if (emailReport && EnableReportEmail) { arguments = string.Format( "{0} " + "--smtpServer=\" {1} \" " + "--fromAddress=\" {2} \" " + "--toAddresses=\" {3} \" " + "--username=\" {4} \" " + "--password=\" {5} \"", arguments, SmtpServer, FromAddress, ToAddresses, SmtpUsername, SmtpPassword.Encrypt(CryptoKey, CipherStrength.Aes256)); } return(arguments); }
/// <summary> /// Returns true if ComDayCqMailerDefaultMailServiceProperties instances are equal /// </summary> /// <param name="other">Instance of ComDayCqMailerDefaultMailServiceProperties to be compared</param> /// <returns>Boolean</returns> public bool Equals(ComDayCqMailerDefaultMailServiceProperties other) { if (other is null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( SmtpHost == other.SmtpHost || SmtpHost != null && SmtpHost.Equals(other.SmtpHost) ) && ( SmtpPort == other.SmtpPort || SmtpPort != null && SmtpPort.Equals(other.SmtpPort) ) && ( SmtpUser == other.SmtpUser || SmtpUser != null && SmtpUser.Equals(other.SmtpUser) ) && ( SmtpPassword == other.SmtpPassword || SmtpPassword != null && SmtpPassword.Equals(other.SmtpPassword) ) && ( FromAddress == other.FromAddress || FromAddress != null && FromAddress.Equals(other.FromAddress) ) && ( SmtpSsl == other.SmtpSsl || SmtpSsl != null && SmtpSsl.Equals(other.SmtpSsl) ) && ( SmtpStarttls == other.SmtpStarttls || SmtpStarttls != null && SmtpStarttls.Equals(other.SmtpStarttls) ) && ( DebugEmail == other.DebugEmail || DebugEmail != null && DebugEmail.Equals(other.DebugEmail) )); }
/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; // Suitable nullity checks etc, of course :) if (SmtpHost != null) { hashCode = hashCode * 59 + SmtpHost.GetHashCode(); } if (SmtpPort != null) { hashCode = hashCode * 59 + SmtpPort.GetHashCode(); } if (SmtpUser != null) { hashCode = hashCode * 59 + SmtpUser.GetHashCode(); } if (SmtpPassword != null) { hashCode = hashCode * 59 + SmtpPassword.GetHashCode(); } if (FromAddress != null) { hashCode = hashCode * 59 + FromAddress.GetHashCode(); } if (SmtpSsl != null) { hashCode = hashCode * 59 + SmtpSsl.GetHashCode(); } if (SmtpStarttls != null) { hashCode = hashCode * 59 + SmtpStarttls.GetHashCode(); } if (DebugEmail != null) { hashCode = hashCode * 59 + DebugEmail.GetHashCode(); } return(hashCode); } }
private string GetSmtpSettingsKey(LogEventInfo logEvent) { var sb = new StringBuilder(); sb.Append(From.Render(logEvent)); sb.Append("|"); sb.Append(To.Render(logEvent)); sb.Append("|"); if (CC != null) { sb.Append(CC.Render(logEvent)); } sb.Append("|"); if (Bcc != null) { sb.Append(Bcc.Render(logEvent)); } sb.Append("|"); sb.Append(SmtpServer.Render(logEvent)); if (SmtpPassword != null) { sb.Append(SmtpPassword.Render(logEvent)); } sb.Append("|"); if (SmtpUserName != null) { sb.Append(SmtpUserName.Render(logEvent)); } return(sb.ToString()); }
private void ProcessSingleMailMessage(List <AsyncLogEventInfo> events) { try { var firstEvent = events[0].LogEvent; var lastEvent = events[events.Count - 1].LogEvent; // unbuffered case, create a local buffer, append header, body and footer var bodyBuffer = new StringBuilder(); if (Header != null) { bodyBuffer.Append(Header.Render(firstEvent)); if (AddNewLines) { bodyBuffer.Append("\n"); } } foreach (var eventInfo in events) { bodyBuffer.Append(Layout.Render(eventInfo.LogEvent)); if (AddNewLines) { bodyBuffer.Append("\n"); } } if (Footer != null) { bodyBuffer.Append(Footer.Render(lastEvent)); if (AddNewLines) { bodyBuffer.Append("\n"); } } using (var msg = new MailMessage()) { SetupMailMessage(msg, lastEvent); msg.Body = bodyBuffer.ToString(); using (var client = CreateSmtpClient()) { client.Host = SmtpServer.Render(lastEvent); client.Port = SmtpPort; client.EnableSsl = EnableSsl; InternalLogger.Debug("Sending mail to {0} using {1}:{2} (ssl={3})", msg.To, client.Host, client.Port, client.EnableSsl); InternalLogger.Trace(" Subject: '{0}'", msg.Subject); InternalLogger.Trace(" From: '{0}'", msg.From.ToString()); if (SmtpAuthentication == SmtpAuthenticationMode.Ntlm) { InternalLogger.Trace(" Using NTLM authentication."); client.Credentials = CredentialCache.DefaultNetworkCredentials; } else if (SmtpAuthentication == SmtpAuthenticationMode.Basic) { var username = SmtpUserName.Render(lastEvent); var password = SmtpPassword.Render(lastEvent); InternalLogger.Trace(" Using basic authentication: Username='******' Password='******'", username, new string('*', password.Length)); client.Credentials = new NetworkCredential(username, password); } client.Send(msg); foreach (var ev in events) { ev.Continuation(null); } } } } catch (Exception exception) { if (exception.MustBeRethrown()) { throw; } foreach (var ev in events) { ev.Continuation(exception); } } }
public void UpdateMailSettings() { SqlHelpers.Update(SqlStatements.SQL_UPDATE_MAIL_SETTINGS.FormatWith(MailServer.FixSqlString(), ServerPort, SmtpUser.FixSqlString(75), SmtpPassword.EncryptString(), FromEmail.FixSqlString(75), FromUsername.FixSqlString(75), (RequireAuth) ? "1" : "0", (RequireSsl) ? "1" : "0", Id)); _instance = LoadSystemSettings(); }