/// <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); }
/// <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; }
/// <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); }