Example #1
0
        public virtual void SendEmailWithDefaultSender(EmailMessage emailMessage, bool ignoreErrors)
        {
            MailCredentials credentials = new MailCredentials {
                Host         = (string)SysSettings.GetValue(UserConnection, "SmtpHost"),
                Port         = int.Parse(SysSettings.GetValue(UserConnection, "SmtpPort").ToString()),
                UseSsl       = (bool)SysSettings.GetValue(UserConnection, "SmtpEnableSsl"),
                UserName     = (string)SysSettings.GetValue(UserConnection, "SmtpUserName"),
                UserPassword = (string)SysSettings.GetValue(UserConnection, "SmtpUserPassword")
            };

            string[] to = emailMessage.To.ToArray();
            EmailAddressCollection cc  = GetEmailAddressCollection(emailMessage.Cc);
            EmailAddressCollection bcc = GetEmailAddressCollection(emailMessage.Bcc);
            var         smtpClient     = new SmtpClient(UserConnection);
            MailMessage mailBeeMessage = smtpClient.CreateMessage(emailMessage.Body, emailMessage.Subject, to,
                                                                  credentials.UserName, true, new Dictionary <Guid, Tuple <byte[], string> >(0));

            mailBeeMessage.Cc       = cc;
            mailBeeMessage.Bcc      = bcc;
            mailBeeMessage.Priority = (MailPriority)emailMessage.Priority;
            try {
                smtpClient.SendMessage(mailBeeMessage, credentials);
            } catch (Exception e) {
                _log.Error(e);
                if (!ignoreErrors)
                {
                    throw;
                }
            }
        }
        /// <summary Get Collection>
        /// Get collection of emails. If no records to return, EmailCollection will be null.
        /// </summary>
        /// <returns></returns>
        public static EmailAddressCollection GetCollection(int employeeId)
        {
            EmailAddressCollection tempList = null;

            using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString))
            {
                using (SqlCommand myCommand = new SqlCommand("usp_GetEmail", myConnection))
                {
                    myCommand.CommandType = CommandType.StoredProcedure;

                    myCommand.Parameters.AddWithValue("@QueryId", SelectTypeEnum.GetCollectionById);
                    myCommand.Parameters.AddWithValue("@EmployeeId", employeeId);

                    myConnection.Open();

                    using (SqlDataReader myReader = myCommand.ExecuteReader())
                    {
                        if (myReader.HasRows)
                        {
                            tempList = new EmailAddressCollection();

                            while (myReader.Read())
                            {
                                tempList.Add(FillDataRecord(myReader));
                            }
                        }
                        myReader.Close();
                    }
                }
            }
            return tempList;
        }
Example #3
0
 private void Initialise()
 {
     this._blindedCarbonCopies              = new EmailAddressCollection();
     this._carbonCopies                     = new EmailAddressCollection();
     this._contentTransferEncoding          = EContentTransferEncoding.SevenBit;
     this._contentType                      = new Net.Common.ContentType();
     this._extraHeaders                     = new ExtraHeadersDictionary();
     this._isDefaultContentTransferEncoding = true;
     this._isDefaultContentType             = true;
     this._keywords = new List <string>();
     this._replyTo  = new EmailAddressCollection();
     this._resentBlindedCarbonCopies = new EmailAddressCollection();
     this._resentCarbonCopies        = new EmailAddressCollection();
     this._resentTo           = new EmailAddressCollection();
     this._comments           = string.Empty;
     this._contentDescription = string.Empty;
     this._contentId          = string.Empty;
     this._inReplyTo          = string.Empty;
     this._messageId          = string.Empty;
     this._received           = string.Empty;
     this._references         = string.Empty;
     this._resentMessageId    = string.Empty;
     this._subject            = string.Empty;
     this._text         = string.Empty;
     this._textEncoding = Encoding.UTF8;
     this._to           = new EmailAddressCollection();
     this._importance   = MailImportance.Normal;
 }
 private void SetRecipient(EmailAddressCollection emailAddressCollection, GXMailRecipientCollection gXMailRecipientCollection)
 {
     foreach (GXMailRecipient to in gXMailRecipientCollection)
     {
         emailAddressCollection.Add(new EmailAddress(to.Name, to.Address));
     }
 }
