示例#1
0
 public static SmtpMessage Create(System.Net.Mail.MailMessage message, MailAddress sender, SmtpMessageCreateMode mode)
 {
     return(Create(message, new SmtpMessageCreateCondition(sender, mode, message.IsBodyHtml)));
 }
示例#2
0
 public static SmtpMessage Create(MailMessage message, MailAddress sender, SmtpMessageCreateMode mode, Boolean isBodyHtml)
 {
     return(Create(message, new SmtpMessageCreateCondition(sender, mode, isBodyHtml)));
 }
示例#3
0
 public static SmtpMessage Create(MailMessage message, MailAddress sender, SmtpMessageCreateMode mode, Boolean isBodyHtml)
 {
     return Create(message, new SmtpMessageCreateCondition(sender, mode, isBodyHtml));
 }
示例#4
0
 public static SmtpMessage Create(System.Net.Mail.MailMessage message, MailAddress sender, SmtpMessageCreateMode mode)
 {
     return Create(message, new SmtpMessageCreateCondition(sender, mode, message.IsBodyHtml));
 }
示例#5
0
        public SmtpMessageCreateCondition(MailAddress sender, SmtpMessageCreateMode mode, Boolean isBodyHtml)
        {
            this.Sender    = sender;
            this.ReplyMode = SmtpMessageReplyMode.QuoteBodyText;

            switch (mode)
            {
            case SmtpMessageCreateMode.Copy: this.SubjectFormatter = new SmtpMessageSubjectCopyFormatter(); break;

            case SmtpMessageCreateMode.Reply: this.SubjectFormatter = new SmtpMessageSubjectReplyFormatter(); break;

            case SmtpMessageCreateMode.ReplyAll: this.SubjectFormatter = new SmtpMessageSubjectReplyFormatter(); break;

            case SmtpMessageCreateMode.Transfer: this.SubjectFormatter = new SmtpMessageSubjectTransferFormatter(); break;

            default: throw new InvalidOperationException();
            }
            if (mode == SmtpMessageCreateMode.Copy)
            {
                this.BodyFormatter = new SmtpMessageBodyTextCopyFormatter();
            }
            else
            {
                if (isBodyHtml == true)
                {
                    this.BodyFormatter = new SmtpMessageBodyHtmlReplyFormatter();
                }
                else
                {
                    this.BodyFormatter = new SmtpMessageBodyTextReplyFormatter();
                }
            }

            this.To  = new MailAddressCreateCondition(sender);
            this.Cc  = new MailAddressCreateCondition(sender);
            this.Bcc = new MailAddressCreateCondition(sender);

            switch (mode)
            {
            case SmtpMessageCreateMode.Copy:
                this.To.UseTo           = true;
                this.Cc.UseCc           = true;
                this.Bcc.UseBcc         = true;
                this.CopyAlternateViews = true;
                this.CopyAttachments    = true;
                this.CopyContents       = true;
                break;

            case SmtpMessageCreateMode.Reply:
                this.To.UseFrom         = true;
                this.To.UseSender       = true;
                this.CopyAlternateViews = false;
                this.CopyAttachments    = false;
                this.CopyContents       = false;
                break;

            case SmtpMessageCreateMode.ReplyAll:
                this.To.UseFrom         = true;
                this.To.UseSender       = true;
                this.Cc.UseTo           = true;
                this.Cc.UseCc           = true;
                this.CopyAlternateViews = false;
                this.CopyAttachments    = false;
                this.CopyContents       = false;
                break;

            case SmtpMessageCreateMode.Transfer:
                this.CopyAlternateViews = true;
                this.CopyAttachments    = true;
                this.CopyContents       = true;
                break;

            default: throw new InvalidOperationException();
            }
        }