private MailAddress Sender(dtoMailMessage dtoMessage) { return((SMTPconfig.RelayAllowed) ? ((MailSettings.SenderType == SenderUserType.System || dtoMessage.FromUser == null) ? SMTPconfig.GetSystemSender() : dtoMessage.FromUser) : SMTPconfig.GetSystemSender()); }
private String SubjectForCopy(Int32 idUserLanguage, Language dLanguage, dtoMailMessage dtoMessage) { return((MailSettings.PrefixType == MailCommons.Domain.SubjectPrefixType.None) ? SMTPconfig.GetSubjectForSenderCopy(idUserLanguage, dLanguage.Id) + dtoMessage.UserSubject : SMTPconfig.GetSubjectPrefix(idUserLanguage, dLanguage.Id) + SMTPconfig.GetSubjectForSenderCopy(idUserLanguage, dLanguage.Id) + dtoMessage.UserSubject); }
private MailAddress From(dtoMailMessage dtoMessage) { return((MailSettings.SenderType == MailCommons.Domain.SenderUserType.System) ? SMTPconfig.GetSystemSender() : dtoMessage.FromUser); //return (SMTPconfig.RelayAllowed) ? ((MailSettings.Sender == SenderType.System) ? SMTPconfig.SystemSender : dtoMessage.FromUser) : ((SMTPconfig.SystemSender.Address ==dtoMessage.FromUser.Address) ? SMTPconfig.SystemSender : new MailAddress( SMTPconfig.SystemSender.Address, dtoMessage.FromUser.Address)) ; }
private MailMessage CreateMessage(Int32 idUserLanguage, Language dLanguage, dtoMailMessage dtoMessage, Boolean replaceCRLF = false) { MailMessage message = new System.Net.Mail.MailMessage(); //message.BodyEncoding = System.Text.Encoding.Unicode; //message.SubjectEncoding = System.Text.Encoding.Unicode; message.Sender = Sender(dtoMessage); message.From = From(dtoMessage); if (dtoMessage.ReplyTo != null) { message.ReplyToList.Add(dtoMessage.ReplyTo); } if (!SMTPconfig.RelayAllowed && !message.ReplyToList.Any()) { message.ReplyToList.Add(message.From); } if (MailSettings.NotifyToSender && message.ReplyToList.Any()) { try { if (!string.IsNullOrEmpty(dtoMessage.ReplyTo.DisplayName)) { message.Headers.Add("Disposition-Notification-To", dtoMessage.ReplyTo.DisplayName + " <" + dtoMessage.ReplyTo.Address + ">"); } else { message.Headers.Add("Disposition-Notification-To", "<" + dtoMessage.ReplyTo.Address + ">"); } } catch (Exception ex) { } } message.Subject = Subject(idUserLanguage, dLanguage, dtoMessage); message.IsBodyHtml = MailSettings.IsBodyHtml; if (dtoMessage.Attachments != null && dtoMessage.Attachments.Count > 0) { dtoMessage.Attachments.ForEach(a => message.Attachments.Add(a)); } message.Body = (message.IsBodyHtml && replaceCRLF ? dtoMessage.Body.Replace("\r\n", "<br>") : dtoMessage.Body); switch (MailSettings.Signature) { case Signature.FromConfigurationSettings: message.Body += ((message.IsBodyHtml) ? "<br/><br/>" : "\r\n\r\n\r\n") + SMTPconfig.GetSignature(idUserLanguage, dLanguage.Id); break; case Signature.FromNoReplySettings: message.Body += ((message.IsBodyHtml) ? "<br/><br/>" : "\r\n\r\n\r\n") + SMTPconfig.GetNoReplySignature(idUserLanguage, dLanguage.Id); break; } return(message); }