Example #5
0
        /// <summary>
        /// Return all offices
        /// </summary>
        public List <Model.Office> GetOffices(string userEmail)
        {
            EmailAddressCollection roomLists = service.GetRoomLists();             // GetRoomLists - return offices list
            List <Model.Office>    offices   = new List <Model.Office>();

            var user = GetUser(userEmail);

            foreach (EmailAddress ssAddress in roomLists)
            {
                //"Chernivtsi Office Meeting Rooms List"
                string name        = ssAddress.Name.Replace("Meeting Rooms List", "").Trim();
                bool   isFavourite = true;
                if (user.FavouriteOffice == null || user.FavouriteOffice.Email != ssAddress.Address)
                {
                    isFavourite = false;
                }

                offices.Add(new Model.Office()
                {
                    Email       = ssAddress.Address,
                    Name        = name,
                    IsFavourite = isFavourite
                });
            }

            return(offices.OrderBy(e => !e.IsFavourite).ThenBy(e => e.Name).ToList());
        }
        private static void GetRooms(ExchangeService service)
        {
            // Return all the room lists in the organization.
            EmailAddressCollection roomLists = service.GetRoomLists();

            // Retrieve the room list that matches your criteria.
            // Replace "*****@*****.**" with the room list you are looking for.
            EmailAddress roomAddress = new EmailAddress("*****@*****.**");

            foreach (EmailAddress address in roomLists)
            {
                if (address == roomAddress)
                {
                    Console.WriteLine("Found {0} in room list", roomAddress);
                }
                else
                {
                    Console.WriteLine("No matching room list found.");
                    return;
                }
            }

            // Expand the selected collection to get a list of rooms.
            System.Collections.ObjectModel.Collection <EmailAddress> roomAddresses = service.GetRooms(roomAddress);

            // Display the individual rooms.
            foreach (EmailAddress address in roomAddresses)
            {
                Console.WriteLine("Email Address: {0}", address.Address);
            }
        }
Example #7
0
        /// <summary>
        /// 取消会议室指定时间段的会议
        /// </summary>
        /// <param name="config"></param>
        /// <param name="roomName">会议室名称</param>
        /// <param name="startTime">会议开始时间</param>
        /// <param name="endDateTime">会议结束时间</param>
        /// <returns></returns>
        public static void CancelMeeting(ExchangeAdminConfig config, string roomName, DateTime startTime, DateTime endDateTime)
        {
            InitializeEws(config);
            //Service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "*****@*****.**");

            EmailAddressCollection listOfRoomList = Service.GetRoomLists();

            foreach (EmailAddress address in listOfRoomList)
            {
                var roomAddresses = Service.GetRooms(address);
                foreach (EmailAddress roomAddress in roomAddresses)
                {
                    if (roomAddress.Name != roomName && roomAddress.Address != roomName)
                    {
                        continue;
                    }

                    CalendarView calendarView = new CalendarView(startTime, endDateTime);
                    FolderId     folderId     = new FolderId(WellKnownFolderName.Calendar, roomAddress.Address);
                    var          roomAppts    = Service.FindAppointments(folderId, calendarView);
                    if (roomAppts.Items.Count > 0)
                    {
                        foreach (Appointment appt in roomAppts)
                        {
                            Appointment meeting = Appointment.Bind(Service, appt.Id, new PropertySet());
                            meeting.CancelMeeting();
                        }
                    }
                }
            }
        }
        internal static string GetValue(EmailAddressCollection emails, bool singleLine)
        {
            if (emails == null)
            {
                return(string.Empty);
            }

            StringBuilder sb = new StringBuilder();

            sb.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "Length: {0}", emails.Count));
            sb.AppendLine();

            int i = 0;

            foreach (EmailAddress email in emails)
            {
                sb.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "EmailAddress [{0}]", i));
                sb.AppendLine(EmailAddressTypeValue.GetValue(email, true));
                sb.AppendLine();
                sb.AppendLine();
                i++;
            }

            return(sb.ToString());
        }
        public EmailAddressCollection ParseTo(string text)
        {
            if (text == null)
            {
                throw new ArgumentNullException("text");
            }
            EmailAddressCollection addresss = new EmailAddressCollection();
            Match match = regTo.Match(text);

            if (match.Success && (match.Groups.Count > 0))
            {
                foreach (Match match2 in regAddressAll.Matches(match.Groups[0].Value))
                {
                    EmailAddress address = this.ParseEmail(match2.Groups[1].Value);
                    if (address != null)
                    {
                        addresss.Add(address);
                    }
                }
                return(addresss);
            }
            foreach (Match match3 in regAddressAll.Matches(text))
            {
                EmailAddress address2 = this.ParseEmail(match3.Groups[1].Value);
                if (address2 != null)
                {
                    addresss.Add(address2);
                }
            }
            return(addresss);
        }
