예제 #1
0
        /// <summary>
        /// Creates an empty mail merge message.
        /// </summary>
        public MailMergeMessage()
        {
            IgnoreEmptyRecipientAddr    = true;
            DeliveryNotificationOptions = DeliveryNotificationOptions.None;
            Priority               = MailPriority.Normal;
            Xmailer                = null;
            Headers                = new NameValueCollection();
            StringAttachments      = new List <StringAttachment>();
            FileAttachments        = new List <FileAttachment>();
            StreamAttachments      = new List <StreamAttachment>();
            BinaryTransferEncoding = TransferEncoding.Base64;
            TextTransferEncoding   = TransferEncoding.SevenBit;
            CharacterEncoding      = Encoding.Default;

            _textVariableManager = new TextVariableManager
            {
                CultureInfo = CultureInfo,
                ShowNullAs  = string.Empty,
                ShowEmptyAs = string.Empty
            };

            _textVariableManager.GetBindingSource().CurrentChanged     += RaiseDataChangedEvent;
            _textVariableManager.GetBindingSource().CurrentItemChanged += RaiseDataChangedEvent;
            _textVariableManager.GetBindingSource().PositionChanged    += RaiseDataChangedEvent;
            _textVariableManager.GetBindingSource().ListChanged        += RaiseDataChangedEvent;

            MailMergeMessage msg = this;

            MailMergeAddresses = new MailMergeAddressCollection(ref msg);

            FileBaseDir = Environment.CurrentDirectory;
        }
예제 #2
0
        public MailMergeAddressCollection Get(MailAddressType addrType)
        {
            var addrCol = new MailMergeAddressCollection(ref _mailMergeMessage);

            foreach (var mmAddr in Items.Where(mmAddr => mmAddr.AddrType == addrType))
            {
                addrCol.Add(mmAddr);
            }

            return(addrCol);
        }