Exemple #1
0
 private MailAddress Sender(dtoMailMessage dtoMessage)
 {
     return((SMTPconfig.RelayAllowed) ? ((MailSettings.SenderType == SenderUserType.System || dtoMessage.FromUser == null) ? SMTPconfig.GetSystemSender() : dtoMessage.FromUser) : SMTPconfig.GetSystemSender());
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 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)) ;
 }
Exemple #4
0
        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);
        }