Example #10
0
        /// <summary>
        /// 获取会议室列表
        /// </summary>
        /// <returns>会议室列表</returns>
        public static EmailAddressCollection GetRoomList(ExchangeAdminConfig config)
        {
            InitializeEws(config);
            EmailAddressCollection roomList = Service.GetRoomLists();

            return(roomList);
        }
Example #11
0
     : super()
 {
     this.assignCategories = new StringList();
     this.forwardAsAttachmentToRecipients = new EmailAddressCollection(XmlElementNames.Address);
     this.forwardToRecipients             = new EmailAddressCollection(XmlElementNames.Address);
     this.redirectToRecipients            = new EmailAddressCollection(XmlElementNames.Address);
     this.sendSMSAlertToRecipients        = new Collection <MobilePhone>();
 }
        public void Add_EmailAddressUnknownToEmptyCollection_DoesNotExtendTheCollection()
        {
            var exp = new EmailAddressCollection();
            var act = new EmailAddressCollection();
            act.Add(EmailAddress.Unknown);

            CollectionAssert.AreEqual(exp, act);
        }
        public void Add_EmailAddressUnknownToEmptyCollection_DoesNotExtendTheCollection()
        {
            var exp = new EmailAddressCollection();
            var act = new EmailAddressCollection();

            act.Add(EmailAddress.Unknown);

            CollectionAssert.AreEqual(exp, act);
        }
        public void ConstructorWithInitialIListAddsToList()
        {
            IList <EmailAddress> initial = new List <EmailAddress> {
                new EmailAddress(), new EmailAddress()
            };
            var emailAddressCollection = new EmailAddressCollection(initial);

            Assert.Equal(2, emailAddressCollection.Count);
        }
Example #15
0
        /// <summary>
        /// 获取exchange 会议室记录
        /// </summary>
        public static List <MeetRoomEntity> GetRoomList(ExchangeAdminConfig config, DateTime startTime,
                                                        DateTime endDateTime)
        {
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);

            service.Credentials           = new NetworkCredential(config.AdminAccount, config.AdminPwd);
            service.Url                   = new Uri($"http://{config.ServerIpOrDomain}/ews/exchange.asmx");
            service.UseDefaultCredentials = false;
            List <MeetRoomEntity>  result         = new List <MeetRoomEntity>();
            EmailAddressCollection listOfRoomList = service.GetRoomLists();

            foreach (EmailAddress address in listOfRoomList)
            {
                var roomAddresses = service.GetRooms(address);

                foreach (EmailAddress roomAddress in roomAddresses)
                {
                    MeetRoomEntity roomEntity = new MeetRoomEntity()
                    {
                        StartDate = startTime,
                        EndDate   = endDateTime,
                        MeetEmail = roomAddress.Address,
                        Name      = roomAddress.Name
                    };

                    CalendarView          calendarView = new CalendarView(startTime, endDateTime);
                    FolderId              folderId     = new FolderId(WellKnownFolderName.Calendar, roomAddress.Address);
                    var                   roomAppts    = service.FindAppointments(folderId, calendarView);
                    List <MeetInfoEntity> meets        = new List <MeetInfoEntity>();
                    if (roomAppts.Items.Count > 0)
                    {
                        foreach (Appointment appt in roomAppts)
                        {
                            meets.Add(new MeetInfoEntity
                            {
                                StartDate = appt.Start,
                                EndDate   = appt.End,
                                Subject   = appt.Subject
                            });
                        }

                        roomEntity.Meetings = meets;
                    }

                    result.Add(roomEntity);
                }
            }

            return(result);

            // listOfRoomList==0 执行下面语句 把会议室归类
            // $members=Get-Mailbox -Filter {(RecipientTypeDetails -eq "RoomMailbox")}
            //New - DistributionGroup - Name "Poole-Rooms" - RoomList - Members $Members

            // 最好可能还需要设置权限
            // Add-MailboxFolderPermission -Identity [email protected]:\Calendar -AccessRights Owner -User [email protected]
        }
        public string GetValue(object ownerInstance, PropertyInfo propInfo)
        {
            string text = string.Empty;

            EmailAddressCollection emails =
                propInfo.GetValue(ownerInstance, null) as EmailAddressCollection;

            return(GetValue(emails, false));
        }
