Esempio n. 1
0
        void ReloadAddressList(string field, InternetAddressList list)
        {
            // clear the address list and reload
            list.Changed -= InternetAddressListChanged;
            list.Clear();

            foreach (var header in Headers)
            {
                if (icase.Compare(header.Field, field) != 0)
                {
                    continue;
                }

                int length = header.RawValue.Length;
                List <InternetAddress> parsed;
                int index = 0;

                if (!InternetAddressList.TryParse(Headers.Options, header.RawValue, ref index, length, false, false, out parsed))
                {
                    continue;
                }

                list.AddRange(parsed);
            }

            list.Changed += InternetAddressListChanged;
        }
Esempio n. 2
0
        void AddAddresses(Header header, InternetAddressList list)
        {
            int length = header.RawValue.Length;
            List <InternetAddress> parsed;
            int index = 0;

            // parse the addresses in the new header and add them to our address list
            if (!InternetAddressList.TryParse(Headers.Options, header.RawValue, ref index, length, false, false, out parsed))
            {
                return;
            }

            list.Changed -= InternetAddressListChanged;
            list.AddRange(parsed);
            list.Changed += InternetAddressListChanged;
        }