コード例 #1
0
        /// <inheritdoc cref="IMailboxValidator.ValidateSynchronization"/>
        public CredentialsValidationInfo ValidateSynchronization(Mailbox mailbox)
        {
            var answer = new CredentialsValidationInfo()
            {
                IsValid = true
            };
            var credentials = mailbox.ConvertToSynchronizationCredentials(UserConnection);

            ServicePointManager.ServerCertificateValidationCallback += ValidateRemoteCertificate;
            _ignoreSslWarnings = (bool)Terrasoft.Core.Configuration.SysSettings.GetValue(UserConnection, "IgnoreExchangeSSLWarnings");
            try {
                var service = _exchangeUtility.CreateExchangeService(UserConnection, credentials,
                                                                     credentials.SenderEmailAddress);
                Exchange.NameResolutionCollection resolutions = service.ResolveName(credentials.SenderEmailAddress);
                var mailboxName = string.Empty;
                if (resolutions.Any())
                {
                    Exchange.EmailAddress mailboxAddress = resolutions.First().Mailbox;
                    mailboxName = mailboxAddress.Name;
                }
                answer.Data = JsonConvert.SerializeObject(new {
                    MailboxName = mailboxName
                });
            } catch (Exception exception) {
                answer.IsValid = false;
                answer.Message = ConnectToServerCaption + exception.Message;
            } finally {
                ServicePointManager.ServerCertificateValidationCallback -= ValidateRemoteCertificate;
            }
            return(answer);
        }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NameResolution"/> class.
        /// </summary>
        /// <param name="owner">The owner.</param>
        internal NameResolution(NameResolutionCollection owner)
        {
            EwsUtilities.Assert(
                owner != null,
                "NameResolution.ctor",
                "owner is null.");

            this.owner = owner;
        }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ResolveNamesResponse"/> class.
        /// </summary>
        /// <param name="service">The service.</param>
        internal ResolveNamesResponse(ExchangeService service)
            : base()
        {
            EwsUtilities.Assert(
                service != null,
                "ResolveNamesResponse.ctor",
                "service is null");

            this.resolutions = new NameResolutionCollection(service);
        }