Example #17
0
 public ConstituentInfo(DataSet tessResults)
 {
     DataTableCollection tables = tessResults.Tables;
     if (tables.Contains("Addresses") && tables["Addresses"].Rows.Count > 0)
     {
         Addresses = new AddressCollection(tables["Addresses"]);
     }
     if (tables.Contains("ConstituentAttribute")
             && tables["ConstituentAttribute"].Rows.Count > 0)
     {
         Attributes = new ConstituentAttributeCollection(tables["ConstituentAttribute"]);
     }
     if (tables.Contains("EmailAddresses") && tables["EmailAddresses"].Rows.Count > 0)
     {
         EmailAddresses = new EmailAddressCollection(tables["EmailAddresses"]);
     }
     if (tables.Contains("Associations") && tables["Associations"].Rows.Count > 0)
     {
         Associations = new AssociationCollection(tables["Associations"]);
     }
     if (tables.Contains("Constituency") && tables["Constituency"].Rows.Count > 0)
     {
         Constituencies = new ConstituencyCollection(tables["Constituency"]);
     }
     if (tables.Contains("ConstituentHeader") && tables["ConstituentHeader"].Rows.Count > 0)
     {
         Header = new ConstituentHeader(tables["ConstituentHeader"]);
     }
     if (tables.Contains("Contribution") && tables["Contribution"].Rows.Count > 0)
     {
         Contributions = new ContributionRecordCollection(tables["Contribution"]);
     }
     if (tables.Contains("Interests") && tables["Interests"].Rows.Count > 0)
     {
         Interests = new InterestCollection(tables["Interests"]);
     }
     if (tables.Contains("Memberships") && tables["Memberships"].Rows.Count > 0)
     {
         Memberships = new MembershipCollection(tables["Memberships"]);
     }
     if (tables.Contains("Phones") && tables["Phones"].Rows.Count > 0)
     {
         PhoneNumbers = new PhoneNumberCollection(tables["Phones"]);
     }
     if (tables.Contains("ProgramListings") && tables["ProgramListings"].Rows.Count > 0)
     {
         ProgramListings = new ProgramListingCollection(tables["ProgramListings"]);
     }
     if (tables.Contains("Rankings") && tables["Rankings"].Rows.Count > 0)
     {
         Rankings = new RankCollection(tables["Rankings"]);
     }
 }
        /// <summary>
        /// Convert the SMS recipient list from MobilePhone collection type to EmailAddressCollection type.
        /// </summary>
        /// <param name="recipientCollection">Recipient list in a MobilePhone collection type.</param>
        /// <returns>An EmailAddressCollection object containing recipients with "MOBILE" address type. </returns>
        private static EmailAddressCollection ConvertSMSRecipientsFromMobilePhoneCollectionToEmailAddressCollection(Collection<MobilePhone> recipientCollection)
        {
            EmailAddressCollection emailCollection = new EmailAddressCollection(XmlElementNames.Address);
            foreach (MobilePhone recipient in recipientCollection)
            {
                EmailAddress emailAddress = new EmailAddress(
                    recipient.Name, 
                    recipient.PhoneNumber, 
                    RuleActions.MobileType);
                emailCollection.Add(emailAddress);
            }

            return emailCollection;
        }
