in Mail2Bug/Email/MailboxManagerFactory.cs [20:55]
public IMailboxManager CreateMailboxManager(Config.EmailSettings emailSettings)
{
var credentialsHelper = new Helpers.CredentialsHelper();
string password = credentialsHelper.GetPassword(emailSettings.EWSPasswordFile, emailSettings.EncryptionScope, emailSettings.EWSKeyVaultSecret);
var credentials = new EWSConnectionManger.Credentials
{
EmailAddress = emailSettings.EWSMailboxAddress,
UserName = emailSettings.EWSUsername,
Password = password
};
var exchangeService = _connectionManger.GetConnection(credentials, emailSettings.UseConversationGuidOnly);
var postProcessor = GetPostProcesor(emailSettings, exchangeService.Service);
switch (emailSettings.ServiceType)
{
case Config.EmailSettings.MailboxServiceType.EWSByFolder:
return new FolderMailboxManager(
exchangeService.Service,
emailSettings.IncomingFolder,
postProcessor,
emailSettings.UseConversationGuidOnly);
case Config.EmailSettings.MailboxServiceType.EWSByRecipients:
return new RecipientsMailboxManager(
exchangeService.Router,
ParseDelimitedList(emailSettings.Recipients, ';'),
postProcessor);
default:
throw new BadConfigException(
"EmailSettings.ServiceType",
string.Format("Invalid mailbox service type defined in config ({0})", emailSettings.ServiceType));
}
}