Example #19
0
 private void AddAdressesToCollection(
     EmailAddressCollection adresses,
     string firstAdress = null)
 {
     adresses.Add(firstAdress ?? this.RndRecipMail());
     if (RndTrueFalse() && this.recipientsMax > 1)
     {
         adresses.Add(this.RndRecipMail());
     }
 }
        public void TryParse_StringEmpty_EmptyCollection()
        {
            EmailAddressCollection exp = new EmailAddressCollection();
            EmailAddressCollection act;

            Assert.IsTrue(EmailAddressCollection.TryParse(string.Empty, out act));
            CollectionAssert.AreEqual(exp, act);
        }
        public void TryParse_SingleEmailAddress_CollectionWithOneItems()
        {
            var act = EmailAddressCollection.TryParse("*****@*****.**");
            var exp = new EmailAddressCollection(){ EmailAddress.Parse("*****@*****.**") };

            CollectionAssert.AreEqual(exp, act);
        }
        public void TryParse_Null_EmptyCollection()
        {
            EmailAddressCollection exp = new EmailAddressCollection();
            EmailAddressCollection act;

            Assert.IsTrue(EmailAddressCollection.TryParse(null, out act));
            CollectionAssert.AreEqual(exp, act);
        }
        public void TryParse_Invalid_EmptyCollection()
        {
            var act = EmailAddressCollection.TryParse("invalid");
            var exp = new EmailAddressCollection();

            CollectionAssert.AreEqual(exp, act);
        }
        public void ToString_EmptyCollection_StringEmpty()
        {
            var collection = new EmailAddressCollection();

            var exp = string.Empty;
            var act = collection.ToString();

            Assert.AreEqual(exp, act);
        }
 /// <summary>
 /// Tries to read element from XML.
 /// </summary>
 /// <param name="reader">The reader.</param>
 /// <returns>True if element was read.</returns>
 internal override bool TryReadElementFromXml(EwsServiceXmlReader reader)
 {
     switch (reader.LocalName)
     {
         case XmlElementNames.AssignCategories:
             this.assignCategories.LoadFromXml(reader, reader.LocalName);
             return true;
         case XmlElementNames.CopyToFolder:
             reader.ReadStartElement(XmlNamespace.NotSpecified, XmlElementNames.FolderId);
             this.copyToFolder = new FolderId();
             this.copyToFolder.LoadFromXml(reader, XmlElementNames.FolderId);
             reader.ReadEndElement(XmlNamespace.NotSpecified, XmlElementNames.CopyToFolder);
             return true;
         case XmlElementNames.Delete:
             this.delete = reader.ReadElementValue<bool>();
             return true;
         case XmlElementNames.ForwardAsAttachmentToRecipients:
             this.forwardAsAttachmentToRecipients.LoadFromXml(reader, reader.LocalName);
             return true;
         case XmlElementNames.ForwardToRecipients:
             this.forwardToRecipients.LoadFromXml(reader, reader.LocalName);
             return true;
         case XmlElementNames.MarkImportance:
             this.markImportance = reader.ReadElementValue<Importance>();
             return true;
         case XmlElementNames.MarkAsRead:
             this.markAsRead = reader.ReadElementValue<bool>();
             return true;
         case XmlElementNames.MoveToFolder:
             reader.ReadStartElement(XmlNamespace.NotSpecified, XmlElementNames.FolderId);
             this.moveToFolder = new FolderId();
             this.moveToFolder.LoadFromXml(reader, XmlElementNames.FolderId);
             reader.ReadEndElement(XmlNamespace.NotSpecified, XmlElementNames.MoveToFolder);
             return true;
         case XmlElementNames.PermanentDelete:
             this.permanentDelete = reader.ReadElementValue<bool>();
             return true;
         case XmlElementNames.RedirectToRecipients:
             this.redirectToRecipients.LoadFromXml(reader, reader.LocalName);
             return true;
         case XmlElementNames.SendSMSAlertToRecipients:
             EmailAddressCollection smsRecipientCollection = new EmailAddressCollection(XmlElementNames.Address);
             smsRecipientCollection.LoadFromXml(reader, reader.LocalName);
             this.sendSMSAlertToRecipients = ConvertSMSRecipientsFromEmailAddressCollectionToMobilePhoneCollection(smsRecipientCollection);
             return true;
         case XmlElementNames.ServerReplyWithMessage:
             this.serverReplyWithMessage = new ItemId();
             this.serverReplyWithMessage.LoadFromXml(reader, reader.LocalName);
             return true;
         case XmlElementNames.StopProcessingRules:
             this.stopProcessingRules = reader.ReadElementValue<bool>();
             return true;
         default:
             return false;
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RulePredicates"/> class.
 /// </summary>
 internal RulePredicates()
     : base()
 {
     this.categories = new StringList();
     this.containsBodyStrings = new StringList();
     this.containsHeaderStrings = new StringList();
     this.containsRecipientStrings = new StringList();
     this.containsSenderStrings = new StringList();
     this.containsSubjectOrBodyStrings = new StringList();
     this.containsSubjectStrings = new StringList();
     this.fromAddresses = new EmailAddressCollection(XmlElementNames.Address);
     this.fromConnectedAccounts = new StringList();
     this.itemClasses = new StringList();
     this.messageClassifications = new StringList();
     this.sentToAddresses = new EmailAddressCollection(XmlElementNames.Address);
     this.withinDateRange = new RulePredicateDateRange();
     this.withinSizeRange = new RulePredicateSizeRange();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RulePredicates"/> class.
 /// </summary>
 internal RuleActions()
     : base()
 {
     this.assignCategories = new StringList();
     this.forwardAsAttachmentToRecipients = new EmailAddressCollection(XmlElementNames.Address);
     this.forwardToRecipients = new EmailAddressCollection(XmlElementNames.Address);
     this.redirectToRecipients = new EmailAddressCollection(XmlElementNames.Address);
     this.sendSMSAlertToRecipients = new Collection<MobilePhone>();
 }
        private static EmailAddressCollection GetAddressesFromTable(DataTable addressTable, string className)
        {
            EmailAddressCollection addresses = new EmailAddressCollection();

            DataView view = GetAddressViewByClassName(addressTable, className);

            foreach (DataRowView drv in view)
            {
                EmailAddress address = new EmailAddress();

                ORMapping.DataRowToObject(drv.Row, address);

                addresses.Add(address);
            }

            return addresses;
        }
        /// <summary>
        /// Convert the SMS recipient list from EmailAddressCollection type to MobilePhone collection type.
        /// </summary>
        /// <param name="emailCollection">Recipient list in EmailAddressCollection type.</param>
        /// <returns>A MobilePhone collection object containing all SMS recipient in MobilePhone type. </returns>
        private static Collection<MobilePhone> ConvertSMSRecipientsFromEmailAddressCollectionToMobilePhoneCollection(EmailAddressCollection emailCollection)
        {
            Collection<MobilePhone> mobilePhoneCollection = new Collection<MobilePhone>();
            foreach (EmailAddress emailAddress in emailCollection)
            {
                mobilePhoneCollection.Add(new MobilePhone(emailAddress.Name, emailAddress.Address));
            }

            return mobilePhoneCollection;
        }
 private static void WriteInsertAddressCollection(TextWriter writer, EmailAddressCollection addresses, string messageID, string className)
 {
     for (int i = 0; i < addresses.Count; i++)
         WriteInsertAddressSql(writer, addresses[i], messageID, className, i);
 }
        public void ToString_2Items_infoAtQowaivDotOrgCommaTestAtQowaivDotOrg()
        {
            var collection = new EmailAddressCollection(EmailAddress.Parse("*****@*****.**"), EmailAddress.Parse("*****@*****.**"));

            var exp = "[email protected],[email protected]";
            var act = collection.ToString();

            Assert.AreEqual(exp, act);
        }
        private static EmailAddressCollection GetExistOrNewAddressColleciton(EmailAddressCollection originalAddresses)
        {
            EmailAddressCollection result = originalAddresses;

            if (result == null)
                result = new EmailAddressCollection();

            return result;
        }