SYMBOL INDEX (4934 symbols across 717 files) FILE: Sources/Mailozaurr.Application/AttachmentSummary.cs class AttachmentSummary (line 6) | public sealed class AttachmentSummary { FILE: Sources/Mailozaurr.Application/CommonMessageActionsPreview.cs class CommonMessageActionsPreview (line 6) | public sealed class CommonMessageActionsPreview : OperationResult { FILE: Sources/Mailozaurr.Application/CommonMessageActionsPreviewRequest.cs class CommonMessageActionsPreviewRequest (line 6) | public sealed class CommonMessageActionsPreviewRequest { FILE: Sources/Mailozaurr.Application/DeleteMessagesPreview.cs class DeleteMessagesPreview (line 6) | public sealed class DeleteMessagesPreview : OperationResult { FILE: Sources/Mailozaurr.Application/DeleteMessagesPreviewRequest.cs class DeleteMessagesPreviewRequest (line 6) | public sealed class DeleteMessagesPreviewRequest { FILE: Sources/Mailozaurr.Application/DeleteMessagesRequest.cs class DeleteMessagesRequest (line 6) | public sealed class DeleteMessagesRequest { FILE: Sources/Mailozaurr.Application/DraftAttachment.cs class DraftAttachment (line 6) | public sealed class DraftAttachment { FILE: Sources/Mailozaurr.Application/DraftMessage.cs class DraftMessage (line 6) | public sealed class DraftMessage { FILE: Sources/Mailozaurr.Application/DraftMimeMessageFactory.cs class DraftMimeMessageFactory (line 9) | public sealed class DraftMimeMessageFactory : IDraftMimeMessageFactory { method CreateAsync (line 11) | public Task CreateAsync(MailProfile profile, DraftMessage... method AddSender (line 41) | private static void AddSender(MimeMessage message, MailProfile profile... method AddRecipients (line 61) | private static void AddRecipients(InternetAddressList target, IEnumera... method CreateMailboxAddress (line 78) | private static MailboxAddress CreateMailboxAddress(MessageRecipient re... method AddHeaders (line 91) | private static void AddHeaders(MimeMessage message, IReadOnlyDictionar... method BuildBody (line 105) | private static MimeEntity BuildBody(DraftMessage draft, CancellationTo... method CreateAttachmentEntity (line 131) | private static MimeEntity CreateAttachmentEntity(DraftAttachment attac... method ResolveContentType (line 157) | private static ContentType ResolveContentType(DraftAttachment attachme... FILE: Sources/Mailozaurr.Application/FileMailDraftStore.cs class FileMailDraftStore (line 8) | public sealed class FileMailDraftStore : IMailDraftStore { method FileMailDraftStore (line 19) | public FileMailDraftStore(MailDraftStoreOptions? options = null) method FileMailDraftStore (line 26) | public FileMailDraftStore(string filePath) { method GetAllAsync (line 31) | public async Task> GetAllAsync(CancellationTo... method GetByIdAsync (line 46) | public async Task GetByIdAsync(string draftId, Cancellatio... method SaveAsync (line 62) | public async Task SaveAsync(MailDraft draft, CancellationToken cancell... method RemoveAsync (line 91) | public async Task RemoveAsync(string draftId, CancellationToken ... method LoadDocumentAsync (line 111) | private async Task LoadDocumentAsync(Cancellat... method SaveDocumentAsync (line 122) | private async Task SaveDocumentAsync(MailDraftStoreDocument document, ... method ValidateDraft (line 150) | private static void ValidateDraft(MailDraft? draft) { method CloneDraft (line 168) | private static MailDraft CloneDraft(MailDraft draft) => new() { method CloneMessage (line 176) | private static DraftMessage CloneMessage(DraftMessage message) => new() { method CloneRecipient (line 190) | private static MessageRecipient CloneRecipient(MessageRecipient recipi... method CloneAttachment (line 195) | private static DraftAttachment CloneAttachment(DraftAttachment attachm... class MailDraftStoreDocument (line 203) | private sealed class MailDraftStoreDocument { FILE: Sources/Mailozaurr.Application/FileMailMessageActionPlanBatchStore.cs class FileMailMessageActionPlanBatchStore (line 8) | public sealed class FileMailMessageActionPlanBatchStore : IMailMessageAc... method FileMailMessageActionPlanBatchStore (line 19) | public FileMailMessageActionPlanBatchStore(MailMessageActionPlanBatchS... method FileMailMessageActionPlanBatchStore (line 26) | public FileMailMessageActionPlanBatchStore(string filePath) { method GetAllAsync (line 31) | public async Task> GetAllAsy... method GetByIdAsync (line 46) | public async Task GetByIdAsync(string bat... method SaveAsync (line 62) | public async Task SaveAsync(MailMessageActionPlanBatch batch, Cancella... method RemoveAsync (line 91) | public async Task RemoveAsync(string batchId, CancellationToken ... method LoadDocumentAsync (line 111) | private async Task LoadDocume... method SaveDocumentAsync (line 122) | private async Task SaveDocumentAsync(MailMessageActionPlanBatchStoreDo... method ValidateBatch (line 150) | private static void ValidateBatch(MailMessageActionPlanBatch? batch) { method CloneBatch (line 165) | private static MailMessageActionPlanBatch CloneBatch(MailMessageAction... method ClonePlan (line 174) | private static MessageActionExecutionPlan ClonePlan(MessageActionExecu... class MailMessageActionPlanBatchStoreDocument (line 211) | private sealed class MailMessageActionPlanBatchStoreDocument { FILE: Sources/Mailozaurr.Application/FileMailProfileStore.cs class FileMailProfileStore (line 8) | public sealed class FileMailProfileStore : IMailProfileStore { method FileMailProfileStore (line 19) | public FileMailProfileStore(MailProfileStoreOptions? options = null) method FileMailProfileStore (line 26) | public FileMailProfileStore(string filePath) { method GetAllAsync (line 31) | public async Task> GetAllAsync(Cancellation... method GetByIdAsync (line 42) | public async Task GetByIdAsync(string profileId, Cancell... method SaveAsync (line 58) | public async Task SaveAsync(MailProfile profile, CancellationToken can... method RemoveAsync (line 86) | public async Task RemoveAsync(string profileId, CancellationToke... method LoadDocumentAsync (line 106) | private async Task LoadDocumentAsync(Cancell... method SaveDocumentAsync (line 117) | private async Task SaveDocumentAsync(MailProfileStoreDocument document... method ValidateProfile (line 145) | private static void ValidateProfile(MailProfile? profile) { method CloneProfiles (line 159) | private static IReadOnlyList CloneProfiles(IEnumerable new() { class MailProfileStoreDocument (line 176) | private sealed class MailProfileStoreDocument { FILE: Sources/Mailozaurr.Application/FileMailSecretStore.cs class FileMailSecretStore (line 8) | public sealed class FileMailSecretStore : IMailSecretStore { method FileMailSecretStore (line 20) | public FileMailSecretStore(MailSecretStoreOptions? options = null) method FileMailSecretStore (line 27) | public FileMailSecretStore(string filePath, ICredentialProtector prote... method GetSecretAsync (line 33) | public async Task GetSecretAsync(string profileId, string sec... method SetSecretAsync (line 51) | public async Task SetSecretAsync(string profileId, string secretName, ... method RemoveSecretAsync (line 69) | public async Task RemoveSecretAsync(string profileId, string sec... method LoadDocumentAsync (line 88) | private async Task LoadDocumentAsync(Cancella... method SaveDocumentAsync (line 99) | private async Task SaveDocumentAsync(MailSecretStoreDocument document,... method CreateKey (line 137) | private static string CreateKey(string profileId, string secretName) =... method ValidateKeyPart (line 139) | private static void ValidateKeyPart(string value, string parameterName) { class MailSecretStoreDocument (line 145) | private sealed class MailSecretStoreDocument { FILE: Sources/Mailozaurr.Application/FolderRef.cs class FolderRef (line 6) | public sealed class FolderRef { FILE: Sources/Mailozaurr.Application/FolderRefCompact.cs class FolderRefCompact (line 6) | public sealed class FolderRefCompact { FILE: Sources/Mailozaurr.Application/GetMessageRequest.cs class GetMessageRequest (line 6) | public sealed class GetMessageRequest { FILE: Sources/Mailozaurr.Application/GetMessagesRequest.cs class GetMessagesRequest (line 6) | public sealed class GetMessagesRequest { FILE: Sources/Mailozaurr.Application/GmailMailMessageActionHandler.cs class GmailMailMessageActionHandler (line 6) | public sealed class GmailMailMessageActionHandler : IMailMessageActionHa... method GmailMailMessageActionHandler (line 15) | public GmailMailMessageActionHandler( method SetReadStateAsync (line 30) | public async Task SetReadStateAsync(MailProfile p... method SetFlaggedStateAsync (line 36) | public async Task SetFlaggedStateAsync(MailProfil... method MoveAsync (line 46) | public async Task MoveAsync(MailProfile profile, ... method DeleteAsync (line 52) | public async Task DeleteAsync(MailProfile profile... method DefaultSetReadStateAsync (line 57) | private static async Task DefaultSetReadStateAsyn... method DefaultMoveAsync (line 62) | private static async Task DefaultMoveAsync(GmailS... method DefaultDeleteAsync (line 71) | private static async Task DefaultDeleteAsync(Gmai... method NormalizeIds (line 76) | private static IReadOnlyList NormalizeIds(IEnumerable ... method MapResult (line 79) | private static MessageActionResult MapResult(string profileId, IReadOn... FILE: Sources/Mailozaurr.Application/GmailMailReadHandler.cs class GmailMailReadHandler (line 9) | public sealed class GmailMailReadHandler : IMailReadHandler { method GmailMailReadHandler (line 19) | public GmailMailReadHandler( method GetFoldersAsync (line 36) | public async Task> GetFoldersAsync(MailProfil... method SearchAsync (line 42) | public async Task> SearchAsync(MailProfi... method GetMessageAsync (line 48) | public async Task GetMessageAsync(MailProfile profile,... method SaveAttachmentAsync (line 54) | public async Task SaveAttachmentAsync(MailProfile pro... method DefaultGetFoldersAsync (line 59) | private static async Task> DefaultGetFoldersA... method DefaultSearchAsync (line 93) | private static async Task> DefaultSearch... method DefaultGetMessageAsync (line 119) | private static async Task DefaultGetMessageAsync( method DefaultSaveAttachmentAsync (line 170) | private static async Task DefaultSaveAttachmentAsync( method MapSummary (line 208) | private static MessageSummary MapSummary( method MapRecipients (line 227) | private static List MapRecipients(string? raw, IEnum... method ResolveFolder (line 256) | private static string ResolveFolder(string? folderId, MailProfile prof... method ResolveUserId (line 267) | private static string ResolveUserId(MailProfile profile, string? mailb... method GetMaxMimeBytes (line 281) | private static int GetMaxMimeBytes(MailProfile profile) { method ResolveAttachment (line 291) | private static GmailAttachmentInfo? ResolveAttachment(IList SendAsync(MailProfile profile, SendMessa... method DefaultSendAsync (line 77) | private static Task DefaultSendAsync( FILE: Sources/Mailozaurr.Application/GmailProfileBootstrapRequest.cs class GmailProfileBootstrapRequest (line 6) | public sealed class GmailProfileBootstrapRequest { FILE: Sources/Mailozaurr.Application/GmailProfileLoginRequest.cs class GmailProfileLoginRequest (line 6) | public sealed class GmailProfileLoginRequest { FILE: Sources/Mailozaurr.Application/GmailSession.cs class GmailSession (line 6) | public sealed class GmailSession : IDisposable { method GmailSession (line 10) | public GmailSession(GmailApiClient client, string userId) { method Dispose (line 26) | public void Dispose() { FILE: Sources/Mailozaurr.Application/GmailSessionFactory.cs class GmailSessionFactory (line 10) | public sealed class GmailSessionFactory : IGmailSessionFactory { method GmailSessionFactory (line 19) | public GmailSessionFactory( method ConnectAsync (line 29) | public async Task ConnectAsync(MailProfile profile, Canc... method ResolveCredentialAsync (line 61) | private async Task<(OAuthCredential Credential, GmailRefreshRequest? R... method DefaultRefreshCredentialAsync (line 114) | private static async Task DefaultRefreshCredentialAsync( method DefaultConnectAsync (line 173) | private static Task DefaultConnectAsync(GmailSessionRequ... method ResolveUserId (line 178) | private static string ResolveUserId(MailProfile profile) { method TryResolveTokenExpiration (line 190) | private static DateTimeOffset? TryResolveTokenExpiration(MailProfile p... method ShouldRefreshToken (line 200) | private static bool ShouldRefreshToken(DateTimeOffset? expiresOn) => class GmailRefreshRequest (line 206) | public sealed class GmailRefreshRequest { FILE: Sources/Mailozaurr.Application/GmailSessionRequest.cs class GmailSessionRequest (line 6) | public sealed class GmailSessionRequest { FILE: Sources/Mailozaurr.Application/GraphMailMessageActionHandler.cs class GraphMailMessageActionHandler (line 6) | public sealed class GraphMailMessageActionHandler : IMailMessageActionHa... method GraphMailMessageActionHandler (line 15) | public GraphMailMessageActionHandler( method SetReadStateAsync (line 30) | public async Task SetReadStateAsync(MailProfile p... method SetFlaggedStateAsync (line 36) | public async Task SetFlaggedStateAsync(MailProfil... method MoveAsync (line 47) | public async Task MoveAsync(MailProfile profile, ... method DeleteAsync (line 53) | public async Task DeleteAsync(MailProfile profile... method DefaultSetReadStateAsync (line 58) | private static async Task DefaultSetReadStateAsyn... method DefaultMoveAsync (line 64) | private static async Task DefaultMoveAsync(GraphS... method DefaultDeleteAsync (line 70) | private static async Task DefaultDeleteAsync(Grap... method NormalizeIds (line 76) | private static IReadOnlyList NormalizeIds(IEnumerable ... method MapResult (line 79) | private static MessageActionResult MapResult(string profileId, IReadOn... FILE: Sources/Mailozaurr.Application/GraphMailReadHandler.cs class GraphMailReadHandler (line 9) | public sealed class GraphMailReadHandler : IMailReadHandler { method GraphMailReadHandler (line 20) | public GraphMailReadHandler( method GetFoldersAsync (line 37) | public async Task> GetFoldersAsync(MailProfil... method SearchAsync (line 43) | public async Task> SearchAsync(MailProfi... method GetMessageAsync (line 49) | public async Task GetMessageAsync(MailProfile profile,... method SaveAttachmentAsync (line 55) | public async Task SaveAttachmentAsync(MailProfile pro... method DefaultGetFoldersAsync (line 60) | private static async Task> DefaultGetFoldersA... method DefaultSearchAsync (line 142) | private static async Task> DefaultSearch... method DefaultGetMessageAsync (line 186) | private static async Task DefaultGetMessageAsync( method DefaultSaveAttachmentAsync (line 236) | private static async Task DefaultSaveAttachmentAsync( method MapSummary (line 275) | private static MessageSummary MapSummary( method MapRecipients (line 294) | private static List MapRecipients(GraphEmailAddress?... method MapRecipients (line 312) | private static List MapRecipients(IEnumerable tokens, string? value) { class GraphFolderNode (line 380) | private sealed class GraphFolderNode { method GraphFolderNode (line 381) | public GraphFolderNode( FILE: Sources/Mailozaurr.Application/GraphMailSendHandler.cs class GraphMailSendHandler (line 11) | public sealed class GraphMailSendHandler : IMailSendHandler { method GraphMailSendHandler (line 20) | public GraphMailSendHandler( method SendAsync (line 35) | public async Task SendAsync(MailProfile profile, SendMessa... method DefaultSendAsync (line 79) | private static async Task DefaultSendAsync( method QueueMessageAsync (line 89) | private async Task QueueMessageAsync( FILE: Sources/Mailozaurr.Application/GraphProfileBootstrapRequest.cs class GraphProfileBootstrapRequest (line 6) | public sealed class GraphProfileBootstrapRequest { FILE: Sources/Mailozaurr.Application/GraphProfileLoginRequest.cs class GraphProfileLoginRequest (line 6) | public sealed class GraphProfileLoginRequest { FILE: Sources/Mailozaurr.Application/GraphSession.cs class GraphSession (line 6) | public sealed class GraphSession : IDisposable { method GraphSession (line 10) | public GraphSession( method Dispose (line 34) | public void Dispose() { FILE: Sources/Mailozaurr.Application/GraphSessionFactory.cs class GraphSessionFactory (line 6) | public sealed class GraphSessionFactory : IGraphSessionFactory { method GraphSessionFactory (line 15) | public GraphSessionFactory( method ConnectAsync (line 27) | public async Task ConnectAsync(MailProfile profile, Canc... method ResolveCredentialAsync (line 49) | private async Task ResolveCredentialAsync(MailProfile... method BuildGraphCredentialAsync (line 96) | private async Task BuildGraphCredentialAsync(MailProf... method TryBuildGraphCredentialAsync (line 117) | private async Task TryBuildGraphCredentialAsync(Mail... method DefaultAcquireCredentialAsync (line 142) | private static async Task DefaultAcquireCredentialAsync( method DefaultAcquireSilentCredentialAsync (line 161) | private static Task DefaultAcquireSilentCredentialAs... method DefaultConnectAsync (line 183) | private static Task DefaultConnectAsync(GraphSessionRequ... method ResolveUserId (line 192) | private static string ResolveUserId(MailProfile profile) { method ResolveLoginHint (line 204) | private static string? ResolveLoginHint(MailProfile profile) { method TryResolveTokenExpiration (line 222) | private static DateTimeOffset? TryResolveTokenExpiration(MailProfile p... method ShouldRefreshToken (line 232) | private static bool ShouldRefreshToken(DateTimeOffset? expiresOn) => method CanUseInteractiveSilentRefresh (line 235) | private static bool CanUseInteractiveSilentRefresh(MailProfile profile) { method GetRequiredSetting (line 247) | private static string GetRequiredSetting(MailProfile profile, string k... method NormalizeAccessToken (line 255) | private static string NormalizeAccessToken(string authorizationHeaderV... FILE: Sources/Mailozaurr.Application/GraphSessionRequest.cs class GraphSessionRequest (line 6) | public sealed class GraphSessionRequest { FILE: Sources/Mailozaurr.Application/IDraftMimeMessageFactory.cs type IDraftMimeMessageFactory (line 8) | public interface IDraftMimeMessageFactory { method CreateAsync (line 12) | Task CreateAsync(MailProfile profile, DraftMessage draft,... FILE: Sources/Mailozaurr.Application/IGmailSessionFactory.cs type IGmailSessionFactory (line 6) | public interface IGmailSessionFactory { method ConnectAsync (line 8) | Task ConnectAsync(MailProfile profile, CancellationToken... FILE: Sources/Mailozaurr.Application/IGraphSessionFactory.cs type IGraphSessionFactory (line 6) | public interface IGraphSessionFactory { method ConnectAsync (line 8) | Task ConnectAsync(MailProfile profile, CancellationToken... FILE: Sources/Mailozaurr.Application/IImapSessionFactory.cs type IImapSessionFactory (line 8) | public interface IImapSessionFactory { method ConnectAsync (line 12) | Task ConnectAsync(MailProfile profile, CancellationToken c... FILE: Sources/Mailozaurr.Application/IMailDraftExchangeService.cs type IMailDraftExchangeService (line 6) | public interface IMailDraftExchangeService { method LoadAsync (line 8) | Task LoadAsync(string path, CancellationToken cancellationT... method SaveAsync (line 11) | Task SaveAsync(string path, MailDraft draft, CancellationToken cancell... FILE: Sources/Mailozaurr.Application/IMailDraftService.cs type IMailDraftService (line 6) | public interface IMailDraftService { method GetDraftsAsync (line 8) | Task> GetDraftsAsync(CancellationToken cancel... method GetDraftsCompactAsync (line 11) | Task> GetDraftsCompactAsync(Cancellati... method GetDraftAsync (line 14) | Task GetDraftAsync(string draftId, CancellationToken cance... method GetDraftCompactAsync (line 17) | Task GetDraftCompactAsync(string draftId, Cancellat... method SaveAsync (line 20) | Task SaveAsync(MailDraft draft, CancellationToken can... method DeleteAsync (line 23) | Task DeleteAsync(string draftId, CancellationToken ca... FILE: Sources/Mailozaurr.Application/IMailDraftStore.cs type IMailDraftStore (line 6) | public interface IMailDraftStore { method GetAllAsync (line 8) | Task> GetAllAsync(CancellationToken cancellat... method GetByIdAsync (line 11) | Task GetByIdAsync(string draftId, CancellationToken cancel... method SaveAsync (line 14) | Task SaveAsync(MailDraft draft, CancellationToken cancellationToken = ... method RemoveAsync (line 17) | Task RemoveAsync(string draftId, CancellationToken cancellationT... FILE: Sources/Mailozaurr.Application/IMailFolderAliasService.cs type IMailFolderAliasService (line 6) | public interface IMailFolderAliasService { method GetAliasesAsync (line 8) | Task> GetAliasesAsync( method ResolveAsync (line 14) | Task ResolveAsync( FILE: Sources/Mailozaurr.Application/IMailMessageActionBatchService.cs type IMailMessageActionBatchService (line 6) | public interface IMailMessageActionBatchService { method ExecuteAsync (line 8) | Task ExecuteAsync( FILE: Sources/Mailozaurr.Application/IMailMessageActionHandler.cs type IMailMessageActionHandler (line 6) | public interface IMailMessageActionHandler { method SetReadStateAsync (line 11) | Task SetReadStateAsync(MailProfile profile, SetRe... method SetFlaggedStateAsync (line 14) | Task SetFlaggedStateAsync(MailProfile profile, Se... method MoveAsync (line 17) | Task MoveAsync(MailProfile profile, MoveMessagesR... method DeleteAsync (line 20) | Task DeleteAsync(MailProfile profile, DeleteMessa... FILE: Sources/Mailozaurr.Application/IMailMessageActionPlanBatchStore.cs type IMailMessageActionPlanBatchStore (line 6) | public interface IMailMessageActionPlanBatchStore { method GetAllAsync (line 8) | Task> GetAllAsync(Cancellati... method GetByIdAsync (line 11) | Task GetByIdAsync(string batchId, Cancell... method SaveAsync (line 14) | Task SaveAsync(MailMessageActionPlanBatch batch, CancellationToken can... method RemoveAsync (line 17) | Task RemoveAsync(string batchId, CancellationToken cancellationT... FILE: Sources/Mailozaurr.Application/IMailMessageActionPlanExchangeService.cs type IMailMessageActionPlanExchangeService (line 6) | public interface IMailMessageActionPlanExchangeService { method LoadAsync (line 8) | Task LoadAsync(string path, CancellationTo... method SaveAsync (line 11) | Task SaveAsync(string path, MessageActionExecutionPlan plan, Cancellat... method LoadBatchAsync (line 14) | Task> LoadBatchAsync(string ... method SaveBatchAsync (line 17) | Task SaveBatchAsync(string path, IReadOnlyList> GetBatchesAsync(MailMe... method GetBatchesCompactAsync (line 11) | Task> GetBatchesCompa... method GetBatchesSummaryAsync (line 14) | Task> GetBatchesSumma... method GetBatchAsync (line 17) | Task GetBatchAsync(string batchId, Cancel... method GetBatchCompactAsync (line 20) | Task GetBatchCompactAsync(string b... method GetBatchSummaryAsync (line 23) | Task GetBatchSummaryAsync(string b... method SaveAsync (line 26) | Task SaveAsync(MailMessageActionPlanBatch batch, Canc... method CreateCommonBatchAsync (line 29) | Task CreateCommonBatchAsync( method CreateCommonBatchFromPreviewAsync (line 38) | Task CreateCommonBatchFromPreviewAsync( method CloneAsync (line 47) | Task CloneAsync(string sourceBatchId, string targetBa... method TransformCloneAsync (line 50) | Task TransformCloneAsync( method PreviewTransformCloneAsync (line 59) | Task PreviewTransformClone... method AppendPlanAsync (line 65) | Task AppendPlanAsync(string batchId, MessageActionExe... method AppendImportedPlanAsync (line 68) | Task AppendImportedPlanAsync(string batchId, string p... method ReplacePlanAtAsync (line 71) | Task ReplacePlanAtAsync(string batchId, int index, Me... method ReplaceImportedPlanAtAsync (line 74) | Task ReplaceImportedPlanAtAsync(string batchId, int i... method RemovePlanAtAsync (line 77) | Task RemovePlanAtAsync(string batchId, int index, Can... method DeleteAsync (line 80) | Task DeleteAsync(string batchId, CancellationToken ca... method ImportAsync (line 83) | Task ImportAsync(string batchId, string name, string ... method ExportAsync (line 86) | Task ExportAsync(string batchId, string path, Cancell... method ExecuteAsync (line 89) | Task ExecuteAsync(string batchId, b... FILE: Sources/Mailozaurr.Application/IMailMessageActionPlanService.cs type IMailMessageActionPlanService (line 6) | public interface IMailMessageActionPlanService { method CreatePlanAsync (line 8) | Task CreatePlanAsync(MessageActionExecutio... method ExecuteAsync (line 11) | Task ExecuteAsync(MessageActionExecutionPlan plan... FILE: Sources/Mailozaurr.Application/IMailMessageActionPreviewService.cs type IMailMessageActionPreviewService (line 6) | public interface IMailMessageActionPreviewService { method PreviewReadStateAsync (line 8) | Task PreviewReadStateAsync(SetReadStateRequ... method PreviewFlaggedStateAsync (line 11) | Task PreviewFlaggedStateAsync(SetFlaggedSta... method PreviewCommonActionsAsync (line 14) | Task PreviewCommonActionsAsync(CommonMess... method PreviewMoveAsync (line 17) | Task PreviewMoveAsync(MoveMessagesPreviewRequest ... method PreviewDeleteAsync (line 20) | Task PreviewDeleteAsync(DeleteMessagesPreviewRe... method PreviewStandardActionsAsync (line 23) | Task PreviewStandardActionsAsync(Standa... FILE: Sources/Mailozaurr.Application/IMailMessageActionService.cs type IMailMessageActionService (line 6) | public interface IMailMessageActionService { method SetReadStateAsync (line 8) | Task SetReadStateAsync(SetReadStateRequest reques... method SetFlaggedStateAsync (line 11) | Task SetFlaggedStateAsync(SetFlaggedStateRequest ... method MoveAsync (line 14) | Task MoveAsync(MoveMessagesRequest request, Cance... method DeleteAsync (line 17) | Task DeleteAsync(DeleteMessagesRequest request, C... FILE: Sources/Mailozaurr.Application/IMailProfileAuthService.cs type IMailProfileAuthService (line 6) | public interface IMailProfileAuthService { method GetStatusAsync (line 8) | Task GetStatusAsync(string profileId, Cancella... method LoginGmailAsync (line 11) | Task LoginGmailAsync(GmailProfileLogi... method LoginGraphAsync (line 14) | Task LoginGraphAsync(GraphProfileLogi... method RefreshAsync (line 17) | Task RefreshAsync(string profileId, C... FILE: Sources/Mailozaurr.Application/IMailProfileBootstrapService.cs type IMailProfileBootstrapService (line 6) | public interface IMailProfileBootstrapService { method SaveGraphProfileAsync (line 8) | Task SaveGraphProfileAsync(GraphProfileBootstrapReque... method SaveGmailProfileAsync (line 11) | Task SaveGmailProfileAsync(GmailProfileBootstrapReque... FILE: Sources/Mailozaurr.Application/IMailProfileConnectionService.cs type IMailProfileConnectionService (line 6) | public interface IMailProfileConnectionService { method TestAsync (line 8) | Task TestAsync( FILE: Sources/Mailozaurr.Application/IMailProfileOverviewService.cs type IMailProfileOverviewService (line 6) | public interface IMailProfileOverviewService { method GetOverviewsAsync (line 8) | Task> GetOverviewsAsync( method GetCompactOverviewsAsync (line 13) | Task> GetCompactOverviewsAsync( method GetOverviewAsync (line 18) | Task GetOverviewAsync(string profileId, Cancella... method GetCompactOverviewAsync (line 21) | Task GetCompactOverviewAsync(string profi... FILE: Sources/Mailozaurr.Application/IMailProfileSecretService.cs type IMailProfileSecretService (line 6) | public interface IMailProfileSecretService { method SetSecretAsync (line 8) | Task SetSecretAsync(string profileId, string secretNa... method SetSecretAsync (line 11) | Task SetSecretAsync(string profileId, string secretNa... method RemoveSecretAsync (line 14) | Task RemoveSecretAsync(string profileId, string secre... FILE: Sources/Mailozaurr.Application/IMailProfileService.cs type IMailProfileService (line 6) | public interface IMailProfileService { method GetProfilesAsync (line 8) | Task> GetProfilesAsync(CancellationToken ca... method GetProfileAsync (line 11) | Task GetProfileAsync(string profileId, CancellationToken... method ValidateAsync (line 14) | Task ValidateAsync(MailProfile profile, C... method DiagnoseAsync (line 17) | Task DiagnoseAsync(string profileId, Canc... method SaveAsync (line 20) | Task SaveAsync(MailProfile profile, CancellationToken... method DeleteAsync (line 23) | Task DeleteAsync(string profileId, CancellationToken ... method SetDefaultAsync (line 26) | Task SetDefaultAsync(string profileId, CancellationTo... method GetCapabilitiesAsync (line 29) | Task GetCapabilitiesAsync(string profileId, Canc... FILE: Sources/Mailozaurr.Application/IMailProfileStore.cs type IMailProfileStore (line 6) | public interface IMailProfileStore { method GetAllAsync (line 8) | Task> GetAllAsync(CancellationToken cancell... method GetByIdAsync (line 11) | Task GetByIdAsync(string profileId, CancellationToken ca... method SaveAsync (line 14) | Task SaveAsync(MailProfile profile, CancellationToken cancellationToke... method RemoveAsync (line 17) | Task RemoveAsync(string profileId, CancellationToken cancellatio... FILE: Sources/Mailozaurr.Application/IMailQueueService.cs type IMailQueueService (line 6) | public interface IMailQueueService { method ListAsync (line 10) | Task> ListAsync(CancellationToken ... method ListCompactAsync (line 15) | Task> ListCompactAsync(Cancellatio... method GetAsync (line 20) | Task GetAsync(string messageId, CancellationTok... method GetCompactAsync (line 25) | Task GetCompactAsync(string messageId, Cancella... method RemoveAsync (line 30) | Task RemoveAsync(string messageId, CancellationToken ... method ProcessAsync (line 35) | Task ProcessAsync(CancellationToken cancellationTo... FILE: Sources/Mailozaurr.Application/IMailReadHandler.cs type IMailReadHandler (line 6) | public interface IMailReadHandler { method GetFoldersAsync (line 11) | Task> GetFoldersAsync(MailProfile profile, Ma... method SearchAsync (line 14) | Task> SearchAsync(MailProfile profile, M... method GetMessageAsync (line 17) | Task GetMessageAsync(MailProfile profile, GetMessageRe... method SaveAttachmentAsync (line 20) | Task SaveAttachmentAsync(MailProfile profile, SaveAtt... FILE: Sources/Mailozaurr.Application/IMailReadService.cs type IMailReadService (line 6) | public interface IMailReadService { method GetFoldersAsync (line 8) | Task> GetFoldersAsync(MailFolderQuery query, ... method GetFoldersCompactAsync (line 11) | Task> GetFoldersCompactAsync(MailFolde... method SearchAsync (line 14) | Task> SearchAsync(MailSearchRequest requ... method SearchCompactAsync (line 17) | Task> SearchCompactAsync(MailSear... method GetAttachmentsAsync (line 20) | Task> GetAttachmentsAsync(ListAttachm... method GetMessageAsync (line 23) | Task GetMessageAsync(GetMessageRequest request, Cancel... method GetMessagesAsync (line 26) | Task> GetMessagesAsync(GetMessagesRequest... method GetMessageCompactAsync (line 29) | Task GetMessageCompactAsync(GetMessageRequest r... method GetMessagesCompactAsync (line 32) | Task> GetMessagesCompactAsync(GetM... method SaveAttachmentsAsync (line 35) | Task SaveAttachmentsAsync(SaveAttachmentsReques... method SaveAttachmentsManyAsync (line 38) | Task SaveAttachmentsManyAsync(SaveAttachmen... method SaveAttachmentAsync (line 41) | Task SaveAttachmentAsync(SaveAttachmentRequest reques... FILE: Sources/Mailozaurr.Application/IMailSecretStore.cs type IMailSecretStore (line 6) | public interface IMailSecretStore { method GetSecretAsync (line 8) | Task GetSecretAsync(string profileId, string secretName, Canc... method SetSecretAsync (line 11) | Task SetSecretAsync(string profileId, string secretName, string secret... method RemoveSecretAsync (line 14) | Task RemoveSecretAsync(string profileId, string secretName, Canc... FILE: Sources/Mailozaurr.Application/IMailSendHandler.cs type IMailSendHandler (line 6) | public interface IMailSendHandler { method SendAsync (line 11) | Task SendAsync(MailProfile profile, SendMessageRequest req... FILE: Sources/Mailozaurr.Application/IMailSendService.cs type IMailSendService (line 6) | public interface IMailSendService { method SendAsync (line 8) | Task SendAsync(SendMessageRequest request, CancellationTok... FILE: Sources/Mailozaurr.Application/ISmtpSessionFactory.cs type ISmtpSessionFactory (line 8) | public interface ISmtpSessionFactory { method ConnectAsync (line 10) | Task ConnectAsync(MailProfile profile, CancellationToken cancell... FILE: Sources/Mailozaurr.Application/ImapMailMessageActionHandler.cs class ImapMailMessageActionHandler (line 9) | public sealed class ImapMailMessageActionHandler : IMailMessageActionHan... method ImapMailMessageActionHandler (line 18) | public ImapMailMessageActionHandler( method SetReadStateAsync (line 33) | public async Task SetReadStateAsync(MailProfile p... method SetFlaggedStateAsync (line 39) | public async Task SetFlaggedStateAsync(MailProfil... method MoveAsync (line 69) | public async Task MoveAsync(MailProfile profile, ... method DeleteAsync (line 75) | public async Task DeleteAsync(MailProfile profile... method DefaultSetReadStateAsync (line 80) | private static async Task DefaultSetReadStateAsyn... method DefaultMoveAsync (line 108) | private static async Task DefaultMoveAsync(ImapCl... method DefaultDeleteAsync (line 135) | private static async Task DefaultDeleteAsync(Imap... method ParseUids (line 162) | private static IReadOnlyList ParseUids(IEnumerable m... method ParseUid (line 165) | private static UniqueId ParseUid(string value) { method ResolveFolder (line 173) | private static string ResolveFolder(string? folderId, MailProfile prof... FILE: Sources/Mailozaurr.Application/ImapMailReadHandler.cs class ImapMailReadHandler (line 10) | public sealed class ImapMailReadHandler : IMailReadHandler { method ImapMailReadHandler (line 20) | public ImapMailReadHandler( method GetFoldersAsync (line 37) | public async Task> GetFoldersAsync(MailProfil... method SearchAsync (line 43) | public async Task> SearchAsync(MailProfi... method GetMessageAsync (line 49) | public async Task GetMessageAsync(MailProfile profile,... method SaveAttachmentAsync (line 55) | public async Task SaveAttachmentAsync(MailProfile pro... method DefaultGetFoldersAsync (line 60) | private static async Task> DefaultGetFoldersA... method CollectFoldersAsync (line 79) | private static async Task CollectFoldersAsync( method MapFolder (line 103) | private static FolderRef MapFolder(IMailFolder folder, string profileI... method DefaultSearchAsync (line 114) | private static async Task> DefaultSearch... method DefaultGetMessageAsync (line 135) | private static async Task DefaultGetMessageAsync( method DefaultSaveAttachmentAsync (line 186) | private static async Task DefaultSaveAttachmentAsync( method MapSummary (line 214) | private static MessageSummary MapSummary(string profileId, string fold... method ParseUid (line 238) | private static UniqueId ParseUid(string value) { method ResolveFolder (line 246) | private static string ResolveFolder(string? folderId, MailProfile prof... method GetMaxBodyBytes (line 256) | private static long GetMaxBodyBytes(MailProfile profile) { method SplitAddresses (line 266) | private static List SplitAddresses(string? addresses) { method ResolveAttachment (line 278) | private static MimeEntity? ResolveAttachment(IReadOnlyList... FILE: Sources/Mailozaurr.Application/ImapSessionFactory.cs class ImapSessionFactory (line 9) | public sealed class ImapSessionFactory : IImapSessionFactory { method ImapSessionFactory (line 16) | public ImapSessionFactory( method ConnectAsync (line 24) | public async Task ConnectAsync(MailProfile profile, Cancel... method CreateRequestAsync (line 36) | private async Task CreateRequestAsync(MailProfile ... method ResolveSecretAsync (line 60) | private async Task ResolveSecretAsync(MailProfile profile, Pro... method ResolveUserName (line 82) | private static string ResolveUserName(MailProfile profile) { method RequireSetting (line 97) | private static string RequireSetting(MailProfile profile, string key) { method GetAuthMode (line 105) | private static ProtocolAuthMode GetAuthMode(MailProfile profile) { method GetSecureSocketOptions (line 110) | private static SecureSocketOptions GetSecureSocketOptions(MailProfile ... method GetIntSetting (line 122) | private static int? GetIntSetting(MailProfile profile, string key) { method GetDoubleSetting (line 133) | private static double? GetDoubleSetting(MailProfile profile, string ke... method GetBoolSetting (line 144) | private static bool? GetBoolSetting(MailProfile profile, string key) { FILE: Sources/Mailozaurr.Application/JsonMailDraftExchangeService.cs class JsonMailDraftExchangeService (line 8) | public sealed class JsonMailDraftExchangeService : IMailDraftExchangeSer... method LoadAsync (line 15) | public async Task LoadAsync(string path, CancellationToken ... method SaveAsync (line 31) | public async Task SaveAsync(string path, MailDraft draft, Cancellation... FILE: Sources/Mailozaurr.Application/JsonMailMessageActionPlanExchangeService.cs class JsonMailMessageActionPlanExchangeService (line 8) | public sealed class JsonMailMessageActionPlanExchangeService : IMailMess... method LoadAsync (line 15) | public async Task LoadAsync(string path, C... method SaveAsync (line 31) | public async Task SaveAsync(string path, MessageActionExecutionPlan pl... method LoadBatchAsync (line 51) | public async Task> LoadBatch... method SaveBatchAsync (line 67) | public async Task SaveBatchAsync(string path, IReadOnlyList ResolveDirectory( method ResolveSecretsDirectory (line 27) | public static string ResolveSecretsDirectory() => ResolveDirectory( method ResolveDraftsDirectory (line 34) | public static string ResolveDraftsDirectory() => ResolveDirectory( method ResolveActionPlanBatchesDirectory (line 41) | public static string ResolveActionPlanBatchesDirectory() => ResolveDir... method ResolveDirectory (line 45) | private static string ResolveDirectory(string overrideVariableName, st... method GetBaseDirectory (line 55) | private static string GetBaseDirectory() { FILE: Sources/Mailozaurr.Application/MailCapability.cs type MailCapability (line 6) | [Flags] FILE: Sources/Mailozaurr.Application/MailCapabilityCatalog.cs class MailCapabilityCatalog (line 6) | public static class MailCapabilityCatalog { method For (line 10) | public static ProfileCapabilities For(MailProfileKind kind) { FILE: Sources/Mailozaurr.Application/MailDraft.cs class MailDraft (line 6) | public sealed class MailDraft { FILE: Sources/Mailozaurr.Application/MailDraftCompact.cs class MailDraftCompact (line 6) | public sealed class MailDraftCompact { FILE: Sources/Mailozaurr.Application/MailDraftService.cs class MailDraftService (line 6) | public sealed class MailDraftService : IMailDraftService { method MailDraftService (line 13) | public MailDraftService(IMailDraftStore store, IMailProfileStore profi... method GetDraftsAsync (line 19) | public Task> GetDraftsAsync(CancellationToken... method GetDraftsCompactAsync (line 23) | public async Task> GetDraftsCompactAsy... method GetDraftAsync (line 29) | public Task GetDraftAsync(string draftId, CancellationToke... method GetDraftCompactAsync (line 33) | public async Task GetDraftCompactAsync(string draft... method SaveAsync (line 39) | public async Task SaveAsync(MailDraft draft, Cancella... method DeleteAsync (line 50) | public async Task DeleteAsync(string draftId, Cancell... method ValidateAsync (line 61) | private async Task ValidateAsync(MailDraft? draft, Ca... method ToCompact (line 86) | private static MailDraftCompact ToCompact(MailDraft draft) => new() { FILE: Sources/Mailozaurr.Application/MailDraftStoreOptions.cs class MailDraftStoreOptions (line 6) | public sealed class MailDraftStoreOptions { method GetFilePath (line 16) | public string GetFilePath() { FILE: Sources/Mailozaurr.Application/MailFolderAliasService.cs class MailFolderAliasService (line 6) | public sealed class MailFolderAliasService : IMailFolderAliasService { method MailFolderAliasService (line 22) | public MailFolderAliasService(IMailProfileStore profileStore, IMailRea... method GetAliasesAsync (line 28) | public async Task> GetAliasesAsync( method ResolveAsync (line 63) | public async Task ResolveAsync( method GetProfileAsync (line 122) | private async Task GetProfileAsync(string profileId, Canc... method TryGetFoldersAsync (line 131) | private async Task> TryGetFoldersAsync( method IsSupported (line 150) | private static bool IsSupported(MatchMode mode, ProfileCapabilities ca... method TryResolveAlias (line 158) | private static FolderRef? TryResolveAlias(AliasDefinition alias, IRead... method Matches (line 178) | private static bool Matches(string? value, IReadOnlyList candi... method Normalize (line 193) | private static string Normalize(string value) { class AliasDefinition (line 205) | private sealed class AliasDefinition { method AliasDefinition (line 206) | public AliasDefinition( type MatchMode (line 230) | private enum MatchMode { FILE: Sources/Mailozaurr.Application/MailFolderAliasSummary.cs class MailFolderAliasSummary (line 6) | public sealed class MailFolderAliasSummary { FILE: Sources/Mailozaurr.Application/MailFolderAliases.cs class MailFolderAliases (line 6) | public static class MailFolderAliases { method Canonicalize (line 38) | public static string? Canonicalize(string? value) { FILE: Sources/Mailozaurr.Application/MailFolderQuery.cs class MailFolderQuery (line 6) | public sealed class MailFolderQuery { FILE: Sources/Mailozaurr.Application/MailFolderTargetResolution.cs class MailFolderTargetResolution (line 6) | public sealed class MailFolderTargetResolution { FILE: Sources/Mailozaurr.Application/MailMessageActionBatchService.cs class MailMessageActionBatchService (line 6) | public sealed class MailMessageActionBatchService : IMailMessageActionBa... method MailMessageActionBatchService (line 12) | public MailMessageActionBatchService(IMailMessageActionPlanService pla... method ExecuteAsync (line 17) | public async Task ExecuteAsync( method AddSkippedItems (line 84) | private static void AddSkippedItems(MessageActionBatchExecutionResult ... FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatch.cs class MailMessageActionPlanBatch (line 6) | public sealed class MailMessageActionPlanBatch { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatchCompact.cs class MailMessageActionPlanBatchCompact (line 6) | public sealed class MailMessageActionPlanBatchCompact { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatchQuery.cs class MailMessageActionPlanBatchQuery (line 6) | public sealed class MailMessageActionPlanBatchQuery { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatchSortBy.cs type MailMessageActionPlanBatchSortBy (line 6) | public enum MailMessageActionPlanBatchSortBy { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatchStoreOptions.cs class MailMessageActionPlanBatchStoreOptions (line 6) | public sealed class MailMessageActionPlanBatchStoreOptions { method GetFilePath (line 16) | public string GetFilePath() { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatchSummary.cs class MailMessageActionPlanBatchSummary (line 6) | public sealed class MailMessageActionPlanBatchSummary { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanBatchTransformPreview.cs class MailMessageActionPlanBatchTransformPreview (line 6) | public sealed class MailMessageActionPlanBatchTransformPreview : Operati... FILE: Sources/Mailozaurr.Application/MailMessageActionPlanRegistryService.cs class MailMessageActionPlanRegistryService (line 6) | public sealed class MailMessageActionPlanRegistryService : IMailMessageA... method MailMessageActionPlanRegistryService (line 17) | public MailMessageActionPlanRegistryService( method GetBatchesAsync (line 33) | public async Task> GetBatche... method GetBatchesCompactAsync (line 37) | public async Task> Ge... method GetBatchesSummaryAsync (line 43) | public async Task> Ge... method GetBatchAsync (line 49) | public Task GetBatchAsync(string batchId,... method GetBatchCompactAsync (line 53) | public async Task GetBatchCompactA... method GetBatchSummaryAsync (line 59) | public async Task GetBatchSummaryA... method SaveAsync (line 65) | public async Task SaveAsync(MailMessageActionPlanBatc... method CreateCommonBatchAsync (line 76) | public async Task CreateCommonBatchAsync( method CreateCommonBatchFromPreviewAsync (line 92) | public async Task CreateCommonBatchFromPreviewAsync( method CloneAsync (line 134) | public async Task CloneAsync(string sourceBatchId, st... method TransformCloneAsync (line 159) | public async Task TransformCloneAsync( method PreviewTransformCloneAsync (line 198) | public async Task PreviewT... method AppendPlanAsync (line 293) | public async Task AppendPlanAsync(string batchId, Mes... method AppendImportedPlanAsync (line 311) | public async Task AppendImportedPlanAsync(string batc... method ReplacePlanAtAsync (line 317) | public async Task ReplacePlanAtAsync(string batchId, ... method ReplaceImportedPlanAtAsync (line 338) | public async Task ReplaceImportedPlanAtAsync(string b... method RemovePlanAtAsync (line 344) | public async Task RemovePlanAtAsync(string batchId, i... method DeleteAsync (line 365) | public async Task DeleteAsync(string batchId, Cancell... method ImportAsync (line 378) | public async Task ImportAsync(string batchId, string ... method ExportAsync (line 389) | public async Task ExportAsync(string batchId, string ... method ExecuteAsync (line 400) | public async Task ExecuteAsync(stri... method ValidateAsync (line 417) | private async Task ValidateAsync(MailMessageActionPla... method ClonePlan (line 448) | private static MessageActionExecutionPlan ClonePlan(MessageActionExecu... method TransformPlan (line 485) | private static MessageActionExecutionPlan TransformPlan(MessageActionE... method SelectCommonActions (line 513) | private static IReadOnlyList SelectCommonAct... method ResolveDestinationFolderId (line 536) | private static string? ResolveDestinationFolderId(MessageActionPreview... method CreateConfirmationToken (line 541) | private static string? CreateConfirmationToken(MessageActionExecutionP... method BuildTransformSummary (line 571) | private static string BuildTransformSummary(MessageActionExecutionPlan... method SelectPlans (line 594) | private static IReadOnlyList SelectPlans( method ToCompact (line 654) | private static MailMessageActionPlanBatchCompact ToCompact(MailMessage... method ToSummary (line 677) | private static MailMessageActionPlanBatchSummary ToSummary(MailMessage... method ApplyBatchQuery (line 707) | private static IReadOnlyList ApplyBatchQuery( method ApplyBatchQuerySort (line 742) | private static IEnumerable ApplyBatchQuery... method PlanMatchesName (line 766) | private static bool PlanMatchesName(MessageActionExecutionPlan plan, s... method BuildStoredPlanSummary (line 770) | private static string BuildStoredPlanSummary(MessageActionExecutionPla... class SelectedPlan (line 777) | private sealed class SelectedPlan { method SelectedPlan (line 778) | public SelectedPlan(int index, MessageActionExecutionPlan plan) { FILE: Sources/Mailozaurr.Application/MailMessageActionPlanService.cs class MailMessageActionPlanService (line 6) | public sealed class MailMessageActionPlanService : IMailMessageActionPla... method MailMessageActionPlanService (line 13) | public MailMessageActionPlanService(IMailMessageActionPreviewService p... method CreatePlanAsync (line 19) | public async Task CreatePlanAsync(MessageA... method ExecuteAsync (line 117) | public Task ExecuteAsync(MessageActionExecutionPl... method CreateStatePlan (line 168) | private static MessageActionExecutionPlan CreateStatePlan( method CreateMovePlan (line 180) | private static MessageActionExecutionPlan CreateMovePlan( method CreateDeletePlan (line 192) | private static MessageActionExecutionPlan CreateDeletePlan( method CreateBasePlan (line 202) | private static MessageActionExecutionPlan CreateBasePlan( method FinalizePlan (line 221) | private static MessageActionExecutionPlan FinalizePlan( method BuildPlanName (line 260) | private static string BuildPlanName(MessageActionExecutionPlan plan) => method BuildPlanSummary (line 275) | private static string BuildPlanSummary(MessageActionExecutionPlan plan) { FILE: Sources/Mailozaurr.Application/MailMessageActionPreviewService.cs class MailMessageActionPreviewService (line 6) | public sealed class MailMessageActionPreviewService : IMailMessageAction... method MailMessageActionPreviewService (line 13) | public MailMessageActionPreviewService(IMailProfileStore profileStore,... method PreviewReadStateAsync (line 19) | public async Task PreviewReadStateAsync(Set... method PreviewFlaggedStateAsync (line 29) | public async Task PreviewFlaggedStateAsync(... method PreviewCommonActionsAsync (line 39) | public async Task PreviewCommonActionsAsy... method PreviewMoveAsync (line 112) | public async Task PreviewMoveAsync(MoveMessagesPr... method PreviewDeleteAsync (line 122) | public async Task PreviewDeleteAsync(DeleteMess... method PreviewStandardActionsAsync (line 132) | public async Task PreviewStandardAction... method CreateContextAsync (line 198) | private async Task CreateContextAsync(string profileId... method CreateMovePreviewAsync (line 212) | private async Task CreateMovePreviewAsync( method CreateDeletePreview (line 257) | private DeleteMessagesPreview CreateDeletePreview(DeleteMessagesPrevie... method CreateReadStatePreview (line 285) | private MessageStateChangePreview CreateReadStatePreview(SetReadStateR... method CreateFlaggedStatePreview (line 319) | private MessageStateChangePreview CreateFlaggedStatePreview(SetFlagged... method NormalizeMessageIds (line 353) | private static List NormalizeMessageIds(IReadOnlyList ... method CreateMovePreview (line 360) | private static MoveMessagesPreview CreateMovePreview( method CreateDeletePreview (line 383) | private static DeleteMessagesPreview CreateDeletePreview( method CreateStandardPreview (line 405) | private static StandardMessageActionsPreview CreateStandardPreview(Sta... method CreateStatePreview (line 427) | private static MessageStateChangePreview CreateStatePreview( method ToActionItem (line 452) | private static MessageActionPreviewItem ToActionItem(string action, st... method ToActionItem (line 465) | private static MessageActionPreviewItem ToActionItem(string action, st... method ToActionItem (line 476) | private static MessageActionPreviewItem ToActionItem(string action, st... method CreateCommonPreview (line 488) | private static CommonMessageActionsPreview CreateCommonPreview(CommonM... class PreviewContext (line 510) | private sealed class PreviewContext { method PreviewContext (line 511) | public PreviewContext(MailProfile profile, int requestedCount, List<... FILE: Sources/Mailozaurr.Application/MailProfile.cs class MailProfile (line 6) | public sealed class MailProfile { method GetCapabilities (line 39) | public ProfileCapabilities GetCapabilities() => Capabilities ?? Profil... FILE: Sources/Mailozaurr.Application/MailProfileAuthDefaults.cs class MailProfileAuthDefaults (line 6) | public static class MailProfileAuthDefaults { FILE: Sources/Mailozaurr.Application/MailProfileAuthFlowNames.cs class MailProfileAuthFlowNames (line 6) | public static class MailProfileAuthFlowNames { FILE: Sources/Mailozaurr.Application/MailProfileAuthService.cs class MailProfileAuthService (line 6) | public sealed class MailProfileAuthService : IMailProfileAuthService { method MailProfileAuthService (line 16) | public MailProfileAuthService( method GetStatusAsync (line 30) | public async Task GetStatusAsync(string profil... method LoginGmailAsync (line 94) | public async Task LoginGmailAsync(Gma... method LoginGraphAsync (line 183) | public async Task LoginGraphAsync(Gra... method RefreshAsync (line 250) | public async Task RefreshAsync(string... method LoadProfileAsync (line 278) | private async Task<(MailProfile? Profile, MailProfileAuthenticationRes... method TryReadSecretAsync (line 294) | private Task TryReadSecretAsync(string profileId, string secr... method PersistSecretAsync (line 297) | private async Task PersistSecretAsyn... method DefaultLoginGmailAsync (line 309) | private static Task DefaultLoginGmailAsync(GmailProfi... method DefaultLoginGraphAsync (line 318) | private static Task DefaultLoginGraphAsync(GraphProfi... method CloneProfile (line 328) | private static MailProfile CloneProfile(MailProfile profile) => new() { method NormalizeScopes (line 342) | private static IReadOnlyList NormalizeScopes(IReadOnlyList method DetermineMode (line 362) | private static string DetermineMode( method DetermineCanLoginInteractively (line 392) | private static bool DetermineCanLoginInteractively( method DetermineCanRefresh (line 404) | private static bool DetermineCanRefresh( method BuildSummary (line 417) | private static string BuildSummary( method UpsertSetting (line 437) | private static void UpsertSetting(IDictionary settings... method UpsertTokenExpiration (line 446) | private static void UpsertTokenExpiration(MailProfile profile, DateTim... method Success (line 455) | private static MailProfileAuthenticationResult Success(string message,... method Failure (line 464) | private static MailProfileAuthenticationResult Failure(string code, st... method FromOperation (line 472) | private static MailProfileAuthenticationResult FromOperation(Operation... FILE: Sources/Mailozaurr.Application/MailProfileAuthStatus.cs class MailProfileAuthStatus (line 6) | public sealed class MailProfileAuthStatus { FILE: Sources/Mailozaurr.Application/MailProfileAuthenticationResult.cs class MailProfileAuthenticationResult (line 6) | public sealed class MailProfileAuthenticationResult : OperationResult { FILE: Sources/Mailozaurr.Application/MailProfileBootstrapService.cs class MailProfileBootstrapService (line 6) | public sealed class MailProfileBootstrapService : IMailProfileBootstrapS... method MailProfileBootstrapService (line 14) | public MailProfileBootstrapService(IMailProfileService profiles, IMail... method SaveGraphProfileAsync (line 21) | public async Task SaveGraphProfileAsync(GraphProfileB... method SaveGmailProfileAsync (line 135) | public async Task SaveGmailProfileAsync(GmailProfileB... method CloneProfile (line 240) | private static MailProfile CloneProfile(MailProfile profile) => new() { method UpsertSetting (line 254) | private static void UpsertSetting(IDictionary settings... method FirstNonEmpty (line 264) | private static string? FirstNonEmpty(params string?[] values) { method HasStoredSecretAsync (line 275) | private async Task HasStoredSecretAsync(string profileId, string... FILE: Sources/Mailozaurr.Application/MailProfileConnectionService.cs class MailProfileConnectionService (line 10) | public sealed class MailProfileConnectionService : IMailProfileConnectio... method MailProfileConnectionService (line 27) | public MailProfileConnectionService( method TestAsync (line 55) | public async Task TestAsync( method TestImapAsync (line 84) | private async Task TestImapAsync( method TestGraphAsync (line 103) | private async Task TestGraphAsync( method TestGmailAsync (line 122) | private async Task TestGmailAsync( method TestSmtpAsync (line 141) | private async Task TestSmtpAsync( method DefaultProbeImapAsync (line 165) | private static Task DefaultProbeImapAsync(ImapClient client, Cancellat... method DefaultProbeImapMailboxAsync (line 176) | private static async Task DefaultProbeImapMailboxAsync(ImapClient clie... method DefaultProbeGraphAsync (line 182) | private static async Task DefaultProbeGraphAsync(GraphSession session,... method DefaultProbeGraphMailboxAsync (line 188) | private static async Task DefaultProbeGraphMailboxAsync(GraphSession s... method DefaultProbeGmailAsync (line 193) | private static async Task DefaultProbeGmailAsync(GmailSession session,... method DefaultProbeGmailMailboxAsync (line 200) | private static async Task DefaultProbeGmailMailboxAsync(GmailSession s... method DefaultProbeSmtpAsync (line 205) | private static Task DefaultProbeSmtpAsync(Smtp smtp, CancellationToken... method ResolveTarget (line 216) | private static string? ResolveTarget(MailProfile profile) { method ResolveScope (line 235) | private static MailProfileConnectionTestScope ResolveScope(MailProfile... method Success (line 250) | private static MailProfileConnectionTestResult Success( method Failure (line 267) | private static MailProfileConnectionTestResult Failure( FILE: Sources/Mailozaurr.Application/MailProfileConnectionTestResult.cs class MailProfileConnectionTestResult (line 6) | public sealed class MailProfileConnectionTestResult : OperationResult { FILE: Sources/Mailozaurr.Application/MailProfileConnectionTestScope.cs type MailProfileConnectionTestScope (line 6) | public enum MailProfileConnectionTestScope { FILE: Sources/Mailozaurr.Application/MailProfileKind.cs type MailProfileKind (line 6) | public enum MailProfileKind { FILE: Sources/Mailozaurr.Application/MailProfileKindParser.cs class MailProfileKindParser (line 6) | public static class MailProfileKindParser { method Parse (line 10) | public static MailProfileKind Parse(string? value) { method TryParse (line 21) | public static bool TryParse(string? value, out MailProfileKind kind) { FILE: Sources/Mailozaurr.Application/MailProfileOverview.cs class MailProfileOverview (line 6) | public sealed class MailProfileOverview { FILE: Sources/Mailozaurr.Application/MailProfileOverviewCompact.cs class MailProfileOverviewCompact (line 6) | public sealed class MailProfileOverviewCompact { FILE: Sources/Mailozaurr.Application/MailProfileOverviewQuery.cs class MailProfileOverviewQuery (line 6) | public sealed class MailProfileOverviewQuery { FILE: Sources/Mailozaurr.Application/MailProfileOverviewService.cs class MailProfileOverviewService (line 6) | public sealed class MailProfileOverviewService : IMailProfileOverviewSer... method MailProfileOverviewService (line 13) | public MailProfileOverviewService(IMailProfileService profiles, IMailP... method GetOverviewsAsync (line 19) | public async Task> GetOverviewsAsync( method GetCompactOverviewsAsync (line 41) | public async Task> GetCompac... method GetOverviewAsync (line 49) | public async Task GetOverviewAsync(string profil... method GetCompactOverviewAsync (line 63) | public async Task GetCompactOverviewAsync... method BuildOverviewAsync (line 68) | private async Task BuildOverviewAsync(MailProfile... method BuildSummary (line 89) | private static string BuildSummary( method MatchesProfileFilter (line 104) | private static bool MatchesProfileFilter(MailProfile profile, MailProf... method MatchesOverviewFilter (line 120) | private static bool MatchesOverviewFilter(MailProfileOverview overview... method SortOverviews (line 140) | private static IReadOnlyList SortOverviews( method ToCompact (line 179) | private static MailProfileOverviewCompact ToCompact(MailProfileOvervie... FILE: Sources/Mailozaurr.Application/MailProfileOverviewSortBy.cs type MailProfileOverviewSortBy (line 6) | public enum MailProfileOverviewSortBy { FILE: Sources/Mailozaurr.Application/MailProfileSecretService.cs class MailProfileSecretService (line 6) | public sealed class MailProfileSecretService : IMailProfileSecretService { method MailProfileSecretService (line 13) | public MailProfileSecretService(IMailProfileStore profileStore, IMailS... method SetSecretAsync (line 19) | public Task SetSecretAsync(string profileId, string s... method SetSecretAsync (line 23) | public async Task SetSecretAsync( method RemoveSecretAsync (line 56) | public async Task RemoveSecretAsync(string profileId,... method ValidateAsync (line 68) | private async Task ValidateAsync(string profileId, st... FILE: Sources/Mailozaurr.Application/MailProfileService.cs class MailProfileService (line 6) | public sealed class MailProfileService : IMailProfileService { method MailProfileService (line 13) | public MailProfileService(IMailProfileStore profileStore, IMailSecretS... method GetProfilesAsync (line 19) | public Task> GetProfilesAsync(CancellationT... method GetProfileAsync (line 23) | public Task GetProfileAsync(string profileId, Cancellati... method ValidateAsync (line 27) | public Task ValidateAsync(MailProfile pro... method DiagnoseAsync (line 31) | public async Task DiagnoseAsync(string pr... method SaveAsync (line 52) | public async Task SaveAsync(MailProfile profile, Canc... method DeleteAsync (line 63) | public async Task DeleteAsync(string profileId, Cance... method SetDefaultAsync (line 77) | public async Task SetDefaultAsync(string profileId, C... method GetCapabilitiesAsync (line 90) | public async Task GetCapabilitiesAsync(string pr... method AddProviderReadinessChecksAsync (line 95) | private async Task AddProviderReadinessChecksAsync(MailProfile profile... method RemoveKnownSecretsAsync (line 124) | private async Task RemoveKnownSecretsAsync(string profileId, Cancellat... method HasSecretAsync (line 138) | private async Task HasSecretAsync(string profileId, string secre... method HasSetting (line 141) | private static bool HasSetting(MailProfile profile, string key) => method CreateFailure (line 144) | private static MailProfileValidationResult CreateFailure(string code, ... FILE: Sources/Mailozaurr.Application/MailProfileSettingsKeys.cs class MailProfileSettingsKeys (line 6) | public static class MailProfileSettingsKeys { FILE: Sources/Mailozaurr.Application/MailProfileStoreOptions.cs class MailProfileStoreOptions (line 6) | public sealed class MailProfileStoreOptions { method GetFilePath (line 16) | public string GetFilePath() { FILE: Sources/Mailozaurr.Application/MailProfileValidationResult.cs class MailProfileValidationResult (line 6) | public sealed class MailProfileValidationResult : OperationResult { FILE: Sources/Mailozaurr.Application/MailProfileValidator.cs class MailProfileValidator (line 6) | public static class MailProfileValidator { method Validate (line 10) | public static MailProfileValidationResult Validate(MailProfile? profil... method RequireSetting (line 68) | private static void RequireSetting(MailProfile profile, string key, Ma... method RequireOneOf (line 74) | private static void RequireOneOf(MailProfile profile, MailProfileValid... method ValidateOptionalPort (line 88) | private static void ValidateOptionalPort(MailProfile profile, MailProf... FILE: Sources/Mailozaurr.Application/MailSearchRequest.cs class MailSearchRequest (line 6) | public sealed class MailSearchRequest { FILE: Sources/Mailozaurr.Application/MailSecretNames.cs class MailSecretNames (line 6) | public static class MailSecretNames { FILE: Sources/Mailozaurr.Application/MailSecretReferenceResolver.cs class MailSecretReferenceResolver (line 3) | internal static class MailSecretReferenceResolver { method ResolveAsync (line 4) | public static async Task ResolveAsync( method Parse (line 36) | public static (string ProfileId, string SecretName) Parse(string secre... FILE: Sources/Mailozaurr.Application/MailSecretStoreOptions.cs class MailSecretStoreOptions (line 6) | public sealed class MailSecretStoreOptions { method GetFilePath (line 16) | public string GetFilePath() { FILE: Sources/Mailozaurr.Application/MailboxRef.cs class MailboxRef (line 6) | public sealed class MailboxRef { FILE: Sources/Mailozaurr.Application/MessageActionBatchExecutionItemResult.cs class MessageActionBatchExecutionItemResult (line 6) | public sealed class MessageActionBatchExecutionItemResult : OperationRes... FILE: Sources/Mailozaurr.Application/MessageActionBatchExecutionResult.cs class MessageActionBatchExecutionResult (line 6) | public sealed class MessageActionBatchExecutionResult : OperationResult { FILE: Sources/Mailozaurr.Application/MessageActionConfirmationTokens.cs class MessageActionConfirmationTokens (line 9) | public static class MessageActionConfirmationTokens { method CreateMoveToken (line 11) | public static string CreateMoveToken( method CreateDeleteToken (line 20) | public static string CreateDeleteToken( method CreateReadStateToken (line 28) | public static string CreateReadStateToken( method CreateFlaggedStateToken (line 37) | public static string CreateFlaggedStateToken( method CreateToken (line 45) | private static string CreateToken( FILE: Sources/Mailozaurr.Application/MessageActionExecutionPlan.cs class MessageActionExecutionPlan (line 6) | public sealed class MessageActionExecutionPlan : OperationResult { FILE: Sources/Mailozaurr.Application/MessageActionExecutionPlanRequest.cs class MessageActionExecutionPlanRequest (line 6) | public sealed class MessageActionExecutionPlanRequest { FILE: Sources/Mailozaurr.Application/MessageActionItemResult.cs class MessageActionItemResult (line 6) | public sealed class MessageActionItemResult { FILE: Sources/Mailozaurr.Application/MessageActionPlanBatchTransformPreviewItem.cs class MessageActionPlanBatchTransformPreviewItem (line 6) | public sealed class MessageActionPlanBatchTransformPreviewItem { FILE: Sources/Mailozaurr.Application/MessageActionPlanBatchTransformRequest.cs class MessageActionPlanBatchTransformRequest (line 6) | public sealed class MessageActionPlanBatchTransformRequest { FILE: Sources/Mailozaurr.Application/MessageActionPreviewItem.cs class MessageActionPreviewItem (line 6) | public sealed class MessageActionPreviewItem : OperationResult { FILE: Sources/Mailozaurr.Application/MessageActionResult.cs class MessageActionResult (line 6) | public sealed class MessageActionResult : OperationResult { FILE: Sources/Mailozaurr.Application/MessageDetail.cs class MessageDetail (line 6) | public sealed class MessageDetail { FILE: Sources/Mailozaurr.Application/MessageDetailCompact.cs class MessageDetailCompact (line 6) | public sealed class MessageDetailCompact { FILE: Sources/Mailozaurr.Application/MessageRecipient.cs class MessageRecipient (line 6) | public sealed class MessageRecipient { method ToString (line 14) | public override string ToString() => string.IsNullOrWhiteSpace(Name) ?... FILE: Sources/Mailozaurr.Application/MessageStateChangePreview.cs class MessageStateChangePreview (line 6) | public sealed class MessageStateChangePreview : OperationResult { FILE: Sources/Mailozaurr.Application/MessageSummary.cs class MessageSummary (line 6) | public sealed class MessageSummary { FILE: Sources/Mailozaurr.Application/MessageSummaryCompact.cs class MessageSummaryCompact (line 6) | public sealed class MessageSummaryCompact { FILE: Sources/Mailozaurr.Application/MimeAttachmentStorage.cs class MimeAttachmentStorage (line 5) | internal static class MimeAttachmentStorage { method ResolveAttachment (line 6) | public static MimeEntity? ResolveAttachment(IReadOnlyList ... method ResolveDestinationPath (line 15) | public static string ResolveDestinationPath(string requestedPath, Mime... method GetAttachmentFileName (line 29) | public static string GetAttachmentFileName(MimeEntity attachment) => a... method SaveAttachment (line 35) | public static void SaveAttachment(MimeEntity attachment, string destin... FILE: Sources/Mailozaurr.Application/MoveMessagesPreview.cs class MoveMessagesPreview (line 6) | public sealed class MoveMessagesPreview : OperationResult { FILE: Sources/Mailozaurr.Application/MoveMessagesPreviewRequest.cs class MoveMessagesPreviewRequest (line 6) | public sealed class MoveMessagesPreviewRequest { FILE: Sources/Mailozaurr.Application/MoveMessagesRequest.cs class MoveMessagesRequest (line 6) | public sealed class MoveMessagesRequest { FILE: Sources/Mailozaurr.Application/OperationResult.cs class OperationResult (line 6) | public class OperationResult { method Success (line 19) | public static OperationResult Success(string? message = null) => new() { method Failure (line 27) | public static OperationResult Failure(string code, string? message = n... FILE: Sources/Mailozaurr.Application/PendingMailQueueService.cs class PendingMailQueueService (line 6) | public sealed class PendingMailQueueService : IMailQueueService { method PendingMailQueueService (line 13) | public PendingMailQueueService( method ListAsync (line 21) | public async Task> ListAsync(Cance... method ListCompactAsync (line 38) | public async Task> ListCompactAsyn... method GetAsync (line 44) | public async Task GetAsync(string messageId, Ca... method GetCompactAsync (line 54) | public async Task GetCompactAsync(string messag... method RemoveAsync (line 60) | public async Task RemoveAsync(string messageId, Cance... method ProcessAsync (line 76) | public async Task ProcessAsync(CancellationToken c... method DefaultProcessAsync (line 82) | private static Task DefaultProcessAsync( method Map (line 90) | private static QueuedMessageSummary Map(PendingMessageRecord record) =... method ToCompact (line 100) | private static QueuedMessageCompact ToCompact(QueuedMessageSummary mes... method MapProfileKind (line 111) | private static MailProfileKind MapProfileKind(EmailProvider provider) ... class CountingObserver (line 120) | private sealed class CountingObserver : IPendingMessageProcessorObserv... method MessageSkipped (line 126) | public void MessageSkipped(PendingMessageRecord record, PendingMessa... method MessageAttemptStarted (line 130) | public void MessageAttemptStarted(PendingMessageRecord record, int a... method MessageSent (line 134) | public void MessageSent(PendingMessageRecord record, int attempt, Ti... method MessageFailed (line 138) | public void MessageFailed( method MessageDropped (line 149) | public void MessageDropped( method CreateResult (line 160) | public QueueProcessResult CreateResult() => _result; FILE: Sources/Mailozaurr.Application/ProfileCapabilities.cs class ProfileCapabilities (line 6) | public sealed class ProfileCapabilities { method ProfileCapabilities (line 12) | public ProfileCapabilities(MailProfileKind kind, MailCapability capabi... method Supports (line 26) | public bool Supports(MailCapability capability) => (Capabilities & cap... method CreateDefault (line 31) | public static ProfileCapabilities CreateDefault(MailProfileKind kind) ... FILE: Sources/Mailozaurr.Application/QueueProcessResult.cs class QueueProcessResult (line 6) | public sealed class QueueProcessResult : OperationResult { FILE: Sources/Mailozaurr.Application/QueuedMessageCompact.cs class QueuedMessageCompact (line 6) | public sealed class QueuedMessageCompact { FILE: Sources/Mailozaurr.Application/QueuedMessageSummary.cs class QueuedMessageSummary (line 6) | public sealed class QueuedMessageSummary { FILE: Sources/Mailozaurr.Application/RoutedMailMessageActionService.cs class RoutedMailMessageActionService (line 6) | public sealed class RoutedMailMessageActionService : IMailMessageActionS... method RoutedMailMessageActionService (line 14) | public RoutedMailMessageActionService( method SetReadStateAsync (line 28) | public async Task SetReadStateAsync(SetReadStateR... method SetFlaggedStateAsync (line 46) | public async Task SetFlaggedStateAsync(SetFlagged... method MoveAsync (line 64) | public async Task MoveAsync(MoveMessagesRequest r... method DeleteAsync (line 83) | public async Task DeleteAsync(DeleteMessagesReque... method GetProfileAsync (line 100) | private async Task GetProfileAsync(string profileId, Canc... method GetHandler (line 109) | private IMailMessageActionHandler GetHandler(MailProfileKind kind) => method NormalizeMoveRequestAsync (line 114) | private async Task NormalizeMoveRequestAsync( method CloneMoveRequest (line 144) | private static MoveMessagesRequest CloneMoveRequest(MoveMessagesReques... method ValidateMoveConfirmation (line 154) | private static MessageActionResult? ValidateMoveConfirmation(MoveMessa... method ValidateDeleteConfirmation (line 178) | private static MessageActionResult? ValidateDeleteConfirmation(DeleteM... method ValidateReadStateConfirmation (line 201) | private static MessageActionResult? ValidateReadStateConfirmation(SetR... method ValidateFlaggedStateConfirmation (line 225) | private static MessageActionResult? ValidateFlaggedStateConfirmation(S... method EnsureCapability (line 249) | private static void EnsureCapability(MailProfile profile, MailCapabili... FILE: Sources/Mailozaurr.Application/RoutedMailReadService.cs class RoutedMailReadService (line 6) | public sealed class RoutedMailReadService : IMailReadService { method RoutedMailReadService (line 13) | public RoutedMailReadService(IMailProfileStore profileStore, IEnumerab... method GetFoldersAsync (line 23) | public async Task> GetFoldersAsync(MailFolder... method GetFoldersCompactAsync (line 30) | public async Task> GetFoldersCompactAs... method SearchAsync (line 36) | public async Task> SearchAsync(MailSearc... method SearchCompactAsync (line 43) | public async Task> SearchCompactA... method GetAttachmentsAsync (line 49) | public async Task> GetAttachmentsAsyn... method SaveAttachmentsAsync (line 62) | public async Task SaveAttachmentsAsync(SaveAtta... method SaveAttachmentsManyAsync (line 131) | public async Task SaveAttachmentsManyAsync(... method GetMessageAsync (line 194) | public async Task GetMessageAsync(GetMessageRequest re... method GetMessagesAsync (line 201) | public async Task> GetMessagesAsync(GetMe... method GetMessageCompactAsync (line 227) | public async Task GetMessageCompactAsync(GetMes... method GetMessagesCompactAsync (line 233) | public async Task> GetMessagesComp... method SaveAttachmentAsync (line 239) | public async Task SaveAttachmentAsync(SaveAttachmentR... method GetProfileAsync (line 245) | private async Task GetProfileAsync(string profileId, Canc... method GetHandler (line 254) | private IMailReadHandler GetHandler(MailProfileKind kind) => method EnsureCapability (line 259) | private static void EnsureCapability(MailProfile profile, MailCapabili... method ToCompact (line 265) | private static MessageSummaryCompact ToCompact(MessageSummary summary)... method ToCompact (line 278) | private static MessageDetailCompact ToCompact(MessageDetail detail) =>... method FilterAttachments (line 289) | private static IEnumerable FilterAttachments( method ToCompact (line 334) | private static FolderRefCompact ToCompact(FolderRef folder) => new() { method ToCopy (line 346) | private static AttachmentSummary ToCopy(AttachmentSummary attachment) ... method CreatePreview (line 356) | private static string? CreatePreview(string? value) { method FormatRecipient (line 368) | private static string? FormatRecipient(MessageRecipient recipient) { FILE: Sources/Mailozaurr.Application/RoutedMailSendService.cs class RoutedMailSendService (line 6) | public sealed class RoutedMailSendService : IMailSendService { method RoutedMailSendService (line 13) | public RoutedMailSendService(IMailProfileStore profileStore, IEnumerab... method SendAsync (line 23) | public async Task SendAsync(SendMessageRequest request, Ca... FILE: Sources/Mailozaurr.Application/SaveAttachmentRequest.cs class SaveAttachmentRequest (line 6) | public sealed class SaveAttachmentRequest { FILE: Sources/Mailozaurr.Application/SaveAttachmentsManyRequest.cs class SaveAttachmentsManyRequest (line 6) | public sealed class SaveAttachmentsManyRequest { FILE: Sources/Mailozaurr.Application/SaveAttachmentsManyResult.cs class SaveAttachmentsManyResult (line 6) | public sealed class SaveAttachmentsManyResult : OperationResult { FILE: Sources/Mailozaurr.Application/SaveAttachmentsRequest.cs class SaveAttachmentsRequest (line 6) | public sealed class SaveAttachmentsRequest { FILE: Sources/Mailozaurr.Application/SaveAttachmentsResult.cs class SaveAttachmentsResult (line 6) | public sealed class SaveAttachmentsResult : OperationResult { FILE: Sources/Mailozaurr.Application/SavedAttachmentResult.cs class SavedAttachmentResult (line 6) | public sealed class SavedAttachmentResult : OperationResult { FILE: Sources/Mailozaurr.Application/SendMessageRequest.cs class SendMessageRequest (line 6) | public sealed class SendMessageRequest { FILE: Sources/Mailozaurr.Application/SendResult.cs class SendResult (line 6) | public sealed class SendResult : OperationResult { FILE: Sources/Mailozaurr.Application/SetFlaggedStateRequest.cs class SetFlaggedStateRequest (line 6) | public sealed class SetFlaggedStateRequest { FILE: Sources/Mailozaurr.Application/SetReadStateRequest.cs class SetReadStateRequest (line 6) | public sealed class SetReadStateRequest { FILE: Sources/Mailozaurr.Application/SmtpMailSendHandler.cs class SmtpMailSendHandler (line 9) | public sealed class SmtpMailSendHandler : IMailSendHandler { method SmtpMailSendHandler (line 18) | public SmtpMailSendHandler( method SendAsync (line 33) | public async Task SendAsync(MailProfile profile, SendMessa... method DefaultSendAsync (line 91) | private static Task DefaultSendAsync( FILE: Sources/Mailozaurr.Application/SmtpSessionFactory.cs class SmtpSessionFactory (line 9) | public sealed class SmtpSessionFactory : ISmtpSessionFactory { method SmtpSessionFactory (line 16) | public SmtpSessionFactory( method ConnectAsync (line 24) | public async Task ConnectAsync(MailProfile profile, Cancellation... method CreateRequestAsync (line 36) | private async Task CreateRequestAsync(MailProfile ... method ResolveSecretAsync (line 60) | private async Task ResolveSecretAsync(MailProfile profile, Pro... method DefaultConnectAsync (line 82) | private static async Task DefaultConnectAsync(SmtpSessionRequest... method ResolveUserName (line 95) | private static string ResolveUserName(MailProfile profile) { method RequireSetting (line 112) | private static string RequireSetting(MailProfile profile, string key) { method GetAuthMode (line 120) | private static ProtocolAuthMode GetAuthMode(MailProfile profile) { method GetSecureSocketOptions (line 125) | private static SecureSocketOptions GetSecureSocketOptions(MailProfile ... method GetIntSetting (line 137) | private static int? GetIntSetting(MailProfile profile, string key) { method GetDoubleSetting (line 148) | private static double? GetDoubleSetting(MailProfile profile, string ke... method GetBoolSetting (line 159) | private static bool? GetBoolSetting(MailProfile profile, string key) { FILE: Sources/Mailozaurr.Application/StandardMessageActionsPreview.cs class StandardMessageActionsPreview (line 6) | public sealed class StandardMessageActionsPreview : OperationResult { FILE: Sources/Mailozaurr.Application/StandardMessageActionsPreviewRequest.cs class StandardMessageActionsPreviewRequest (line 6) | public sealed class StandardMessageActionsPreviewRequest { FILE: Sources/Mailozaurr.Cli/CliArguments.cs class CliArguments (line 3) | internal sealed class CliArguments { method HasFlag (line 10) | public bool HasFlag(string name) { method GetOption (line 15) | public string? GetOption(string name) => method GetOptionValues (line 20) | public IReadOnlyList GetOptionValues(string name) => method GetIntOption (line 25) | public int? GetIntOption(string name) { method GetIntOptionValues (line 37) | public IReadOnlyList GetIntOptionValues(string name) { method Parse (line 59) | public static CliArguments Parse(IReadOnlyList args) { FILE: Sources/Mailozaurr.Cli/CliRunner.cs class CliRunner (line 8) | public static class CliRunner { method RunAsync (line 13) | public static async Task RunAsync( method ExecuteAsync (line 66) | private static async Task ExecuteAsync( method ExecuteProfileAsync (line 84) | private static async Task ExecuteProfileAsync( method ExecuteMailAsync (line 287) | private static async Task ExecuteMailAsync( method ExecuteDraftAsync (line 810) | private static async Task ExecuteDraftAsync( method ExecuteQueueAsync (line 875) | private static async Task ExecuteQueueAsync( method ExecuteSendAsync (line 931) | private static async Task ExecuteSendAsync( method ExecuteMcpAsync (line 945) | private static async Task ExecuteMcpAsync( method WriteUnknownCommandAsync (line 964) | private static async Task WriteUnknownCommandAsync(string command... method RequireOption (line 969) | private static string RequireOption(CliArguments parseResult, string n... method BuildProfile (line 978) | private static MailProfile BuildProfile(CliArguments parseResult) { method BuildMessageActionExecutionPlanRequest (line 1011) | private static MessageActionExecutionPlanRequest BuildMessageActionExe... method BuildCommonActionsPreviewRequest (line 1024) | private static CommonMessageActionsPreviewRequest BuildCommonActionsPr... method BuildMessageActionPlanBatchTransformRequest (line 1035) | private static MessageActionPlanBatchTransformRequest BuildMessageActi... method BuildMessageActionPlanBatchQuery (line 1047) | private static MailMessageActionPlanBatchQuery? BuildMessageActionPlan... method ParseBatchSortBy (line 1080) | private static MailMessageActionPlanBatchSortBy ParseBatchSortBy(strin... method BuildSendRequestAsync (line 1096) | private static async Task BuildSendRequestAsync(Ma... method BuildMailDraftAsync (line 1133) | private static async Task BuildMailDraftAsync(MailApplicati... method CreateSendRequestFromDraft (line 1163) | private static SendMessageRequest CreateSendRequestFromDraft(DraftMess... method ToRecipient (line 1171) | private static MessageRecipient ToRecipient(string value) => new() { method BuildDraftMessage (line 1175) | private static DraftMessage BuildDraftMessage(CliArguments parseResult... method CloneDraftMessage (line 1219) | private static DraftMessage CloneDraftMessage(DraftMessage draft) => n... method ToRecipientCopy (line 1242) | private static MessageRecipient ToRecipientCopy(MessageRecipient recip... method WriteItemAsync (line 1247) | private static async Task WriteItemAsync( method WriteSequenceAsync (line 1260) | private static async Task WriteSequenceAsync( method ResolveSensitiveOptionAsync (line 1275) | private static async Task ResolveSensitiveOptionAsync( method WriteExceptionAsync (line 1318) | private static async Task WriteExceptionAsync(TextWriter error, Except... method WriteHelp (line 1333) | private static void WriteHelp(TextWriter output) { method ParseConnectionTestScope (line 1421) | private static MailProfileConnectionTestScope ParseConnectionTestScope... method BuildProfileOverviewQuery (line 1433) | private static MailProfileOverviewQuery BuildProfileOverviewQuery(CliA... method ParseProfileOverviewSortBy (line 1455) | private static MailProfileOverviewSortBy ParseProfileOverviewSortBy(st... class CliErrorEnvelope (line 1463) | private sealed class CliErrorEnvelope { class CliError (line 1467) | private sealed class CliError { FILE: Sources/Mailozaurr.Cli/Mcp/MailMcpTools.cs class MailMcpTools (line 7) | [McpServerToolType] method MailMcpTools (line 11) | public MailMcpTools(MailApplication application) { method mail_profiles_list (line 15) | [McpServerTool] method mail_profiles_summary_list (line 20) | [McpServerTool] method mail_profiles_summary_compact_list (line 43) | [McpServerTool] method mail_capabilities_get (line 66) | [McpServerTool] method mail_profile_get (line 75) | [McpServerTool] method mail_profile_doctor (line 84) | [McpServerTool] method mail_profile_summary (line 91) | [McpServerTool] method mail_profile_summary_compact (line 100) | [McpServerTool] method mail_profile_validate (line 109) | [McpServerTool] method mail_profile_save (line 122) | [McpServerTool] method mail_profile_graph_bootstrap (line 155) | [McpServerTool] method mail_profile_gmail_bootstrap (line 198) | [McpServerTool] method mail_profile_graph_login (line 237) | [McpServerTool] method mail_profile_gmail_login (line 258) | [McpServerTool] method mail_profile_refresh_auth (line 277) | [McpServerTool] method mail_profile_auth_status (line 284) | [McpServerTool] method mail_profile_test (line 293) | [McpServerTool] method mail_profile_delete (line 301) | [McpServerTool] method mail_profile_set_default (line 308) | [McpServerTool] method mail_profile_secret_set (line 315) | [McpServerTool] method mail_profile_secret_remove (line 330) | [McpServerTool] method mail_folders_list (line 338) | [McpServerTool] method mail_folders_compact_list (line 353) | [McpServerTool] method mail_folder_aliases_list (line 368) | [McpServerTool] method mail_folder_resolve (line 376) | [McpServerTool] method mail_action_plan (line 385) | [McpServerTool] method mail_action_batch_store_list (line 406) | [McpServerTool] method mail_action_batch_store_compact_list (line 417) | [McpServerTool] method mail_action_batch_store_summary_list (line 428) | [McpServerTool] method mail_action_batch_store_get (line 439) | [McpServerTool] method mail_action_batch_store_compact_get (line 448) | [McpServerTool] method mail_action_batch_store_summary_get (line 457) | [McpServerTool] method mail_action_batch_store_import (line 466) | [McpServerTool] method mail_action_batch_store_export (line 476) | [McpServerTool] method mail_action_batch_store_create_common (line 484) | [McpServerTool] method mail_action_batch_store_create_from_preview (line 511) | [McpServerTool] method mail_action_batch_store_clone (line 528) | [McpServerTool] method mail_action_batch_store_transform_clone (line 538) | [McpServerTool] method mail_action_batch_store_transform_preview (line 567) | [McpServerTool] method mail_action_batch_store_append_plan (line 590) | [McpServerTool] method mail_action_batch_store_append_imported_plan (line 615) | [McpServerTool] method mail_action_batch_store_replace_plan (line 623) | [McpServerTool] method mail_action_batch_store_replace_imported_plan (line 649) | [McpServerTool] method mail_action_batch_store_remove_plan (line 658) | [McpServerTool] method mail_action_batch_store_delete (line 666) | [McpServerTool] method mail_action_batch_store_execute (line 673) | [McpServerTool] method mail_action_plan_export (line 681) | [McpServerTool] method mail_action_plan_import (line 707) | [McpServerTool] method mail_action_batch_export (line 714) | [McpServerTool] method mail_action_batch_import (line 727) | [McpServerTool] method mail_action_execute (line 734) | [McpServerTool] method mail_action_batch_execute (line 758) | [McpServerTool] method mail_actions_bundle_preview (line 769) | [McpServerTool] method mail_actions_preview (line 786) | [McpServerTool] method mail_move_preview (line 803) | [McpServerTool] method mail_delete_preview (line 820) | [McpServerTool] method mail_search (line 835) | [McpServerTool] method mail_search_compact (line 860) | [McpServerTool] method mail_get (line 885) | [McpServerTool] method mail_get_compact (line 905) | [McpServerTool] method mail_get_many (line 925) | [McpServerTool] method mail_get_many_compact (line 942) | [McpServerTool] method mail_mark_read_preview (line 959) | [McpServerTool] method mail_mark_read (line 976) | [McpServerTool] method mail_flag_preview (line 995) | [McpServerTool] method mail_flag (line 1012) | [McpServerTool] method mail_archive (line 1031) | [McpServerTool] method mail_trash (line 1049) | [McpServerTool] method mail_move (line 1067) | [McpServerTool] method mail_delete (line 1086) | [McpServerTool] method mail_attachments_list (line 1103) | [McpServerTool] method mail_attachment_save (line 1118) | [McpServerTool] method mail_attachments_save (line 1139) | [McpServerTool] method mail_attachments_save_many (line 1164) | [McpServerTool] method mail_send (line 1189) | [McpServerTool] method mail_draft_list (line 1211) | [McpServerTool] method mail_draft_compact_list (line 1216) | [McpServerTool] method mail_draft_get (line 1221) | [McpServerTool] method mail_draft_compact_get (line 1230) | [McpServerTool] method mail_draft_save (line 1239) | [McpServerTool] method mail_draft_delete (line 1261) | [McpServerTool] method mail_draft_import (line 1268) | [McpServerTool] method mail_draft_export (line 1291) | [McpServerTool] method mail_draft_send (line 1306) | [McpServerTool] method mail_queue_list (line 1325) | [McpServerTool] method mail_queue_compact_list (line 1330) | [McpServerTool] method mail_queue_get (line 1335) | [McpServerTool] method mail_queue_compact_get (line 1344) | [McpServerTool] method mail_queue_remove (line 1353) | [McpServerTool] method mail_queue_process (line 1360) | [McpServerTool] method BuildDraftMessage (line 1365) | private static DraftMessage BuildDraftMessage( method CloneDraftMessage (line 1405) | private static DraftMessage CloneDraftMessage(DraftMessage draft) => n... method AddRecipients (line 1428) | private static void AddRecipients(ICollection destin... method ToRecipientCopy (line 1440) | private static MessageRecipient ToRecipientCopy(MessageRecipient recip... method BuildBatchQuery (line 1445) | private static MailMessageActionPlanBatchQuery? BuildBatchQuery(IReadO... method ParseBatchSortBy (line 1477) | private static MailMessageActionPlanBatchSortBy ParseBatchSortBy(strin... method ParseConnectionTestScope (line 1493) | private static MailProfileConnectionTestScope ParseConnectionTestScope... FILE: Sources/Mailozaurr.Cli/Mcp/McpServerHost.cs class McpServerHost (line 7) | internal static class McpServerHost { method RunAsync (line 8) | public static async Task RunAsync(MailApplication application, Cancell... FILE: Sources/Mailozaurr.Examples/AcquireGoogleTokenInteractive.cs class AcquireGoogleTokenInteractive (line 8) | public static class AcquireGoogleTokenInteractive { method RunAsync (line 10) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/AcquireO365TokenDeviceCode.cs class AcquireO365TokenDeviceCode (line 8) | public static class AcquireO365TokenDeviceCode { method RunAsync (line 10) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/AcquireO365TokenInteractive.cs class AcquireO365TokenInteractive (line 8) | public static class AcquireO365TokenInteractive { method RunAsync (line 10) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/BuildGraphUriExample.cs class BuildGraphUriExample (line 6) | public static class BuildGraphUriExample { method Run (line 7) | public static void Run() { FILE: Sources/Mailozaurr.Examples/DetectNonDeliveryReportExample.cs class DetectNonDeliveryReportExample (line 10) | public static class DetectNonDeliveryReportExample { method Run (line 12) | public static void Run() { FILE: Sources/Mailozaurr.Examples/FetchGmailMessages.cs class FetchGmailMessages (line 8) | public static class FetchGmailMessages { method RunAsync (line 10) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/FetchImapMessages.cs class FetchImapMessages (line 12) | public static class FetchImapMessages { method RunAsync (line 14) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/FetchPopMessages.cs class FetchPopMessages (line 10) | public static class FetchPopMessages { method RunAsync (line 12) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/GenerateTemporaryMailCrypto.cs class GenerateTemporaryMailCrypto (line 7) | public static class GenerateTemporaryMailCrypto method Run (line 10) | public static void Run() FILE: Sources/Mailozaurr.Examples/GenerateTemporaryPgpKeyPair.cs class GenerateTemporaryPgpKeyPair (line 7) | public static class GenerateTemporaryPgpKeyPair method Run (line 10) | public static void Run() FILE: Sources/Mailozaurr.Examples/GenerateTemporarySmimeCertificate.cs class GenerateTemporarySmimeCertificate (line 7) | public static class GenerateTemporarySmimeCertificate method Run (line 10) | public static void Run() FILE: Sources/Mailozaurr.Examples/ImapIdleListenerExample.cs class ImapIdleListenerExample (line 10) | public static class ImapIdleListenerExample { method RunAsync (line 12) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/ImapIdleListenerFilteredExample.cs class ImapIdleListenerFilteredExample (line 10) | public static class ImapIdleListenerFilteredExample { method RunAsync (line 12) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/NonDeliveryReportServiceExample.cs class NonDeliveryReportServiceExample (line 11) | public static class NonDeliveryReportServiceExample { method RunAsync (line 13) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/ParseNonDeliveryReportExample.cs class ParseNonDeliveryReportExample (line 8) | public static class ParseNonDeliveryReportExample { method Run (line 10) | public static void Run() { FILE: Sources/Mailozaurr.Examples/PendingMessageRepositoryExample.cs class PendingMessageRepositoryExample (line 9) | public static class PendingMessageRepositoryExample { method RunAsync (line 11) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/Program.cs class Program (line 3) | class Program { method Main (line 4) | static async Task Main(string[] args) { FILE: Sources/Mailozaurr.Examples/RetrieveAndCorrelateNonDeliveryReportsExample.cs class RetrieveAndCorrelateNonDeliveryReportsExample (line 12) | public static class RetrieveAndCorrelateNonDeliveryReportsExample { method RunAsync (line 14) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/RetrieveDmarcReportsExample.cs class RetrieveDmarcReportsExample (line 9) | public static class RetrieveDmarcReportsExample { method RunAsync (line 10) | public static async Task RunAsync(ImapClient client) { class DomainDetective (line 22) | public static class DomainDetective { method Process (line 23) | public static void Process(Stream zip, string name) { FILE: Sources/Mailozaurr.Examples/SearchBodyContainsExample.cs class SearchBodyContainsExample (line 11) | public static class SearchBodyContainsExample { method RunAsync (line 13) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SearchNonDeliveryReportsExample.cs class SearchNonDeliveryReportsExample (line 11) | public static class SearchNonDeliveryReportsExample { method RunAsync (line 13) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SendEmailAttachments.cs class SendEmailAttachments (line 6) | public static class SendEmailAttachments method Run (line 10) | public static void Run() FILE: Sources/Mailozaurr.Examples/SendEmailGmail.cs class SendEmailGmail (line 8) | public static class SendEmailGmail { method Run (line 10) | public static void Run() { FILE: Sources/Mailozaurr.Examples/SendEmailGmailApi.cs class SendEmailGmailApi (line 9) | public static class SendEmailGmailApi { method RunAsync (line 11) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SendEmailGraphCertificate.cs class SendEmailGraphCertificate (line 5) | public static class SendEmailGraphCertificate { method RunAsync (line 6) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SendEmailGraphClientSecret.cs class SendEmailGraphClientSecret (line 6) | public static class SendEmailGraphClientSecret { method RunAsync (line 7) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SendEmailGraphWithPolicy.cs class SendEmailGraphWithPolicy (line 7) | public static class SendEmailGraphWithPolicy method RunAsync (line 9) | public static async Task RunAsync() FILE: Sources/Mailozaurr.Examples/SendEmailHeadersGraph.cs class SendEmailHeadersGraph (line 7) | public static class SendEmailHeadersGraph method RunAsync (line 9) | public static async Task RunAsync() FILE: Sources/Mailozaurr.Examples/SendEmailHeadersSendGrid.cs class SendEmailHeadersSendGrid (line 7) | public static class SendEmailHeadersSendGrid method RunAsync (line 9) | public static async Task RunAsync() FILE: Sources/Mailozaurr.Examples/SendEmailHeadersSmtp.cs class SendEmailHeadersSmtp (line 5) | public static class SendEmailHeadersSmtp method Run (line 7) | public static void Run() FILE: Sources/Mailozaurr.Examples/SendEmailMailgun.cs class SendEmailMailgun (line 10) | public static class SendEmailMailgun { method RunAsync (line 12) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SendEmailPgp.cs class SendEmailPgp (line 7) | public static class SendEmailPgp { method Run (line 9) | public static void Run() { FILE: Sources/Mailozaurr.Examples/SendEmailRemoteImages.cs class SendEmailRemoteImages (line 6) | public static class SendEmailRemoteImages method Run (line 8) | public static void Run() FILE: Sources/Mailozaurr.Examples/SendEmailSasl.cs class SendEmailSasl (line 7) | public static class SendEmailSasl { method Run (line 9) | public static void Run() { FILE: Sources/Mailozaurr.Examples/SendEmailSmtpAsync.cs class SendEmailSmtpAsync (line 10) | public static class SendEmailSmtpAsync { method RunAsync (line 12) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SendEmailVerifyAttachments.cs class SendEmailVerifyAttachments (line 4) | public static class SendEmailVerifyAttachments method Run (line 6) | public static void Run() FILE: Sources/Mailozaurr.Examples/SendTemplatedEmailSes.cs class SendTemplatedEmailSes (line 11) | public static class SendTemplatedEmailSes { method RunAsync (line 13) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SmtpPendingMessageExample.cs class SmtpPendingMessageExample (line 7) | public static class SmtpPendingMessageExample { method RunAsync (line 9) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Examples/SmtpProcessPendingMessagesExample.cs class SmtpProcessPendingMessagesExample (line 7) | public static class SmtpProcessPendingMessagesExample { method RunAsync (line 9) | public static async Task RunAsync() { FILE: Sources/Mailozaurr.Msg/Definitions/EmlConversionResult.cs class EmlConversionResult (line 10) | public class EmlConversionResult { FILE: Sources/Mailozaurr.Msg/Definitions/MsgConversionResult.cs class MsgConversionResult (line 10) | public class MsgConversionResult { FILE: Sources/Mailozaurr.Msg/EmailMessage.cs class EmailMessage (line 9) | public static class EmailMessage { method ConvertEmlToMsg (line 17) | public static IEnumerable ConvertEmlToMsg(string[... method ConvertEmlToMsg (line 29) | public static EmlConversionResult ConvertEmlToMsg(FileInfo emlFile, Fi... method ConvertMsgToEml (line 62) | public static IEnumerable ConvertMsgToEml(string[... method ConvertMsgToEml (line 74) | public static MsgConversionResult ConvertMsgToEml(FileInfo msgFile, Fi... method ConvertFiles (line 100) | private static IEnumerable ConvertFiles(string[] inp... method CreateTempOutputPath (line 111) | private static string CreateTempOutputPath(FileInfo targetFile) { method TryFinalizeConvertedFile (line 119) | private static bool TryFinalizeConvertedFile(string tempFile, string t... method TryReplaceFile (line 137) | private static bool TryReplaceFile(string sourceFile, string destinati... method SafeDelete (line 162) | private static void SafeDelete(string path) { FILE: Sources/Mailozaurr.Msg/MailFileModels.cs type MailFileFormat (line 4) | public enum MailFileFormat { type MailFileRecipientType (line 12) | public enum MailFileRecipientType { class MailFileAddress (line 28) | public sealed class MailFileAddress { method MailFileAddress (line 33) | public MailFileAddress(string? address, string? displayName = null, st... method ToString (line 47) | public override string ToString() { class MailFileRecipient (line 59) | public sealed class MailFileRecipient { method MailFileRecipient (line 63) | public MailFileRecipient(MailFileRecipientType type, MailFileAddress a... class MailFileAttachment (line 75) | public sealed class MailFileAttachment { class MailFileMessage (line 91) | public sealed class MailFileMessage { FILE: Sources/Mailozaurr.Msg/MailFileReader.cs class MailFileReader (line 14) | public static class MailFileReader { method Read (line 19) | public static MailFileMessage Read(string path, MailFileReaderOptions?... method Read (line 31) | public static MailFileMessage Read(FileInfo fileInfo, MailFileReaderOp... method TryRead (line 59) | public static bool TryRead(string path, out MailFileMessage? message, ... method ReadMsg (line 85) | private static MailFileMessage ReadMsg(FileInfo fileInfo, MailFileRead... method ReadEml (line 125) | private static MailFileMessage ReadEml(FileInfo fileInfo, MailFileRead... method BuildRecipients (line 162) | private static List BuildRecipients(List BuildRecipients(IEnumerable BuildMsgAttachments(L... method BuildEmlAttachments (line 276) | private static IReadOnlyList BuildEmlAttachments(I... method ResolveAttachmentFileName (line 297) | private static string? ResolveAttachmentFileName(MessagePart attachmen... method ExtractHeaders (line 315) | private static IReadOnlyDictionary? ExtractHeaders(Mes... method MergeHeaders (line 323) | private static IReadOnlyDictionary MergeHeaders(NameVa... method AddHeaders (line 333) | private static void AddHeaders(IDictionary destination... FILE: Sources/Mailozaurr.Msg/MailFileReaderOptions.cs class MailFileReaderOptions (line 4) | public sealed class MailFileReaderOptions { FILE: Sources/Mailozaurr.PowerShell/CmdletAddGraphMailboxPermission.cs class CmdletAddGraphMailboxPermission (line 13) | [Cmdlet(VerbsCommon.Add, "GraphMailboxPermission", SupportsShouldProcess... method ProcessRecordAsync (line 79) | protected override async Task ProcessRecordAsync() { method ProcessCsvAsync (line 110) | private async Task ProcessCsvAsync(GraphCredential cred) { method ProcessGraphAsync (line 120) | private async Task ProcessGraphAsync(GraphCredential cred, object perm... method ProcessMgGraph (line 156) | private void ProcessMgGraph() { method InvokeMgGraph (line 182) | private void InvokeMgGraph(string body) { FILE: Sources/Mailozaurr.PowerShell/CmdletClearGraphJunk.cs class CmdletClearGraphJunk (line 13) | [Cmdlet(VerbsCommon.Clear, "GraphJunk", SupportsShouldProcess = true, Co... method ProcessRecordAsync (line 111) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 135) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessPreviewGraphAsync (line 189) | private async Task ProcessPreviewGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 215) | private void ProcessMgGraph() { method ProcessPreviewMgGraph (line 282) | private void ProcessPreviewMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletClearIMAPJunk.cs class CmdletClearIMAPJunk (line 13) | [Cmdlet(VerbsCommon.Clear, "IMAPJunk", SupportsShouldProcess = true, Con... method ProcessRecordAsync (line 73) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletClearSmtpConnectionPool.cs class CmdletClearSmtpConnectionPool (line 17) | [Cmdlet(VerbsCommon.Clear, "SmtpConnectionPool", SupportsShouldProcess =... method ProcessRecordAsync (line 20) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConnectEmailGraph.cs class CmdletConnectEmailGraph (line 25) | [Cmdlet(VerbsCommunications.Connect, "EmailGraph")] method ProcessRecordAsync (line 238) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConnectIMAP.cs class CmdletConnectIMAP (line 36) | [Cmdlet(VerbsCommunications.Connect, "IMAP")] method ProcessRecordAsync (line 145) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConnectOAuthGoogle.cs class CmdletConnectOAuthGoogle (line 26) | [Cmdlet(VerbsCommunications.Connect, "OAuthGoogle", DefaultParameterSetN... method ProcessRecordAsync (line 79) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConnectOAuthO365.cs class CmdletConnectOAuthO365 (line 20) | [Cmdlet(VerbsCommunications.Connect, "OAuthO365")] method ProcessRecordAsync (line 64) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConnectPOP3.cs class CmdletConnectPOP3 (line 34) | [Cmdlet(VerbsCommunications.Connect, "POP3")] method ProcessRecordAsync (line 151) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertFromEmlToMsg.cs class CmdletConvertFromEmlToMsg (line 19) | [Cmdlet(VerbsData.ConvertFrom, "EmlToMsg")] method BeginProcessingAsync (line 48) | protected override Task BeginProcessingAsync() { method ProcessRecordAsync (line 58) | protected override Task ProcessRecordAsync() { method EndProcessingAsync (line 73) | protected override Task EndProcessingAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertFromMsgToEml.cs class CmdletConvertFromMsgToEml (line 15) | [Cmdlet(VerbsData.ConvertFrom, "MsgToEml")] method BeginProcessingAsync (line 43) | protected override Task BeginProcessingAsync() { method ProcessRecordAsync (line 53) | protected override Task ProcessRecordAsync() { method EndProcessingAsync (line 68) | protected override Task EndProcessingAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertFromOAuth2Credential.cs class CmdletConvertFromOAuth2Credential (line 13) | [Cmdlet(VerbsData.ConvertFrom, "OAuth2Credential")] method ProcessRecord (line 25) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertToGraphCertificateCredential.cs class CmdletConvertToGraphCertificateCredential (line 24) | [Cmdlet(VerbsData.ConvertTo, "GraphCertificateCredential", DefaultParame... method ProcessRecordAsync (line 84) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertToGraphCredential.cs class CmdletConvertToGraphCredential (line 24) | [Cmdlet(VerbsData.ConvertTo, "GraphCredential", DefaultParameterSetName ... method ProcessRecord (line 84) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertToMailgunCredential.cs class CmdletConvertToMailgunCredential (line 20) | [Cmdlet(VerbsData.ConvertTo, "MailgunCredential", DefaultParameterSetNam... method ProcessRecord (line 53) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertToOAuth2Credential.cs class CmdletConvertToOAuth2Credential (line 24) | [Cmdlet(VerbsData.ConvertTo, "OAuth2Credential", DefaultParameterSetName... method ProcessRecord (line 63) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletConvertToSendGridCredential.cs class CmdletConvertToSendGridCredential (line 24) | [Cmdlet(VerbsData.ConvertTo, "SendGridCredential", DefaultParameterSetNa... method ProcessRecord (line 57) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletDisconnectEmailGraph.cs class CmdletDisconnectEmailGraph (line 22) | [Cmdlet(VerbsCommunications.Disconnect, "EmailGraph")] method ProcessRecordAsync (line 32) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletDisconnectIMAP.cs class CmdletDisconnectIMAP (line 18) | [Cmdlet(VerbsCommunications.Disconnect, "IMAP")] method ProcessRecordAsync (line 30) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletDisconnectPOP3.cs class CmdletDisconnectPOP3 (line 20) | [Cmdlet(VerbsCommunications.Disconnect, "POP3")] method ProcessRecordAsync (line 32) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetDmarcReport.cs class CmdletGetDmarcReport (line 12) | [Cmdlet(VerbsCommon.Get, "DmarcReport")] method ProcessRecordAsync (line 79) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailDeliveryMatch.cs class CmdletGetEmailDeliveryMatch (line 13) | [Cmdlet(VerbsCommon.Get, "EmailDeliveryMatch")] method ProcessRecordAsync (line 74) | protected override async Task ProcessRecordAsync() FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailDeliveryStatus.cs class CmdletGetEmailDeliveryStatus (line 13) | [Cmdlet(VerbsCommon.Get, "EmailDeliveryStatus")] method ProcessRecordAsync (line 87) | protected override async Task ProcessRecordAsync() FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailGraphFolder.cs class CmdletGetEmailGraphFolder (line 26) | [Cmdlet(VerbsCommon.Get, "EmailGraphFolder")] method ProcessRecordAsync (line 77) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 91) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 125) | private Task ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailGraphMessage.cs class CmdletGetEmailGraphMessage (line 15) | [Cmdlet(VerbsCommon.Get, "EmailGraphMessage", SupportsShouldProcess = tr... method ProcessRecordAsync (line 143) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 162) | private async Task ProcessGraphAsync(GraphCredential cred, string user... method ProcessMgGraph (line 214) | private Task ProcessMgGraph(string userPrincipalName) { method BuildFilter (line 239) | private string BuildFilter(string? rawFilter) { FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailGraphMessageAttachment.cs class CmdletGetEmailGraphMessageAttachment (line 23) | [Cmdlet(VerbsCommon.Get, "EmailGraphMessageAttachment")] method ProcessRecordAsync (line 85) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailGraphMessageMime.cs class CmdletGetEmailGraphMessageMime (line 9) | [Cmdlet(VerbsCommon.Get, "EmailGraphMessageMime")] method ProcessRecordAsync (line 29) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetEmailPendingMessage.cs class CmdletGetEmailPendingMessage (line 9) | [Cmdlet(VerbsCommon.Get, "EmailPendingMessage")] method ProcessRecordAsync (line 18) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetGmailMessage.cs class CmdletGetGmailMessage (line 10) | [Cmdlet(VerbsCommon.Get, "GmailMessage")] method ProcessRecordAsync (line 48) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetGmailThread.cs class CmdletGetGmailThread (line 10) | [Cmdlet(VerbsCommon.Get, "GmailThread")] method ProcessRecordAsync (line 49) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetGraphEvent.cs class CmdletGetGraphEvent (line 11) | [Cmdlet(VerbsCommon.Get, "GraphEvent")] method ProcessRecordAsync (line 67) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 76) | private async Task ProcessGraphAsync(GraphCredential cred) { FILE: Sources/Mailozaurr.PowerShell/CmdletGetGraphInboxRule.cs class CmdletGetGraphInboxRule (line 13) | [Cmdlet(VerbsCommon.Get, "GraphInboxRule")] method ProcessRecordAsync (line 65) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 79) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 108) | private Task ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetGraphMailboxPermission.cs class CmdletGetGraphMailboxPermission (line 11) | [Cmdlet(VerbsCommon.Get, "GraphMailboxPermission")] method ProcessRecordAsync (line 47) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 62) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 89) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetGraphMailboxStatistics.cs class CmdletGetGraphMailboxStatistics (line 12) | [Cmdlet(VerbsCommon.Get, "GraphMailboxStatistics")] method ProcessRecordAsync (line 51) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 61) | private async Task ProcessGraphAsync(GraphCredential cred) { FILE: Sources/Mailozaurr.PowerShell/CmdletGetIMAPFolder.cs class CmdletGetIMAPFolder (line 22) | [Cmdlet(VerbsCommon.Get, "IMAPFolder")] method ProcessRecordAsync (line 54) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetIMAPMessage.cs class CmdletGetIMAPMessage (line 28) | [Cmdlet( method ProcessRecordAsync (line 138) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetMimeMessageContent.cs class CmdletGetMimeMessageContent (line 9) | [Cmdlet(VerbsCommon.Get, "MimeMessageContent")] method ProcessRecord (line 18) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetPOP3Message.cs class CmdletGetPOP3Message (line 24) | [Cmdlet(VerbsCommon.Get, "POP3Message", SupportsShouldProcess = true, Co... method ProcessRecordAsync (line 103) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletGetSmtpConnectionPool.cs class CmdletGetSmtpConnectionPool (line 14) | [Cmdlet(VerbsCommon.Get, "SmtpConnectionPool")] method ProcessRecordAsync (line 26) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletImportMailFile.cs class CmdletImportMailFile (line 23) | [Cmdlet(VerbsData.Import, "MailFile")] method ProcessRecordAsync (line 37) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletMoveGraphFolder.cs class CmdletMoveGraphFolder (line 12) | [Cmdlet(VerbsCommon.Move, "GraphFolder", SupportsShouldProcess = true, C... method ProcessRecordAsync (line 66) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 84) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 121) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletMoveGraphMessage.cs class CmdletMoveGraphMessage (line 12) | [Cmdlet(VerbsCommon.Move, "GraphMessage", SupportsShouldProcess = true, ... method ProcessRecordAsync (line 77) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 98) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 137) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletMoveIMAPFolder.cs class CmdletMoveIMAPFolder (line 11) | [Cmdlet(VerbsCommon.Move, "IMAPFolder", SupportsShouldProcess = true, Co... method ProcessRecordAsync (line 38) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletMoveIMAPMessage.cs class CmdletMoveIMAPMessage (line 22) | [Cmdlet(VerbsCommon.Move, "IMAPMessage", SupportsShouldProcess = true, C... method ProcessRecordAsync (line 53) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphEvent.cs class CmdletNewGraphEvent (line 10) | [Cmdlet(VerbsCommon.New, "GraphEvent", SupportsShouldProcess = true, Con... method ProcessRecordAsync (line 63) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 72) | private async Task ProcessGraphAsync(GraphCredential cred) { FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphEventBuilder.cs class CmdletNewGraphEventBuilder (line 10) | [Cmdlet(VerbsCommon.New, "GraphEventBuilder")] method ProcessRecord (line 65) | protected override void ProcessRecord() FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphInboxRule.cs class CmdletNewGraphInboxRule (line 16) | [Cmdlet(VerbsCommon.New, "GraphInboxRule", SupportsShouldProcess = true,... method ProcessRecordAsync (line 160) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 175) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 221) | private void ProcessMgGraph() { method BuildFromParams (line 248) | private GraphInboxRule BuildFromParams() { FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphInboxRuleBuilder.cs class CmdletNewGraphInboxRuleBuilder (line 10) | [Cmdlet(VerbsCommon.New, "GraphInboxRuleBuilder")] method ProcessRecord (line 95) | protected override void ProcessRecord() FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphInboxRuleObject.cs class CmdletNewGraphInboxRuleObject (line 11) | [Cmdlet(VerbsCommon.New, "GraphInboxRuleObject")] method ProcessRecord (line 102) | protected override void ProcessRecord() FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphMailboxPermissionBuilder.cs class CmdletNewGraphMailboxPermissionBuilder (line 9) | [Cmdlet(VerbsCommon.New, "GraphMailboxPermissionBuilder")] method ProcessRecord (line 39) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletNewGraphMailboxPermissionObject.cs class CmdletNewGraphMailboxPermissionObject (line 9) | [Cmdlet(VerbsCommon.New, "GraphMailboxPermissionObject")] method ProcessRecord (line 45) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletNewTemporaryMailCrypto.cs class CmdletNewTemporaryMailCrypto (line 9) | [Cmdlet(VerbsCommon.New, "TemporaryMailCrypto")] method ProcessRecord (line 53) | protected override void ProcessRecord() FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveEmailPendingMessage.cs class CmdletRemoveEmailPendingMessage (line 9) | [Cmdlet(VerbsCommon.Remove, "EmailPendingMessage", SupportsShouldProcess... method ProcessRecordAsync (line 21) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGmailMessage.cs class CmdletRemoveGmailMessage (line 9) | [Cmdlet(VerbsCommon.Remove, "GmailMessage", SupportsShouldProcess = true... method ProcessRecordAsync (line 34) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGraphEvent.cs class CmdletRemoveGraphEvent (line 10) | [Cmdlet(VerbsCommon.Remove, "GraphEvent", SupportsShouldProcess = true, ... method ProcessRecordAsync (line 53) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 62) | private async Task ProcessGraphAsync(GraphCredential cred) { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGraphFolder.cs class CmdletRemoveGraphFolder (line 11) | [Cmdlet(VerbsCommon.Remove, "GraphFolder", SupportsShouldProcess = true,... method ProcessRecordAsync (line 58) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 75) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 111) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGraphInboxRule.cs class CmdletRemoveGraphInboxRule (line 12) | [Cmdlet(VerbsCommon.Remove, "GraphInboxRule", SupportsShouldProcess = tr... method ProcessRecordAsync (line 62) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 79) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 112) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGraphMailboxPermission.cs class CmdletRemoveGraphMailboxPermission (line 13) | [Cmdlet(VerbsCommon.Remove, "GraphMailboxPermission", SupportsShouldProc... method ProcessRecordAsync (line 92) | protected override async Task ProcessRecordAsync() { method ProcessCsvAsync (line 132) | private async Task ProcessCsvAsync(GraphCredential cred) { method ProcessFilterAsync (line 143) | private async Task ProcessFilterAsync(GraphCredential cred) { method ProcessGraphAsync (line 154) | private async Task ProcessGraphAsync(GraphCredential cred, object perm... method ProcessMgGraph (line 191) | private void ProcessMgGraph() { method InvokeMgGraph (line 216) | private void InvokeMgGraph(string id) { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGraphMessage.cs class CmdletRemoveGraphMessage (line 11) | [Cmdlet(VerbsCommon.Remove, "GraphMessage", SupportsShouldProcess = true... method ProcessRecordAsync (line 57) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 74) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 110) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveGraphMessageAttachment.cs class CmdletRemoveGraphMessageAttachment (line 8) | [Cmdlet(VerbsCommon.Remove, "GraphMessageAttachment", SupportsShouldProc... method ProcessRecord (line 19) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveIMAPFolder.cs class CmdletRemoveIMAPFolder (line 11) | [Cmdlet(VerbsCommon.Remove, "IMAPFolder", SupportsShouldProcess = true, ... method ProcessRecordAsync (line 30) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveIMAPMessage.cs class CmdletRemoveIMAPMessage (line 13) | [Cmdlet(VerbsCommon.Remove, "IMAPMessage", SupportsShouldProcess = true,... method ProcessRecordAsync (line 29) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemoveIMAPMessageAttachment.cs class CmdletRemoveIMAPMessageAttachment (line 9) | [Cmdlet(VerbsCommon.Remove, "IMAPMessageAttachment", SupportsShouldProce... method ProcessRecord (line 20) | protected override void ProcessRecord() { method RemoveMimeAttachments (line 32) | private static void RemoveMimeAttachments(MimeEntity? entity) { FILE: Sources/Mailozaurr.PowerShell/CmdletRemovePOP3Message.cs class CmdletRemovePOP3Message (line 11) | [Cmdlet(VerbsCommon.Remove, "POP3Message", SupportsShouldProcess = true,... method ProcessRecordAsync (line 23) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletRemovePOP3MessageAttachment.cs class CmdletRemovePOP3MessageAttachment (line 9) | [Cmdlet(VerbsCommon.Remove, "POP3MessageAttachment", SupportsShouldProce... method ProcessRecord (line 20) | protected override void ProcessRecord() { method RemoveMimeAttachments (line 32) | private static void RemoveMimeAttachments(MimeEntity? entity) { FILE: Sources/Mailozaurr.PowerShell/CmdletRenameGraphFolder.cs class CmdletRenameGraphFolder (line 12) | [Cmdlet("Rename", "GraphFolder", SupportsShouldProcess = true, ConfirmIm... method ProcessRecordAsync (line 60) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 77) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 113) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletRenameIMAPFolder.cs class CmdletRenameIMAPFolder (line 11) | [Cmdlet("Rename", "IMAPFolder", SupportsShouldProcess = true, ConfirmImp... method ProcessRecordAsync (line 32) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSaveGmailMessageAttachment.cs class CmdletSaveGmailMessageAttachment (line 10) | [Cmdlet(VerbsData.Save, "GmailMessageAttachment")] method ProcessRecordAsync (line 42) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSaveGraphMessage.cs class CmdletSaveGraphMessage (line 18) | [Cmdlet(VerbsData.Save, "GraphMessage")] method ProcessRecord (line 36) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletSaveGraphMessageAttachment.cs class CmdletSaveGraphMessageAttachment (line 9) | [Cmdlet(VerbsData.Save, "GraphMessageAttachment")] method ProcessRecord (line 28) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletSaveIMAPMessage.cs class CmdletSaveIMAPMessage (line 25) | [Cmdlet(VerbsData.Save, "IMAPMessage")] method ProcessRecordAsync (line 57) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSaveIMAPMessageAttachment.cs class CmdletSaveIMAPMessageAttachment (line 13) | [Cmdlet(VerbsData.Save, "IMAPMessageAttachment")] method ProcessRecordAsync (line 44) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSaveMimeMessage.cs class CmdletSaveMimeMessage (line 9) | [Cmdlet(VerbsData.Save, "MimeMessage")] method ProcessRecord (line 21) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletSavePOP3Message.cs class CmdletSavePOP3Message (line 23) | [Cmdlet(VerbsData.Save, "POP3Message")] method ProcessRecordAsync (line 49) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSavePOP3MessageAttachment.cs class CmdletSavePOP3MessageAttachment (line 11) | [Cmdlet(VerbsData.Save, "POP3MessageAttachment")] method ProcessRecordAsync (line 36) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSearchGraphMailbox.cs class CmdletSearchGraphMailbox (line 11) | [Cmdlet(VerbsCommon.Search, "GraphMailbox")] method ProcessRecordAsync (line 58) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSearchIMAPMailbox.cs class CmdletSearchIMAPMailbox (line 12) | [Cmdlet(VerbsCommon.Search, "IMAPMailbox")] method ProcessRecordAsync (line 99) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSearchPOP3Mailbox.cs class CmdletSearchPOP3Mailbox (line 11) | [Cmdlet(VerbsCommon.Search, "POP3Mailbox")] method ProcessRecordAsync (line 86) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSendEmailMessage.Parameters.cs class CmdletSendEmailMessage (line 9) | public sealed partial class CmdletSendEmailMessage : PSCmdlet FILE: Sources/Mailozaurr.PowerShell/CmdletSendEmailMessage.Process.cs class CmdletSendEmailMessage (line 12) | public sealed partial class CmdletSendEmailMessage : PSCmdlet method BeginProcessing (line 26) | protected override void BeginProcessing() { method ProcessRecord (line 62) | protected override void ProcessRecord() { method ProcessSendGrid (line 92) | private void ProcessSendGrid(string fromEmail, string fromName) { method ProcessMailgun (line 132) | private void ProcessMailgun(string fromEmail, string fromName) { method ProcessSes (line 171) | private void ProcessSes(string fromEmail, string fromName) { method ProcessGmail (line 214) | private void ProcessGmail(string fromEmail, string fromName) { method ProcessGraph (line 260) | private void ProcessGraph(string fromEmail, string fromName) { method ProcessMgGraphRequest (line 364) | private async Task ProcessMgGraphRequest(string fromEmail, string from... method ProcessSmtp (line 431) | private void ProcessSmtp(string fromEmail, string fromName) { method InvokeMgGraphRequest (line 588) | private void InvokeMgGraphRequest(string uri, EmailAction action, stri... method InvokeMgGraphRequestPUT (line 619) | private async Task InvokeMgGraphRequestPUT(string uri, EmailAction act... method InvokeMgGraphRequestPOST (line 656) | private string InvokeMgGraphRequestPOST(string uri, EmailAction action... method InvokeMgGraphRequestPOST1 (line 702) | private string InvokeMgGraphRequestPOST1(string uri, EmailAction actio... method ConvertToAttachmentDescriptors (line 747) | private static List? ConvertToAttachmentDescript... method FilterExistingPaths (line 764) | private object[]? FilterExistingPaths(object[]? paths, string paramete... method EndProcessing (line 811) | protected override void EndProcessing() FILE: Sources/Mailozaurr.PowerShell/CmdletSendEmailMessage.cs class CmdletSendEmailMessage (line 37) | [Cmdlet(VerbsCommunications.Send, "EmailMessage", DefaultParameterSetNam... FILE: Sources/Mailozaurr.PowerShell/CmdletSendEmailPendingMessage.cs class CmdletSendEmailPendingMessage (line 14) | [Cmdlet(VerbsCommunications.Send, "EmailPendingMessage", SupportsShouldP... method ProcessRecordAsync (line 45) | protected override async Task ProcessRecordAsync() { method NormalizeMessageIds (line 87) | private static IReadOnlyCollection? NormalizeMessageIds(string... class CmdletPendingMessageObserver (line 101) | private sealed class CmdletPendingMessageObserver : IPendingMessagePro... method CmdletPendingMessageObserver (line 104) | internal CmdletPendingMessageObserver(CmdletSendEmailPendingMessage ... method MessageSkipped (line 108) | public void MessageSkipped(PendingMessageRecord record, PendingMessa... method MessageAttemptStarted (line 116) | public void MessageAttemptStarted(PendingMessageRecord record, int a... method MessageSent (line 120) | public void MessageSent(PendingMessageRecord record, int attempt, Ti... method MessageFailed (line 124) | public void MessageFailed( method MessageDropped (line 139) | public void MessageDropped( class FilteredPendingMessageRepository (line 152) | private sealed class FilteredPendingMessageRepository : IPendingMessag... method FilteredPendingMessageRepository (line 159) | internal FilteredPendingMessageRepository( method SaveAsync (line 174) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 177) | public async Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 199) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 202) | public async IAsyncEnumerable GetAllAsync( method RemoveAsync (line 230) | public Task RemoveAsync(string messageId, CancellationToken cancella... method ContainsMessageId (line 233) | private bool ContainsMessageId(string? id) { FILE: Sources/Mailozaurr.PowerShell/CmdletSendGmailMessage.cs class CmdletSendGmailMessage (line 15) | [Cmdlet(VerbsCommunications.Send, "GmailMessage", SupportsShouldProcess ... method ProcessRecordAsync (line 76) | protected override async Task ProcessRecordAsync() { method ConvertAttachments (line 109) | private static List? ConvertAttachments(object[]... FILE: Sources/Mailozaurr.PowerShell/CmdletSetGraphEvent.cs class CmdletSetGraphEvent (line 10) | [Cmdlet(VerbsCommon.Set, "GraphEvent", SupportsShouldProcess = true)] method ProcessRecordAsync (line 61) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 70) | private async Task ProcessGraphAsync(GraphCredential cred) { FILE: Sources/Mailozaurr.PowerShell/CmdletSetGraphInboxRule.cs class CmdletSetGraphInboxRule (line 16) | [Cmdlet(VerbsCommon.Set, "GraphInboxRule", SupportsShouldProcess = true)] method ProcessRecordAsync (line 80) | protected override Task ProcessRecordAsync() method ProcessGraphAsync (line 98) | private async Task ProcessGraphAsync(GraphCredential cred) method ProcessMgGraph (line 147) | private void ProcessMgGraph() FILE: Sources/Mailozaurr.PowerShell/CmdletSetGraphMessage.cs class CmdletSetGraphMessage (line 12) | [Cmdlet(VerbsCommon.Set, "GraphMessage", SupportsShouldProcess = true, C... method ProcessRecordAsync (line 76) | protected override Task ProcessRecordAsync() { method ProcessGraphAsync (line 97) | private async Task ProcessGraphAsync(GraphCredential cred) { method ProcessMgGraph (line 136) | private void ProcessMgGraph() { FILE: Sources/Mailozaurr.PowerShell/CmdletSetIMAPFolder.cs class CmdletSetIMAPFolder (line 11) | [Cmdlet(VerbsCommon.Set, "IMAPFolder", SupportsShouldProcess = true, Con... method ProcessRecordAsync (line 29) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSetIMAPMessage.cs class CmdletSetIMAPMessage (line 11) | [Cmdlet(VerbsCommon.Set, "IMAPMessage", SupportsShouldProcess = true, Co... method ProcessRecordAsync (line 37) | protected override async Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletSetPOP3Message.cs class CmdletSetPOP3Message (line 10) | [Cmdlet(VerbsCommon.Set, "POP3Message", SupportsShouldProcess = true, Co... method ProcessRecordAsync (line 32) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletTestEmailAddress.cs class CmdletTestEmailAddress (line 27) | [Cmdlet(VerbsDiagnostic.Test, "EmailAddress")] method BeginProcessingAsync (line 55) | protected override Task BeginProcessingAsync() { method ProcessRecordAsync (line 65) | protected override Task ProcessRecordAsync() { method EndProcessingAsync (line 82) | protected override Task EndProcessingAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletTestMimeMessageSignature.cs class CmdletTestMimeMessageSignature (line 10) | [Cmdlet(VerbsDiagnostic.Test, "MimeMessageSignature", DefaultParameterSe... method ProcessRecord (line 27) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletTestSmtpConnection.cs class CmdletTestSmtpConnection (line 19) | [Cmdlet(VerbsDiagnostic.Test, "SmtpConnection")] method ProcessRecordAsync (line 43) | protected override Task ProcessRecordAsync() { FILE: Sources/Mailozaurr.PowerShell/CmdletUnprotectMimeMessage.cs class CmdletUnprotectMimeMessage (line 10) | [Cmdlet(VerbsSecurity.Unprotect, "MimeMessage")] method ProcessRecord (line 31) | protected override void ProcessRecord() { FILE: Sources/Mailozaurr.PowerShell/CmdletWaitGraphMessage.cs class CmdletWaitGraphMessage (line 17) | [Cmdlet(VerbsLifecycle.Wait, "GraphMessage")] method ProcessRecordAsync (line 66) | protected override async Task ProcessRecordAsync() { method OnMessageArrived (line 89) | private void OnMessageArrived(object? sender, System.Collections.Gener... method EndProcessingAsync (line 107) | protected override Task EndProcessingAsync() { method Dispose (line 118) | public new void Dispose() { method StopProcessing (line 128) | protected override void StopProcessing() { FILE: Sources/Mailozaurr.PowerShell/CmdletWaitIMAPMessage.cs class CmdletWaitIMAPMessage (line 23) | [Cmdlet(VerbsLifecycle.Wait, "IMAPMessage")] method ProcessRecordAsync (line 77) | protected override async Task ProcessRecordAsync() { method OnMessageArrived (line 112) | private void OnMessageArrived(object? sender, ImapEmailMessage message) { method EndProcessingAsync (line 130) | protected override Task EndProcessingAsync() { method Dispose (line 141) | public new void Dispose() { method StopProcessing (line 151) | protected override void StopProcessing() { FILE: Sources/Mailozaurr.PowerShell/CmdletWaitPOP3Message.cs class CmdletWaitPOP3Message (line 11) | [Cmdlet(VerbsLifecycle.Wait, "POP3Message")] method ProcessRecordAsync (line 53) | protected override async Task ProcessRecordAsync() { method OnMessageArrived (line 80) | private void OnMessageArrived(object? sender, Pop3EmailMessage message) { method EndProcessingAsync (line 98) | protected override Task EndProcessingAsync() { method Dispose (line 109) | public new void Dispose() { method StopProcessing (line 119) | protected override void StopProcessing() { FILE: Sources/Mailozaurr.PowerShell/CmdletWatchSmtpConnectionPool.cs class CmdletWatchSmtpConnectionPool (line 17) | [Cmdlet("Watch", "SmtpConnectionPool")] method ProcessRecord (line 26) | protected override void ProcessRecord() FILE: Sources/Mailozaurr.PowerShell/Communication/AsyncPSCmdlet.cs class AsyncPSCmdlet (line 12) | public abstract class AsyncPSCmdlet : PSCmdlet, IDisposable { type PipelineType (line 16) | private enum PipelineType { method BeginProcessing (line 44) | protected override void BeginProcessing() method BeginProcessingAsync (line 51) | protected virtual Task BeginProcessingAsync() method ProcessRecord (line 57) | protected override void ProcessRecord() method ProcessRecordAsync (line 64) | protected virtual Task ProcessRecordAsync() method EndProcessing (line 70) | protected override void EndProcessing() method EndProcessingAsync (line 77) | protected virtual Task EndProcessingAsync() method StopProcessing (line 83) | protected override void StopProcessing() method RunBlockInAsync (line 90) | private void RunBlockInAsync(Func task) { method ShouldProcess (line 157) | public new bool ShouldProcess(string target, string action) { method WriteObject (line 167) | public new void WriteObject(object? sendToPipeline) => WriteObject(sen... method WriteObject (line 174) | public new void WriteObject(object? sendToPipeline, bool enumerateColl... method WriteError (line 184) | public new void WriteError(ErrorRecord errorRecord) { method WriteWarning (line 193) | public new void WriteWarning(string message) { method WriteVerbose (line 202) | public new void WriteVerbose(string message) { method WriteDebug (line 211) | public new void WriteDebug(string message) { method WriteInformation (line 220) | public new void WriteInformation(InformationRecord informationRecord) { method WriteProgress (line 229) | public new void WriteProgress(ProgressRecord progressRecord) { method ThrowIfStopped (line 237) | internal void ThrowIfStopped() { method Dispose (line 246) | public void Dispose() { FILE: Sources/Mailozaurr.PowerShell/Communication/InternalLoggerPowerShell.cs class InternalLoggerPowerShell (line 9) | public class InternalLoggerPowerShell : IDisposable { method InternalLoggerPowerShell (line 28) | public InternalLoggerPowerShell(InternalLogger logger, Action?... method Logger_OnVerboseMessage (line 67) | private void Logger_OnVerboseMessage(object? sender, LogEventArgs e) { method Logger_OnDebugMessage (line 75) | private void Logger_OnDebugMessage(object? sender, LogEventArgs e) { method Logger_OnWarningMessage (line 79) | private void Logger_OnWarningMessage(object? sender, LogEventArgs e) { method Logger_OnErrorMessage (line 83) | private void Logger_OnErrorMessage(object? sender, LogEventArgs e) { method GetNextActivityId (line 92) | private int GetNextActivityId() { method Logger_OnProgressMessage (line 96) | private void Logger_OnProgressMessage(object? sender, LogEventArgs e) { method Logger_OnInformationMessage (line 119) | private void Logger_OnInformationMessage(object? sender, LogEventArgs ... method WriteVerbose (line 123) | private void WriteVerbose(string message) { method WriteVerbose (line 132) | private void WriteVerbose(string message, object[] eArgs) { method WriteDebug (line 137) | private void WriteDebug(string message) { method WriteInformation (line 141) | private void WriteInformation(string message) { method WriteWarning (line 146) | private void WriteWarning(string message) { method WriteError (line 150) | private void WriteError(ErrorRecord errorRecord) { method WriteProgress (line 154) | private void WriteProgress(ProgressRecord progressRecord) { method Dispose (line 159) | public void Dispose() { FILE: Sources/Mailozaurr.PowerShell/Communication/LogEmitter.cs class LogEmitter (line 9) | public static class LogEmitter { method EmitLogs (line 15) | public static void EmitLogs(LogCollector collector, PSCmdlet cmdlet) { FILE: Sources/Mailozaurr.PowerShell/CredentialHelpers.cs class CredentialHelpers (line 11) | public static class CredentialHelpers { method ToSecureString (line 17) | public static SecureString ToSecureString(string? s) { method ToPlainText (line 37) | public static string ToPlainText(SecureString? secureString) { method ResolveSecretFromVault (line 51) | public static SecureString ResolveSecretFromVault(string secretName, s... FILE: Sources/Mailozaurr.PowerShell/Definitions/ConnectionInfoBase.cs class ConnectionInfoBase (line 6) | public class ConnectionInfoBase { FILE: Sources/Mailozaurr.PowerShell/Definitions/DefaultSessions.cs class DefaultSessions (line 11) | public static class DefaultSessions { FILE: Sources/Mailozaurr.PowerShell/Definitions/EmailProtocol.cs type EmailProtocol (line 6) | public enum EmailProtocol FILE: Sources/Mailozaurr.PowerShell/Definitions/EmlConversionResult.cs class EmlConversionResult (line 6) | public class EmlConversionResult { FILE: Sources/Mailozaurr.PowerShell/Definitions/GraphConnectionInfo.cs class GraphConnectionInfo (line 8) | public class GraphConnectionInfo : ConnectionInfoBase { FILE: Sources/Mailozaurr.PowerShell/Definitions/ImapConnectionInfo.cs class ImapConnectionInfo (line 12) | public class ImapConnectionInfo : ConnectionInfoBase { FILE: Sources/Mailozaurr.PowerShell/Definitions/MsgConversionResult.cs class MsgConversionResult (line 6) | public class MsgConversionResult { FILE: Sources/Mailozaurr.PowerShell/Definitions/PopConnectionInfo.cs class PopConnectionInfo (line 12) | public class PopConnectionInfo : ConnectionInfoBase { FILE: Sources/Mailozaurr.PowerShell/OnImportAndRemove.cs class OnModuleImportAndRemove (line 12) | public class OnModuleImportAndRemove : IModuleAssemblyInitializer, IModu... method OnImport (line 16) | public void OnImport() { method OnRemove (line 31) | public void OnRemove(PSModuleInfo module) { method MyResolveEventHandler (line 48) | private static Assembly? MyResolveEventHandler(object? sender, Resolve... class LoadContext (line 78) | private sealed class LoadContext : AssemblyLoadContext { method LoadContext (line 81) | public LoadContext(string assemblyDir) method Load (line 86) | protected override Assembly? Load(AssemblyName assemblyName) { method ResolveAlc (line 97) | private static Assembly? ResolveAlc(AssemblyLoadContext defaultAlc, As... method IsSatisfyingAssembly (line 106) | private static bool IsSatisfyingAssembly(AssemblyName requiredAssembly... method IsNetFramework (line 122) | private bool IsNetFramework() { method IsNetCore (line 127) | private bool IsNetCore() { method IsNet5OrHigher (line 135) | private bool IsNet5OrHigher() { FILE: Sources/Mailozaurr.Tests/AdditionalCoverageTests.cs class AdditionalCoverageTests (line 12) | public class AdditionalCoverageTests class FakeFolder (line 14) | private class FakeFolder : MessageFlagSetter.IImapFolder method AddFlagsAsync (line 18) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 23) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... method MessageFlagSetter_AddOrRemoveFlags (line 30) | [Fact] method MessageFlagSetter_Pop3ReadState (line 41) | [Fact] method MimeKitUtils_SavesAttachments (line 49) | [Fact] method EmailMessage_ConvertMissingFiles (line 66) | [Fact] method LoggingMessages_PropertyDelegates (line 81) | [Fact] method InternalLogger_WarningEventRaised (line 90) | [Fact] FILE: Sources/Mailozaurr.Tests/ApplicationBuilderTests.cs class ApplicationBuilderTests (line 6) | public sealed class ApplicationBuilderTests { method BuildCreatesDefaultApplicationWithBuiltInReadAndSendHandlers (line 7) | [Fact] method BuildHonorsDisabledImapHandlerOption (line 49) | [Fact] method BuildUsesInjectedHandlersAndFactories (line 72) | [Fact] method CreateTemporaryDirectory (line 99) | private static string CreateTemporaryDirectory() { class FakeImapSessionFactory (line 105) | private sealed class FakeImapSessionFactory : IImapSessionFactory { method ConnectAsync (line 106) | public Task ConnectAsync(MailProfile profile, Cancellati... class FakeGraphSessionFactory (line 110) | private sealed class FakeGraphSessionFactory : IGraphSessionFactory { method ConnectAsync (line 111) | public Task ConnectAsync(MailProfile profile, Cancella... class FakeGmailSessionFactory (line 119) | private sealed class FakeGmailSessionFactory : IGmailSessionFactory { method ConnectAsync (line 120) | public Task ConnectAsync(MailProfile profile, Cancella... class FakeSmtpSessionFactory (line 128) | private sealed class FakeSmtpSessionFactory : ISmtpSessionFactory { method ConnectAsync (line 129) | public Task ConnectAsync(MailProfile profile, CancellationToke... class FakeReadHandler (line 133) | private sealed class FakeReadHandler : IMailReadHandler { method FakeReadHandler (line 134) | public FakeReadHandler(MailProfileKind kind) { method GetFoldersAsync (line 140) | public Task> GetFoldersAsync(MailProfile pr... method GetMessageAsync (line 143) | public Task GetMessageAsync(MailProfile profile, Get... method SaveAttachmentAsync (line 146) | public Task SaveAttachmentAsync(MailProfile profile... method SearchAsync (line 149) | public Task> SearchAsync(MailProfile p... class FakeSendHandler (line 153) | private sealed class FakeSendHandler : IMailSendHandler { method FakeSendHandler (line 154) | public FakeSendHandler(MailProfileKind kind) { method SendAsync (line 160) | public Task SendAsync(MailProfile profile, SendMessageRe... class FakeMessageActionHandler (line 164) | private sealed class FakeMessageActionHandler : IMailMessageActionHand... method FakeMessageActionHandler (line 165) | public FakeMessageActionHandler(MailProfileKind kind) { method SetReadStateAsync (line 171) | public Task SetReadStateAsync(MailProfile profi... method SetFlaggedStateAsync (line 174) | public Task SetFlaggedStateAsync(MailProfile pr... method MoveAsync (line 177) | public Task MoveAsync(MailProfile profile, Move... method DeleteAsync (line 180) | public Task DeleteAsync(MailProfile profile, De... FILE: Sources/Mailozaurr.Tests/ApplicationCapabilitiesTests.cs class ApplicationCapabilitiesTests (line 5) | public sealed class ApplicationCapabilitiesTests { method CatalogExposesExpectedCapabilities (line 6) | [Theory] method ProfileFallsBackToDefaultCapabilitiesWhenOverrideIsMissing (line 20) | [Fact] method OperationResultHelpersProduceExpectedStatus (line 35) | [Fact] FILE: Sources/Mailozaurr.Tests/ApplicationDraftServiceTests.cs class ApplicationDraftServiceTests (line 5) | public sealed class ApplicationDraftServiceTests { method SaveAsyncRejectsDraftWhenProfileIsMissing (line 6) | [Fact] method SaveAsyncStoresDraftWhenProfileExists (line 24) | [Fact] method GetDraftsCompactReturnsLightweightProjection (line 51) | [Fact] method CreateTemporaryFilePath (line 79) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/ApplicationDraftStoreTests.cs class ApplicationDraftStoreTests (line 5) | public sealed class ApplicationDraftStoreTests { method FileDraftStoreRoundTripsDrafts (line 6) | [Fact] method CreateTemporaryFilePath (line 33) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/ApplicationFolderAliasServiceTests.cs class ApplicationFolderAliasServiceTests (line 5) | public sealed class ApplicationFolderAliasServiceTests { method FolderAliasServiceResolvesKnownAliasesFromFolderMetadata (line 6) | [Fact] method FolderAliasServiceFallsBackToAliasOnlyWhenFolderLookupFails (line 30) | [Fact] method FolderAliasServiceResolvesExplicitFolderTargetsWithoutAliasLookup (line 51) | [Fact] method FolderAliasServiceResolvesKnownAliasesToEffectiveFolderTargets (line 72) | [Fact] method CreateTemporaryFilePath (line 96) | private static string CreateTemporaryFilePath(string fileName) { class FakeReadService (line 102) | private sealed class FakeReadService : IMailReadService { method GetFoldersAsync (line 103) | public Task> GetFoldersAsync(MailFolderQuer... method GetFoldersCompactAsync (line 131) | public Task> GetFoldersCompactAsync(... method SearchAsync (line 134) | public Task> SearchAsync(MailSearchReq... method SearchCompactAsync (line 137) | public Task> SearchCompactAsync... method GetAttachmentsAsync (line 140) | public Task> GetAttachmentsAsync(Li... method GetMessageAsync (line 143) | public Task GetMessageAsync(GetMessageRequest reques... method GetMessagesAsync (line 146) | public Task> GetMessagesAsync(GetMessag... method GetMessageCompactAsync (line 149) | public Task GetMessageCompactAsync(GetMessage... method GetMessagesCompactAsync (line 152) | public Task> GetMessagesCompactA... method SaveAttachmentsAsync (line 155) | public Task SaveAttachmentsAsync(SaveAttachme... method SaveAttachmentsManyAsync (line 158) | public Task SaveAttachmentsManyAsync(Save... method SaveAttachmentAsync (line 161) | public Task SaveAttachmentAsync(SaveAttachmentReque... class ThrowingReadService (line 165) | private sealed class ThrowingReadService : IMailReadService { method GetFoldersAsync (line 166) | public Task> GetFoldersAsync(MailFolderQuer... method GetFoldersCompactAsync (line 169) | public Task> GetFoldersCompactAsync(... method SearchAsync (line 172) | public Task> SearchAsync(MailSearchReq... method SearchCompactAsync (line 175) | public Task> SearchCompactAsync... method GetAttachmentsAsync (line 178) | public Task> GetAttachmentsAsync(Li... method GetMessageAsync (line 181) | public Task GetMessageAsync(GetMessageRequest reques... method GetMessagesAsync (line 184) | public Task> GetMessagesAsync(GetMessag... method GetMessageCompactAsync (line 187) | public Task GetMessageCompactAsync(GetMessage... method GetMessagesCompactAsync (line 190) | public Task> GetMessagesCompactA... method SaveAttachmentsAsync (line 193) | public Task SaveAttachmentsAsync(SaveAttachme... method SaveAttachmentsManyAsync (line 196) | public Task SaveAttachmentsManyAsync(Save... method SaveAttachmentAsync (line 199) | public Task SaveAttachmentAsync(SaveAttachmentReque... FILE: Sources/Mailozaurr.Tests/ApplicationGmailMailReadHandlerTests.cs class ApplicationGmailMailReadHandlerTests (line 5) | public sealed class ApplicationGmailMailReadHandlerTests { method HandlerUsesInjectedFolderDelegate (line 6) | [Fact] method HandlerUsesInjectedSearchDelegate (line 35) | [Fact] class FakeGmailSessionFactory (line 64) | private sealed class FakeGmailSessionFactory : IGmailSessionFactory { method ConnectAsync (line 65) | public Task ConnectAsync(MailProfile profile, Cancella... FILE: Sources/Mailozaurr.Tests/ApplicationGmailMailSendHandlerTests.cs class ApplicationGmailMailSendHandlerTests (line 6) | public sealed class ApplicationGmailMailSendHandlerTests { method HandlerUsesInjectedSendDelegate (line 7) | [Fact] method HandlerReturnsQueuedResultWhenRepositoryCapturesFailedSend (line 47) | [Fact] method CreateTemporaryDirectory (line 94) | private static string CreateTemporaryDirectory() { class FakeGmailSessionFactory (line 100) | private sealed class FakeGmailSessionFactory : IGmailSessionFactory { method ConnectAsync (line 101) | public Task ConnectAsync(MailProfile profile, Cancella... FILE: Sources/Mailozaurr.Tests/ApplicationGmailSessionFactoryTests.cs class ApplicationGmailSessionFactoryTests (line 5) | public sealed class ApplicationGmailSessionFactoryTests { method FactoryUsesAccessTokenSecretWhenAvailable (line 6) | [Fact] method FactoryRefreshesAccessTokenWhenOnlyRefreshTokenIsAvailable (line 32) | [Fact] method FactoryRefreshesExpiredAccessTokenWhenRefreshTokenIsAvailable (line 74) | [Fact] class InMemorySecretStore (line 116) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 119) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 124) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 127) | public Task SetSecretAsync(string profileId, string secretName, stri... FILE: Sources/Mailozaurr.Tests/ApplicationGraphMailReadHandlerTests.cs class ApplicationGraphMailReadHandlerTests (line 5) | public sealed class ApplicationGraphMailReadHandlerTests { method HandlerUsesInjectedFolderDelegate (line 6) | [Fact] method HandlerUsesInjectedSearchDelegate (line 36) | [Fact] class FakeGraphSessionFactory (line 65) | private sealed class FakeGraphSessionFactory : IGraphSessionFactory { method ConnectAsync (line 66) | public Task ConnectAsync(MailProfile profile, Cancella... FILE: Sources/Mailozaurr.Tests/ApplicationGraphMailSendHandlerTests.cs class ApplicationGraphMailSendHandlerTests (line 5) | public sealed class ApplicationGraphMailSendHandlerTests { method HandlerUsesInjectedSendDelegate (line 6) | [Fact] method HandlerQueuesMessageWhenQueueIsPreferred (line 47) | [Fact] method HandlerQueuesScheduledSendRequests (line 87) | [Fact] class FakeGraphSessionFactory (line 133) | private sealed class FakeGraphSessionFactory : IGraphSessionFactory { method ConnectAsync (line 134) | public Task ConnectAsync(MailProfile profile, Cancella... method CreateTemporaryDirectory (line 154) | private static string CreateTemporaryDirectory() { FILE: Sources/Mailozaurr.Tests/ApplicationGraphSessionFactoryTests.cs class ApplicationGraphSessionFactoryTests (line 5) | public sealed class ApplicationGraphSessionFactoryTests { method FactoryUsesAccessTokenSecretWhenAvailable (line 6) | [Fact] method FactoryBuildsClientCredentialRequestWhenAccessTokenIsMissing (line 32) | [Fact] method FactoryUsesSilentInteractiveRefreshWhenStoredTokenIsExpired (line 68) | [Fact] class InMemorySecretStore (line 106) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 109) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 114) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 117) | public Task SetSecretAsync(string profileId, string secretName, stri... FILE: Sources/Mailozaurr.Tests/ApplicationImapMailReadHandlerTests.cs class ApplicationImapMailReadHandlerTests (line 6) | public sealed class ApplicationImapMailReadHandlerTests { method HandlerUsesInjectedSearchDelegate (line 7) | [Fact] method HandlerUsesInjectedAttachmentDelegate (line 38) | [Fact] class FakeImapSessionFactory (line 65) | private sealed class FakeImapSessionFactory : IImapSessionFactory { method ConnectAsync (line 66) | public Task ConnectAsync(MailProfile profile, Cancellati... FILE: Sources/Mailozaurr.Tests/ApplicationImapSessionFactoryTests.cs class ApplicationImapSessionFactoryTests (line 7) | public sealed class ApplicationImapSessionFactoryTests { method FactoryBuildsBasicAuthSessionRequestFromProfileAndSecrets (line 8) | [Fact] method FactoryUsesOAuthAccessTokenWhenConfigured (line 40) | [Fact] class InMemorySecretStore (line 67) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 70) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 75) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 78) | public Task SetSecretAsync(string profileId, string secretName, stri... FILE: Sources/Mailozaurr.Tests/ApplicationMessageActionBatchServiceTests.cs class ApplicationMessageActionBatchServiceTests (line 5) | public sealed class ApplicationMessageActionBatchServiceTests { method ExecuteAggregatesSuccessfulPlans (line 6) | [Fact] method ExecuteStopsAfterFailureWhenContinueOnErrorIsFalse (line 32) | [Fact] method CreatePlan (line 68) | private static MessageActionExecutionPlan CreatePlan(string action, st... class FakePlanService (line 79) | private sealed class FakePlanService : IMailMessageActionPlanService { method FakePlanService (line 82) | public FakePlanService(Func CreatePlanAsync(MessageActio... method ExecuteAsync (line 91) | public async Task ExecuteAsync(MessageActionExe... FILE: Sources/Mailozaurr.Tests/ApplicationMessageActionConfirmationTokensTests.cs class ApplicationMessageActionConfirmationTokensTests (line 6) | public class ApplicationMessageActionConfirmationTokensTests { method CreateDeleteTokenPreservesMessageIdCasing (line 7) | [Fact] method CreateDeleteTokenIgnoresMessageIdOrdering (line 24) | [Fact] FILE: Sources/Mailozaurr.Tests/ApplicationMessageActionPlanBatchStoreTests.cs class ApplicationMessageActionPlanBatchStoreTests (line 5) | public sealed class ApplicationMessageActionPlanBatchStoreTests { method FileActionPlanBatchStoreRoundTripsBatches (line 6) | [Fact] method CreateTemporaryFilePath (line 41) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/ApplicationMessageActionPlanRegistryServiceTests.cs class ApplicationMessageActionPlanRegistryServiceTests (line 5) | public sealed class ApplicationMessageActionPlanRegistryServiceTests { method SaveAsyncRejectsBatchWhenPlanProfileIsMissing (line 6) | [Fact] method ImportAndExecuteUsesSharedRegistryPipeline (line 40) | [Fact] method GetBatchesCompactCanFilterByPlanNames (line 80) | [Fact] method GetBatchesCompactCanFilterByProfileIds (line 142) | [Fact] method GetBatchesCompactCanFilterByActions (line 209) | [Fact] method GetBatchSummaryProvidesProfileIdsAndActionCounts (line 271) | [Fact] method GetBatchesSummaryCanSortByPlanCountDescending (line 343) | [Fact] method AppendAndRemovePlanMutateStoredBatch (line 409) | [Fact] method CloneAndReplacePlanMutateStoredBatch (line 477) | [Fact] method CreateCommonBatchBuildsAndStoresSupportedPlans (line 536) | [Fact] method CreateCommonBatchFromPreviewUsesPreviewedActionsWithoutRestatingSelection (line 632) | [Fact] method TransformCloneRewritesTargetsAndRegeneratesConfirmationTokens (line 711) | [Fact] method PreviewTransformCloneReportsChangesAndValidationState (line 840) | [Fact] method PreviewTransformCloneFailsWhenTargetProfileIsMissing (line 933) | [Fact] method TransformCloneCanLimitSelectionToSpecificPlanIndexes (line 981) | [Fact] method TransformCloneCanLimitSelectionToSpecificPlanNames (line 1068) | [Fact] method CreateTemporaryFilePath (line 1159) | private static string CreateTemporaryFilePath(string fileName) { class PassThroughPlanService (line 1165) | private sealed class PassThroughPlanService : IMailMessageActionPlanSe... method CreatePlanAsync (line 1166) | public Task CreatePlanAsync(MessageActio... method ExecuteAsync (line 1169) | public Task ExecuteAsync(MessageActionExecution... class RecordingPlanService (line 1180) | private sealed class RecordingPlanService : IMailMessageActionPlanServ... method CreatePlanAsync (line 1183) | public Task CreatePlanAsync(MessageActio... method ExecuteAsync (line 1236) | public Task ExecuteAsync(MessageActionExecution... class FakePreviewService (line 1247) | private sealed class FakePreviewService : IMailMessageActionPreviewSer... method PreviewCommonActionsAsync (line 1252) | public Task PreviewCommonActionsAsync(C... method PreviewReadStateAsync (line 1274) | public Task PreviewReadStateAsync(SetRead... method PreviewFlaggedStateAsync (line 1277) | public Task PreviewFlaggedStateAsync(SetF... method PreviewMoveAsync (line 1280) | public Task PreviewMoveAsync(MoveMessagesPrevie... method PreviewDeleteAsync (line 1283) | public Task PreviewDeleteAsync(DeleteMessages... method PreviewStandardActionsAsync (line 1286) | public Task PreviewStandardActionsAsy... FILE: Sources/Mailozaurr.Tests/ApplicationMessageActionPlanServiceTests.cs class ApplicationMessageActionPlanServiceTests (line 5) | public sealed class ApplicationMessageActionPlanServiceTests { method CreatePlanResolvesMoveDestinationAndValidatesToken (line 6) | [Fact] method CreatePlanRejectsMismatchedToken (line 46) | [Fact] method ExecutePlanDispatchesNormalizedReadStateRequest (line 75) | [Fact] method CreateTemporaryFilePath (line 110) | private static string CreateTemporaryFilePath(string fileName) { class CapturingMessageActionService (line 116) | private sealed class CapturingMessageActionService : IMailMessageActio... method SetReadStateAsync (line 119) | public Task SetReadStateAsync(SetReadStateReque... method SetFlaggedStateAsync (line 129) | public Task SetFlaggedStateAsync(SetFlaggedStat... method MoveAsync (line 137) | public Task MoveAsync(MoveMessagesRequest reque... method DeleteAsync (line 145) | public Task DeleteAsync(DeleteMessagesRequest r... class FakeFolderAliasService (line 154) | private sealed class FakeFolderAliasService : IMailFolderAliasService { method GetAliasesAsync (line 155) | public Task> GetAliasesAsync(s... method ResolveAsync (line 171) | public Task ResolveAsync(string profileI... FILE: Sources/Mailozaurr.Tests/ApplicationMessageActionPreviewServiceTests.cs class ApplicationMessageActionPreviewServiceTests (line 5) | public sealed class ApplicationMessageActionPreviewServiceTests { method PreviewReadStateNormalizesMessageIdsAndProducesToken (line 6) | [Fact] method PreviewFlaggedStateNormalizesMessageIdsAndProducesToken (line 36) | [Fact] method PreviewMoveNormalizesMessageIdsAndResolvesDestination (line 66) | [Fact] method PreviewMoveFailsWhenDestinationIsUnsupported (line 99) | [Fact] method PreviewDeleteNormalizesMessageIds (line 122) | [Fact] method PreviewDeleteFailsWhenCapabilityIsUnsupported (line 151) | [Fact] method PreviewStandardActionsCombinesArchiveTrashMoveAndDelete (line 173) | [Fact] method PreviewStandardActionsReportsUnsupportedActions (line 219) | [Fact] method PreviewCommonActionsIncludesStateAndMailboxActions (line 248) | [Fact] method CreateTemporaryFilePath (line 283) | private static string CreateTemporaryFilePath(string fileName) { class FakeFolderAliasService (line 289) | private sealed class FakeFolderAliasService : IMailFolderAliasService { method GetAliasesAsync (line 290) | public Task> GetAliasesAsync(s... method ResolveAsync (line 318) | public Task ResolveAsync(string profileI... class UnsupportedFolderAliasService (line 366) | private sealed class UnsupportedFolderAliasService : IMailFolderAliasS... method GetAliasesAsync (line 367) | public Task> GetAliasesAsync(s... method ResolveAsync (line 370) | public Task ResolveAsync(string profileI... FILE: Sources/Mailozaurr.Tests/ApplicationProfileAuthServiceTests.cs class ApplicationProfileAuthServiceTests (line 5) | public sealed class ApplicationProfileAuthServiceTests { method GetStatusAsyncReportsInteractiveGmailProfileState (line 6) | [Fact] method GetStatusAsyncReportsGraphAppOnlyState (line 48) | [Fact] method LoginGmailAsyncPersistsTokensAndProfileSettings (line 81) | [Fact] method LoginGmailAsyncSupportsClientSecretReferences (line 126) | [Fact] method LoginGraphAsyncPersistsAccessTokenAndProfileSettings (line 167) | [Fact] method RefreshAsyncRoutesToSavedGmailProfile (line 209) | [Fact] method RefreshAsyncReturnsUnsupportedForNonOauthProfiles (line 243) | [Fact] class InMemoryProfileStore (line 264) | private sealed class InMemoryProfileStore : IMailProfileStore { method InMemoryProfileStore (line 267) | public InMemoryProfileStore(IEnumerable profiles) { method GetAllAsync (line 271) | public Task> GetAllAsync(CancellationToke... method GetByIdAsync (line 274) | public Task GetByIdAsync(string profileId, Cancellatio... method RemoveAsync (line 279) | public Task RemoveAsync(string profileId, CancellationToken ca... method SaveAsync (line 282) | public Task SaveAsync(MailProfile profile, CancellationToken cancell... method CloneProfile (line 287) | private static MailProfile CloneProfile(MailProfile profile) => new() { class InMemorySecretStore (line 302) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 305) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 310) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 313) | public Task SetSecretAsync(string profileId, string secretName, stri... FILE: Sources/Mailozaurr.Tests/ApplicationProfileBootstrapServiceTests.cs class ApplicationProfileBootstrapServiceTests (line 5) | public sealed class ApplicationProfileBootstrapServiceTests { method SaveGraphProfileAsyncPersistsProfileSettingsAndSecrets (line 6) | [Fact] method SaveGraphProfileAsyncSupportsSecretReferences (line 40) | [Fact] method SaveGraphProfileAsyncRequiresAuthenticationMaterial (line 65) | [Fact] method SaveGmailProfileAsyncPersistsProfileSettingsAndSecrets (line 84) | [Fact] method SaveGmailProfileAsyncRequiresAuthenticationMaterial (line 119) | [Fact] method DiagnoseAsyncReportsMissingGmailSecrets (line 137) | [Fact] class InMemoryProfileStore (line 160) | private sealed class InMemoryProfileStore : IMailProfileStore { method GetAllAsync (line 163) | public Task> GetAllAsync(CancellationToke... method GetByIdAsync (line 166) | public Task GetByIdAsync(string profileId, Cancellatio... method RemoveAsync (line 171) | public Task RemoveAsync(string profileId, CancellationToken ca... method SaveAsync (line 174) | public Task SaveAsync(MailProfile profile, CancellationToken cancell... class InMemorySecretStore (line 180) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 183) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 188) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 191) | public Task SetSecretAsync(string profileId, string secretName, stri... FILE: Sources/Mailozaurr.Tests/ApplicationProfileConnectionServiceTests.cs class ApplicationProfileConnectionServiceTests (line 7) | public sealed class ApplicationProfileConnectionServiceTests { method TestAsyncUsesMailboxScopeByDefaultForGmail (line 8) | [Fact] method TestAsyncUsesAuthScopeWhenRequestedForGraph (line 43) | [Fact] method TestAsyncFallsBackFromSendToAuthForImap (line 77) | [Fact] class InMemoryProfileStore (line 101) | private sealed class InMemoryProfileStore : IMailProfileStore { method InMemoryProfileStore (line 104) | public InMemoryProfileStore(IEnumerable profiles) { method GetAllAsync (line 108) | public Task> GetAllAsync(CancellationToke... method GetByIdAsync (line 111) | public Task GetByIdAsync(string profileId, Cancellatio... method RemoveAsync (line 116) | public Task RemoveAsync(string profileId, CancellationToken ca... method SaveAsync (line 119) | public Task SaveAsync(MailProfile profile, CancellationToken cancell... method CloneProfile (line 124) | private static MailProfile CloneProfile(MailProfile profile) => new() { class FakeImapSessionFactory (line 139) | private sealed class FakeImapSessionFactory : IImapSessionFactory { method ConnectAsync (line 140) | public Task ConnectAsync(MailProfile profile, Cancellati... class FakeGraphSessionFactory (line 144) | private sealed class FakeGraphSessionFactory : IGraphSessionFactory { method ConnectAsync (line 145) | public Task ConnectAsync(MailProfile profile, Cancella... class FakeGmailSessionFactory (line 153) | private sealed class FakeGmailSessionFactory : IGmailSessionFactory { method ConnectAsync (line 154) | public Task ConnectAsync(MailProfile profile, Cancella... FILE: Sources/Mailozaurr.Tests/ApplicationProfileOverviewServiceTests.cs class ApplicationProfileOverviewServiceTests (line 5) | public sealed class ApplicationProfileOverviewServiceTests { method GetOverviewAggregatesCapabilitiesAuthAndReadiness (line 6) | [Fact] method GetOverviewReturnsNullWhenProfileDoesNotExist (line 45) | [Fact] method GetOverviewsReturnsAggregatedSummariesForAllProfiles (line 55) | [Fact] method GetOverviewsAppliesSharedFilters (line 89) | [Fact] method GetOverviewsSupportsReadinessSorting (line 126) | [Fact] method GetCompactOverviewsReturnsLightweightProjection (line 164) | [Fact] class FakeProfileAuthService (line 190) | private sealed class FakeProfileAuthService : IMailProfileAuthService { method GetStatusAsync (line 193) | public Task GetStatusAsync(string profileId,... method LoginGmailAsync (line 207) | public Task LoginGmailAsync(GmailPr... method LoginGraphAsync (line 210) | public Task LoginGraphAsync(GraphPr... method RefreshAsync (line 213) | public Task RefreshAsync(string pro... class InMemoryProfileStore (line 217) | private sealed class InMemoryProfileStore : IMailProfileStore { method InMemoryProfileStore (line 220) | public InMemoryProfileStore(IEnumerable profiles) { method GetAllAsync (line 224) | public Task> GetAllAsync(CancellationToke... method GetByIdAsync (line 227) | public Task GetByIdAsync(string profileId, Cancellatio... method SaveAsync (line 232) | public Task SaveAsync(MailProfile profile, CancellationToken cancell... method RemoveAsync (line 237) | public Task RemoveAsync(string profileId, CancellationToken ca... method CloneProfile (line 240) | private static MailProfile CloneProfile(MailProfile profile) => new() { class InMemorySecretStore (line 255) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 258) | public Task GetSecretAsync(string profileId, string secretN... method SetSecretAsync (line 263) | public Task SetSecretAsync(string profileId, string secretName, stri... method RemoveSecretAsync (line 268) | public Task RemoveSecretAsync(string profileId, string secretN... method CreateKey (line 271) | private static string CreateKey(string profileId, string secretName)... FILE: Sources/Mailozaurr.Tests/ApplicationProfileSecretServiceTests.cs class ApplicationProfileSecretServiceTests (line 5) | public sealed class ApplicationProfileSecretServiceTests { method SetSecretAsyncRequiresExistingProfile (line 6) | [Fact] method SetSecretAsyncPersistsSecretForExistingProfile (line 18) | [Fact] method SetSecretAsyncSupportsReferenceCopyForExistingProfile (line 40) | [Fact] method CreateTemporaryFilePath (line 72) | private static string CreateTemporaryFilePath(string fileName) { class TestCredentialProtector (line 78) | private sealed class TestCredentialProtector : ICredentialProtector { method Protect (line 79) | public string Protect(string plainText) => Convert.ToBase64String(Sy... method Unprotect (line 81) | public string Unprotect(string protectedData) { FILE: Sources/Mailozaurr.Tests/ApplicationProfileServiceTests.cs class ApplicationProfileServiceTests (line 5) | public sealed class ApplicationProfileServiceTests { method SaveAsyncReturnsValidationErrorForInvalidProfile (line 6) | [Fact] method SetDefaultAsyncMarksRequestedProfileAsDefault (line 17) | [Fact] method DeleteAsyncRemovesKnownSecretsWhenSecretStoreIsProvided (line 43) | [Fact] method CreateTemporaryFilePath (line 66) | private static string CreateTemporaryFilePath(string fileName) { class TestCredentialProtector (line 72) | private sealed class TestCredentialProtector : ICredentialProtector { method Protect (line 73) | public string Protect(string plainText) => Convert.ToBase64String(Sy... method Unprotect (line 75) | public string Unprotect(string protectedData) { FILE: Sources/Mailozaurr.Tests/ApplicationProfileStoreTests.cs class ApplicationProfileStoreTests (line 5) | public sealed class ApplicationProfileStoreTests { method FileProfileStoreRoundTripsProfiles (line 6) | [Fact] method SavingDefaultProfileClearsPreviousDefault (line 31) | [Fact] method RemoveReturnsFalseWhenProfileDoesNotExist (line 56) | [Fact] method CreateTemporaryFilePath (line 66) | private static string CreateTemporaryFilePath() { FILE: Sources/Mailozaurr.Tests/ApplicationQueueServiceTests.cs class ApplicationQueueServiceTests (line 5) | public sealed class ApplicationQueueServiceTests { method ListAsyncReturnsQueuedMessagesInScheduleOrder (line 6) | [Fact] method RemoveAsyncReturnsFailureWhenMessageDoesNotExist (line 37) | [Fact] method ProcessAsyncReturnsObserverCounts (line 50) | [Fact] method CreateTemporaryDirectory (line 81) | private static string CreateTemporaryDirectory() { FILE: Sources/Mailozaurr.Tests/ApplicationRoutingServicesTests.cs class ApplicationRoutingServicesTests (line 5) | public sealed class ApplicationRoutingServicesTests { method RoutedReadServiceDispatchesToMatchingHandler (line 6) | [Fact] method RoutedReadServiceBuildsCompactFolderProjection (line 29) | [Fact] method RoutedReadServiceBuildsCompactSearchProjection (line 52) | [Fact] method RoutedReadServiceListsAttachmentsThroughSharedMessageProjection (line 77) | [Fact] method RoutedReadServiceBuildsCompactMessageProjection (line 100) | [Fact] method RoutedReadServiceBuildsBatchCompactMessageProjection (line 126) | [Fact] method RoutedReadServiceSavesFilteredAttachmentsThroughSharedBatchWorkflow (line 151) | [Fact] method RoutedReadServiceSavesFilteredAttachmentsAcrossMultipleMessages (line 177) | [Fact] method RoutedSendServiceDispatchesToMatchingHandler (line 207) | [Fact] method RoutedMessageActionServiceDispatchesToMatchingHandler (line 235) | [Fact] method RoutedMessageActionServiceRejectsMismatchedReadStateConfirmationToken (line 258) | [Fact] method RoutedMessageActionServiceDispatchesFlaggedStateToMatchingHandler (line 285) | [Fact] method RoutedMessageActionServiceRejectsMismatchedFlaggedStateConfirmationToken (line 308) | [Fact] method RoutedMessageActionServiceCanonicalizesKnownFolderAlias (line 335) | [Fact] method RoutedMessageActionServiceResolvesKnownFolderAliasThroughSharedAliasService (line 359) | [Fact] method RoutedMessageActionServiceRejectsMismatchedMoveConfirmationToken (line 387) | [Fact] method RoutedMessageActionServiceAcceptsMatchingMoveConfirmationToken (line 415) | [Fact] method RoutedMessageActionServiceAcceptsPreviewGeneratedDeleteConfirmationTokenWithCaseDistinctIds (line 449) | [Fact] method RoutedMessageActionServiceRejectsMismatchedDeleteConfirmationToken (line 485) | [Fact] method RoutedReadServiceRejectsUnsupportedCapabilities (line 510) | [Fact] method CreateTemporaryFilePath (line 532) | private static string CreateTemporaryFilePath(string fileName) { class FakeReadHandler (line 538) | private sealed class FakeReadHandler : IMailReadHandler { method FakeReadHandler (line 539) | public FakeReadHandler(MailProfileKind kind) { method GetFoldersAsync (line 549) | public Task> GetFoldersAsync(MailProfile pr... method GetMessageAsync (line 560) | public Task GetMessageAsync(MailProfile profile, Get... method SaveAttachmentAsync (line 581) | public Task SaveAttachmentAsync(MailProfile profile... method SearchAsync (line 586) | public Task> SearchAsync(MailProfile p... class FakeSendHandler (line 604) | private sealed class FakeSendHandler : IMailSendHandler { method FakeSendHandler (line 605) | public FakeSendHandler(MailProfileKind kind) { method SendAsync (line 613) | public Task SendAsync(MailProfile profile, SendMessageRe... class FakeMessageActionHandler (line 623) | private sealed class FakeMessageActionHandler : IMailMessageActionHand... method FakeMessageActionHandler (line 624) | public FakeMessageActionHandler(MailProfileKind kind) { method SetReadStateAsync (line 638) | public Task SetReadStateAsync(MailProfile profi... method SetFlaggedStateAsync (line 648) | public Task SetFlaggedStateAsync(MailProfile pr... method MoveAsync (line 658) | public Task MoveAsync(MailProfile profile, Move... method DeleteAsync (line 668) | public Task DeleteAsync(MailProfile profile, De... class FakeFolderAliasService (line 679) | private sealed class FakeFolderAliasService : IMailFolderAliasService { method GetAliasesAsync (line 684) | public Task> GetAliasesAsync(s... method ResolveAsync (line 703) | public Task ResolveAsync(string profileI... FILE: Sources/Mailozaurr.Tests/ApplicationSecretStoreTests.cs class ApplicationSecretStoreTests (line 5) | public sealed class ApplicationSecretStoreTests { method SecretStoreProtectsAndReturnsValues (line 6) | [Fact] method RemoveSecretReturnsFalseWhenEntryDoesNotExist (line 21) | [Fact] method RemoveSecretDeletesStoredValue (line 32) | [Fact] method UpdatingSecretReplacesFileWithoutLeavingTemporaryArtifacts (line 46) | [Fact] method CreateTemporaryFilePath (line 63) | private static string CreateTemporaryFilePath() { class TestCredentialProtector (line 69) | private sealed class TestCredentialProtector : ICredentialProtector { method Protect (line 70) | public string Protect(string plainText) => Convert.ToBase64String(Sy... method Unprotect (line 72) | public string Unprotect(string protectedData) { FILE: Sources/Mailozaurr.Tests/ApplicationSmtpMailSendHandlerTests.cs class ApplicationSmtpMailSendHandlerTests (line 6) | public sealed class ApplicationSmtpMailSendHandlerTests { method HandlerUsesInjectedSendDelegate (line 7) | [Fact] method HandlerReturnsQueuedResultWhenRepositoryCapturesFailedSend (line 48) | [Fact] method CreateTemporaryDirectory (line 99) | private static string CreateTemporaryDirectory() { class FakeSmtpSessionFactory (line 105) | private sealed class FakeSmtpSessionFactory : ISmtpSessionFactory { method ConnectAsync (line 106) | public Task ConnectAsync(MailProfile profile, CancellationToke... FILE: Sources/Mailozaurr.Tests/ApplicationSmtpSessionFactoryTests.cs class ApplicationSmtpSessionFactoryTests (line 7) | public sealed class ApplicationSmtpSessionFactoryTests { method FactoryBuildsBasicAuthSessionRequestFromProfileAndSecrets (line 8) | [Fact] method FactoryUsesOAuthAccessTokenWhenConfigured (line 42) | [Fact] class InMemorySecretStore (line 70) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 73) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 78) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 81) | public Task SetSecretAsync(string profileId, string secretName, stri... FILE: Sources/Mailozaurr.Tests/CliRunnerTests.cs class CliRunnerTests (line 8) | public sealed class CliRunnerTests { method HelpIsShownWhenNoArgumentsAreProvided (line 9) | [Fact] method ProfileListUsesApplicationProfilesService (line 21) | [Fact] method ProfileListSummaryUsesSharedOverviewService (line 37) | [Fact] method ProfileListSummaryCompactUsesSharedCompactProjection (line 55) | [Fact] method ProfileListSummarySupportsSharedFilters (line 72) | [Fact] method ProfileListSummarySupportsSharedSorting (line 90) | [Fact] method ProfileCreateSavesProfileThroughApplicationService (line 117) | [Fact] method ProfileGraphBootstrapSavesProfileAndSecretsThroughApplicationServices (line 149) | [Fact] method ProfileGraphBootstrapSupportsSecretValuesFromEnvironmentVariables (line 183) | [Fact] method ProfileGraphBootstrapSupportsSecretReferences (line 216) | [Fact] method ProfileGmailBootstrapSavesProfileAndSecretsThroughApplicationServices (line 253) | [Fact] method ProfileSetSecretSupportsReadingValueFromStandardInput (line 288) | [Fact] method JsonErrorsAreWrittenAsStructuredPayloads (line 319) | [Fact] method ProfileDoctorReportsMissingGmailAuthenticationMaterial (line 343) | [Fact] method ProfileGmailLoginPersistsTokensThroughApplicationService (line 370) | [Fact] method ProfileGmailLoginSupportsClientSecretReference (line 402) | [Fact] method ProfileGraphLoginPersistsAccessTokenThroughApplicationService (line 434) | [Fact] method ProfileRefreshAuthDelegatesToSharedAuthService (line 468) | [Fact] method ProfileAuthStatusDelegatesToSharedAuthService (line 496) | [Fact] method ProfileSummaryUsesSharedOverviewService (line 513) | [Fact] method ProfileSummaryCompactUsesSharedCompactProjection (line 531) | [Fact] method ProfileTestDelegatesToSharedConnectionService (line 548) | [Fact] method ProfileTestParsesRequestedScope (line 565) | [Fact] method ProfileCapabilitiesUsesApplicationProfileService (line 582) | [Fact] method ProfileSetSecretPersistsSecretThroughApplicationService (line 599) | [Fact] method ProfileSetSecretSupportsReferenceCopy (line 623) | [Fact] method ProfileRemoveSecretDeletesSecretThroughApplicationService (line 657) | [Fact] method ProfileDeleteRemovesProfileThroughApplicationService (line 681) | [Fact] method ProfileSetDefaultUpdatesProfileThroughApplicationService (line 699) | [Fact] method MailFoldersUsesApplicationReadService (line 718) | [Fact] method MailFoldersCompactUsesApplicationReadService (line 734) | [Fact] method MailFolderAliasesUseSharedFolderAliasService (line 752) | [Fact] method MailResolveFolderUsesSharedFolderAliasService (line 772) | [Fact] method MailPreviewMoveUsesSharedPreviewService (line 791) | [Fact] method MailPreviewActionsUsesSharedPreviewService (line 818) | [Fact] method MailPreviewDeleteUsesSharedPreviewService (line 848) | [Fact] method MailSearchUsesApplicationReadService (line 873) | [Fact] method MailSearchCompactUsesApplicationReadService (line 889) | [Fact] method MailGetPassesMailboxToApplicationReadService (line 908) | [Fact] method MailGetCompactUsesApplicationReadService (line 932) | [Fact] method MailGetManyCompactUsesApplicationReadService (line 958) | [Fact] method MailMarkReadUsesApplicationMessageActionService (line 988) | [Fact] method MailFlagUsesApplicationMessageActionService (line 1020) | [Fact] method MailPreviewMarkReadUsesSharedPreviewService (line 1052) | [Fact] method MailPreviewFlagUsesSharedPreviewService (line 1079) | [Fact] method MailPreviewAllUsesSharedBundlePreviewService (line 1106) | [Fact] method MailPlanActionUsesSharedPlanningService (line 1135) | [Fact] method MailExecutePlanUsesSharedPlanningAndBatchServices (line 1164) | [Fact] method MailExportPlanUsesSharedPlanExchangeService (line 1195) | [Fact] method MailShowPlanUsesSharedPlanExchangeService (line 1222) | [Fact] method MailExecutePlanFileUsesSharedPlanExchangeService (line 1248) | [Fact] method MailListPlanBatchesUsesSharedRegistryService (line 1279) | [Fact] method MailListPlanBatchesSummaryUsesSharedRegistryService (line 1298) | [Fact] method MailListPlanBatchesPassesPlanNameFilterToSharedRegistryService (line 1316) | [Fact] method MailListPlanBatchesPassesProfileFilterToSharedRegistryService (line 1333) | [Fact] method MailListPlanBatchesPassesActionFilterToSharedRegistryService (line 1350) | [Fact] method MailListPlanBatchesPassesSortToSharedRegistryService (line 1367) | [Fact] method MailListPlanBatchesPassesExplicitIdSortToSharedRegistryService (line 1385) | [Fact] method MailImportPlanBatchUsesSharedRegistryService (line 1403) | [Fact] method MailCreateCommonPlanBatchUsesSharedRegistryService (line 1428) | [Fact] method MailExecuteStoredPlanBatchUsesSharedRegistryService (line 1467) | [Fact] method MailAddPlanToBatchUsesSharedRegistryService (line 1484) | [Fact] method MailRemovePlanFromBatchUsesSharedRegistryService (line 1510) | [Fact] method MailClonePlanBatchUsesSharedRegistryService (line 1527) | [Fact] method MailTransformPlanBatchUsesSharedRegistryService (line 1551) | [Fact] method MailPreviewTransformPlanBatchUsesSharedRegistryService (line 1591) | [Fact] method MailReplacePlanInBatchUsesSharedRegistryService (line 1625) | [Fact] method MailExecutePlanBatchUsesSharedBatchService (line 1653) | [Fact] method MailArchiveUsesSharedArchiveAlias (line 1701) | [Fact] method MailTrashUsesSharedTrashAlias (line 1729) | [Fact] method MailMoveUsesApplicationMessageActionService (line 1757) | [Fact] method MailDeleteUsesApplicationMessageActionService (line 1786) | [Fact] method MailAttachmentsUsesApplicationReadService (line 1815) | [Fact] method MailSaveAttachmentsManyUsesApplicationReadService (line 1840) | [Fact] method MailSaveAttachmentPassesMailboxToApplicationReadService (line 1878) | [Fact] method MailSaveAttachmentsUsesApplicationReadService (line 1906) | [Fact] method QueueListUsesApplicationQueueService (line 1940) | [Fact] method QueueListCompactUsesApplicationQueueService (line 1956) | [Fact] method QueueGetUsesApplicationQueueService (line 1973) | [Fact] method QueueGetCompactUsesApplicationQueueService (line 1989) | [Fact] method QueueProcessUsesApplicationQueueService (line 2006) | [Fact] method DraftSaveUsesApplicationDraftService (line 2022) | [Fact] method DraftListCompactUsesApplicationDraftService (line 2049) | [Fact] method DraftGetCompactUsesApplicationDraftService (line 2066) | [Fact] method DraftSaveFromFileUsesDraftExchangeService (line 2083) | [Fact] method DraftExportUsesDraftExchangeService (line 2117) | [Fact] method SendUsingDraftUsesApplicationDraftService (line 2140) | [Fact] method SendUsingFileUsesDraftExchangeService (line 2164) | [Fact] method SendUsesApplicationSendService (line 2192) | [Fact] method CreateFixture (line 2236) | private static TestApplicationFixture CreateFixture() => new(); class InMemoryProfileStore (line 2238) | private sealed class InMemoryProfileStore : IMailProfileStore { method InMemoryProfileStore (line 2241) | public InMemoryProfileStore(IEnumerable profiles) { method GetAllAsync (line 2245) | public Task> GetAllAsync(CancellationToke... method GetByIdAsync (line 2248) | public Task GetByIdAsync(string profileId, Cancellatio... method RemoveAsync (line 2253) | public Task RemoveAsync(string profileId, CancellationToken ca... method SaveAsync (line 2256) | public Task SaveAsync(MailProfile profile, CancellationToken cancell... class InMemorySecretStore (line 2262) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 2265) | public Task GetSecretAsync(string profileId, string secretN... method RemoveSecretAsync (line 2274) | public Task RemoveSecretAsync(string profileId, string secretN... method SetSecretAsync (line 2280) | public Task SetSecretAsync(string profileId, string secretName, stri... class FakeReadService (line 2291) | private sealed class FakeReadService : IMailReadService { method GetMessageAsync (line 2314) | public Task GetMessageAsync(GetMessageRequest reques... method GetMessageCompactAsync (line 2317) | public Task GetMessageCompactAsync(GetMessage... method GetMessagesCompactAsync (line 2333) | public Task> GetMessagesCompactA... method CaptureGetRequest (line 2349) | private MessageDetail CaptureGetRequest(GetMessageRequest request) { method GetMessagesAsync (line 2363) | public Task> GetMessagesAsync(GetMessag... method GetFoldersCompactAsync (line 2377) | public Task> GetFoldersCompactAsync(... method GetFoldersAsync (line 2391) | public Task> GetFoldersAsync(MailFolderQuer... method SaveAttachmentAsync (line 2421) | public Task SaveAttachmentAsync(SaveAttachmentReque... method SaveAttachmentsAsync (line 2426) | public Task SaveAttachmentsAsync(SaveAttachme... method SaveAttachmentsManyAsync (line 2448) | public Task SaveAttachmentsManyAsync(Save... method SearchCompactAsync (line 2474) | public Task> SearchCompactAsync... method GetAttachmentsAsync (line 2486) | public Task> GetAttachmentsAsync(Li... method SearchAsync (line 2498) | public Task> SearchAsync(MailSearchReq... class FakeSendService (line 2508) | private sealed class FakeSendService : IMailSendService { method SendAsync (line 2511) | public Task SendAsync(SendMessageRequest request, Cancel... class FakeMessageActionService (line 2523) | private sealed class FakeMessageActionService : IMailMessageActionServ... method SetReadStateAsync (line 2532) | public Task SetReadStateAsync(SetReadStateReque... method SetFlaggedStateAsync (line 2537) | public Task SetFlaggedStateAsync(SetFlaggedStat... method MoveAsync (line 2542) | public Task MoveAsync(MoveMessagesRequest reque... method DeleteAsync (line 2547) | public Task DeleteAsync(DeleteMessagesRequest r... method CreateResult (line 2552) | private static MessageActionResult CreateResult(string profileId, IR... class FakeMessageActionPlanExchangeService (line 2566) | private sealed class FakeMessageActionPlanExchangeService : IMailMessa... method LoadAsync (line 2592) | public Task LoadAsync(string path, Cance... method LoadBatchAsync (line 2597) | public Task> LoadBatchAsyn... method SaveAsync (line 2602) | public Task SaveAsync(string path, MessageActionExecutionPlan plan, ... method SaveBatchAsync (line 2608) | public Task SaveBatchAsync(string path, IReadOnlyList AppendImportedPlanAsync(string batchId,... method AppendPlanAsync (line 2686) | public Task AppendPlanAsync(string batchId, Message... method CloneAsync (line 2692) | public Task CloneAsync(string sourceBatchId, string... method CreateCommonBatchAsync (line 2698) | public Task CreateCommonBatchAsync( method CreateCommonBatchFromPreviewAsync (line 2719) | public Task CreateCommonBatchFromPreviewAsync( method TransformCloneAsync (line 2753) | public Task TransformCloneAsync( method PreviewTransformCloneAsync (line 2775) | public Task PreviewTrans... method DeleteAsync (line 2818) | public Task DeleteAsync(string batchId, Cancellatio... method ExecuteAsync (line 2821) | public Task ExecuteAsync(string b... method ExportAsync (line 2832) | public Task ExportAsync(string batchId, string path... method GetBatchAsync (line 2835) | public Task GetBatchAsync(string batchI... method GetBatchCompactAsync (line 2852) | public Task GetBatchCompactAsync... method GetBatchSummaryAsync (line 2863) | public Task GetBatchSummaryAsync... method GetBatchesAsync (line 2877) | public Task> GetBatchesAsy... method GetBatchesCompactAsync (line 2906) | public Task> GetBat... method GetBatchesSummaryAsync (line 2930) | public Task> GetBat... method ImportAsync (line 2957) | public Task ImportAsync(string batchId, string name... method ReplaceImportedPlanAtAsync (line 2964) | public Task ReplaceImportedPlanAtAsync(string batch... method ReplacePlanAtAsync (line 2971) | public Task ReplacePlanAtAsync(string batchId, int ... method RemovePlanAtAsync (line 2978) | public Task RemovePlanAtAsync(string batchId, int i... method SaveAsync (line 2984) | public Task SaveAsync(MailMessageActionPlanBatch ba... class FakeQueueService (line 2988) | private sealed class FakeQueueService : IMailQueueService { method GetCompactAsync (line 2995) | public Task GetCompactAsync(string messageId,... method GetAsync (line 3007) | public Task GetAsync(string messageId, Cancel... method ListCompactAsync (line 3018) | public Task> ListCompactAsync(Ca... method ListAsync (line 3032) | public Task> ListAsync(Cancellat... method ProcessAsync (line 3045) | public Task ProcessAsync(CancellationToken cance... method RemoveAsync (line 3055) | public Task RemoveAsync(string messageId, Cancellat... class FakeDraftService (line 3061) | private sealed class FakeDraftService : IMailDraftService { method GetDraftCompactAsync (line 3066) | public Task GetDraftCompactAsync(string draftId, ... method GetDraftAsync (line 3080) | public Task GetDraftAsync(string draftId, CancellationTo... method GetDraftsCompactAsync (line 3095) | public Task> GetDraftsCompactAsync(C... method GetDraftsAsync (line 3109) | public Task> GetDraftsAsync(CancellationTok... method SaveAsync (line 3121) | public Task SaveAsync(MailDraft draft, Cancellation... method DeleteAsync (line 3126) | public Task DeleteAsync(string draftId, Cancellatio... class FakeDraftExchangeService (line 3130) | private sealed class FakeDraftExchangeService : IMailDraftExchangeServ... method LoadAsync (line 3135) | public Task LoadAsync(string path, CancellationToken canc... method SaveAsync (line 3150) | public Task SaveAsync(string path, MailDraft draft, CancellationToke... class FakeProfileAuthService (line 3156) | private sealed class FakeProfileAuthService : IMailProfileAuthService { method FakeProfileAuthService (line 3160) | public FakeProfileAuthService(InMemoryProfileStore profileStore, InM... method GetStatusAsync (line 3175) | public async Task GetStatusAsync(string prof... method LoginGmailAsync (line 3203) | public async Task LoginGmailAsync(G... method LoginGraphAsync (line 3237) | public async Task LoginGraphAsync(G... method RefreshAsync (line 3255) | public async Task RefreshAsync(stri... method ParseSecretReference (line 3273) | private static (string ProfileId, string SecretName) ParseSecretRefe... class FakeProfileConnectionService (line 3289) | private sealed class FakeProfileConnectionService : IMailProfileConnec... method TestAsync (line 3294) | public Task TestAsync( class TestApplicationFixture (line 3313) | private sealed class TestApplicationFixture { method TestApplicationFixture (line 3314) | public TestApplicationFixture() { method CreateBuilder (line 3354) | public MailApplicationBuilder CreateBuilder() => method CreateTemporaryFilePath (line 3372) | private static string CreateTemporaryFilePath(string fileName) { method CreateTemporaryFilePath (line 3379) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/ClientSmtpDisposeTests.cs class ClientSmtpDisposeTests (line 7) | public class ClientSmtpDisposeTests class FakeClient (line 9) | private class FakeClient : ClientSmtp method SetConnected (line 14) | public void SetConnected(bool value) => _connected = value; method Disconnect (line 15) | public override void Disconnect(bool quit, CancellationToken cancell... method Dispose_DisconnectsWhenConnected (line 21) | [Fact] FILE: Sources/Mailozaurr.Tests/ClientSmtpTests.cs class ClientSmtpTests (line 16) | public class ClientSmtpTests method Ctor_DefaultsPriorityToNormal (line 18) | [Fact] method ConvertToMailboxAddress_InvalidType_IncludesValueInException (line 24) | [Fact] method ConvertStringToMailboxAddresses_InvalidInput_LogsWarning (line 38) | [Fact] method CreateMessage_SyncAndAsyncProduceEquivalentMessages (line 58) | [Fact] method CreateMessage_CancellationPropagatesToBothOverloads (line 114) | [Fact] method CreateClientForTest (line 148) | private static ClientSmtp CreateClientForTest(string html) method GetInlineAttachments (line 160) | private static List GetInlineAttachments(MimeMes... class InlineAttachmentInfo (line 176) | private sealed class InlineAttachmentInfo method InlineAttachmentInfo (line 178) | public InlineAttachmentInfo(string contentId, string mediaType) class DelayedHandler (line 189) | private sealed class DelayedHandler : HttpMessageHandler method SendAsync (line 191) | protected override async Task SendAsync(HttpReq... FILE: Sources/Mailozaurr.Tests/CmdletImportMailFileTests.cs class CmdletImportMailFileTests (line 12) | public class CmdletImportMailFileTests { method ProcessRecordAsync_EmptyPath_Warns (line 13) | [Fact] method ProcessRecordAsync_UnsupportedExtension_Warns (line 24) | [Fact] method ProcessRecordAsync_ValidEml_OutputsMessage (line 42) | [Fact] method InvokeAndCapture (line 61) | private static (List Outputs, List Warnings) InvokeAn... method CreateTempDirectory (line 101) | private static string CreateTempDirectory() { method CreateEmlFile (line 107) | private static string CreateEmlFile(string directory, string fileName,... FILE: Sources/Mailozaurr.Tests/CmdletWaitImapMessageTests.cs class CmdletWaitImapMessageTests (line 9) | public class CmdletWaitImapMessageTests method EndProcessing_DisposesListenerAndDetachesEvents (line 11) | [Fact] FILE: Sources/Mailozaurr.Tests/ComposeProfileUtilitiesTests.cs class ComposeProfileUtilitiesTests (line 6) | public class ComposeProfileUtilitiesTests { method NormalizeProfiles_AppliesFallbackValues_AndKeepsOneDefault (line 7) | [Fact] method NormalizeProfiles_SynthesizesFallbackProfile_WhenConfiguredProfilesMissing (line 41) | [Fact] method GetDefaultProfile_ReturnsFirstMarkedDefault (line 57) | [Fact] FILE: Sources/Mailozaurr.Tests/ConnectorTests.cs class ConnectorTests (line 13) | public class ConnectorTests class FakeImapClient (line 15) | private class FakeImapClient : ImapClient method ConnectAsync (line 30) | public override Task ConnectAsync(string host, int port, SecureSocke... method DisconnectAsync (line 43) | public override Task DisconnectAsync(bool quit, CancellationToken ca... method AuthenticateAsync (line 48) | public override Task AuthenticateAsync(SaslMechanism mechanism, Canc... method Dispose (line 53) | protected override void Dispose(bool disposing) class FakePop3Client (line 60) | private class FakePop3Client : Pop3Client method ConnectAsync (line 71) | public override Task ConnectAsync(string host, int port, SecureSocke... method DisconnectAsync (line 81) | public override Task DisconnectAsync(bool quit, CancellationToken ca... method Dispose (line 86) | protected override void Dispose(bool disposing) class FakeImapDisconnectFailClient (line 93) | private class FakeImapDisconnectFailClient : FakeImapClient method DisconnectAsync (line 95) | public override Task DisconnectAsync(bool quit, CancellationToken ca... class FakePop3DisconnectFailClient (line 99) | private class FakePop3DisconnectFailClient : FakePop3Client method DisconnectAsync (line 101) | public override Task DisconnectAsync(bool quit, CancellationToken ca... method ImapConnector_RetriesUntilSuccess (line 105) | [Fact] method ImapConnector_ThrowsAfterRetries (line 123) | [Fact] method ImapConnector_RequestOverload_UsesRequestSettings (line 140) | [Fact] method ImapConnector_ConnectAuthenticatedAsync_UsesOAuthAuthentication (line 169) | [Fact] method ImapConnector_RequestOverload_ValidatesArguments (line 188) | [Fact] method Pop3Connector_RetriesUntilSuccess (line 202) | [Fact] method Pop3Connector_ThrowsAfterRetries (line 220) | [Fact] method ImapConnector_NoRetriesThrowsOriginalException (line 237) | [Fact] method Pop3Connector_NoRetriesThrowsOriginalException (line 250) | [Fact] method ImapConnector_CancellationStopsRetries (line 263) | [Fact] method Pop3Connector_CancellationStopsRetries (line 279) | [Fact] method ImapConnector_LogsDisconnectException (line 295) | [Fact] method ImapConnector_DisposesClientBeforeRetry (line 314) | [Fact] method ImapConnector_DisposesClientAfterFinalFailure (line 338) | [Fact] method Pop3Connector_LogsDisconnectException (line 351) | [Fact] method Pop3Connector_DisposesClientBeforeRetry (line 370) | [Fact] method Pop3Connector_DisposesClientAfterFinalFailure (line 394) | [Fact] FILE: Sources/Mailozaurr.Tests/ConvertFromGraphCredentialTests.cs class ConvertFromGraphCredentialTests (line 7) | public class ConvertFromGraphCredentialTests method ThrowsOnNullUsername (line 9) | [Fact] method ThrowsOnWhitespaceUsername (line 15) | [Theory] method ThrowsOnNullPassword (line 23) | [Fact] method ThrowsOnWhitespacePassword (line 29) | [Theory] FILE: Sources/Mailozaurr.Tests/CredentialHelpersTests.cs class CredentialHelpersTests (line 6) | public class CredentialHelpersTests { method ToSecureString_ReturnsEmpty_WhenInputIsNull (line 7) | [Fact] FILE: Sources/Mailozaurr.Tests/Cryptography/AesCredentialProtectorTests.cs class AesCredentialProtectorTests (line 12) | public sealed class AesCredentialProtectorTests { method ConcurrentInstancesShareKeyMaterial (line 13) | [Fact] method GetKeyMaterial (line 57) | private static byte[] GetKeyMaterial(AesCredentialProtector protector) { class KeyDirectoryScope (line 65) | private sealed class KeyDirectoryScope : IDisposable { method KeyDirectoryScope (line 79) | public KeyDirectoryScope() { method Dispose (line 90) | public void Dispose() { method SetVariable (line 104) | private void SetVariable(string name, string value) { FILE: Sources/Mailozaurr.Tests/Cryptography/CredentialProtectionTests.cs class CredentialProtectionTests (line 6) | public sealed class CredentialProtectionTests { method ProtectRoundTripsSecret (line 7) | [Fact] method ProtectDoesNotReturnPlainBase64 (line 18) | [Fact] FILE: Sources/Mailozaurr.Tests/DraftMimeMessageFactoryTests.cs class DraftMimeMessageFactoryTests (line 5) | public sealed class DraftMimeMessageFactoryTests { method CreateAsyncBuildsMimeMessageFromDraftAndProfileDefaults (line 6) | [Fact] method CreateAsyncRejectsDraftWithoutRecipients (line 49) | [Fact] method CreateTemporaryFilePath (line 67) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/EmailMessageConversionTests.cs class EmailMessageConversionTests (line 8) | public class EmailMessageConversionTests { method ConvertEmlToMsg_CreatesOutputDirectory (line 9) | [Fact] method ConvertEmlToMsg_MultipleFiles (line 26) | [Fact] method ConvertMsgToEml_CreatesOutputDirectory (line 48) | [Fact] method ConvertEmlToMsg_DoesNotOverwriteWhenForceFalse (line 70) | [Fact] method ConvertEmlToMsg_OverwritesWhenForceTrue (line 94) | [Fact] FILE: Sources/Mailozaurr.Tests/EphemeralOpenPgpContextTests.cs class EphemeralOpenPgpContextTests (line 11) | public class EphemeralOpenPgpContextTests method CreateTempDirectories_AreUniqueAcrossThreads (line 13) | [Fact] method Dispose_DoesNotThrow_WhenDirectoryAlreadyDeleted (line 36) | [Fact] FILE: Sources/Mailozaurr.Tests/FetchExamplesTests.cs class FetchExamplesTests (line 10) | public class FetchExamplesTests { class FakeImapFolder (line 11) | private class FakeImapFolder method OpenAsync (line 17) | public Task OpenAsync(FolderAccess access) method SearchAsync (line 23) | public Task> SearchAsync(object? query) method GetMessageAsync (line 26) | public Task GetMessageAsync(int id) method AddFlagsAsync (line 32) | public Task AddFlagsAsync(int id, MessageFlags flags, bool silent) method ExpungeAsync (line 35) | public Task ExpungeAsync() class FakeImapClient (line 42) | private class FakeImapClient method ConnectAsync (line 49) | public Task ConnectAsync(string host, int port, SecureSocketOptions ... method AuthenticateAsync (line 55) | public Task AuthenticateAsync(string user, string pass) method GetFolder (line 61) | public FakeImapFolder GetFolder(string name) => Folder; method DisconnectAsync (line 63) | public Task DisconnectAsync(bool quit) class FakePop3Client (line 70) | private class FakePop3Client method ConnectAsync (line 78) | public Task ConnectAsync(string host, int port, SecureSocketOptions ... method AuthenticateAsync (line 84) | public Task AuthenticateAsync(string user, string pass) method GetMessageAsync (line 90) | public Task GetMessageAsync(int index) method DeleteMessageAsync (line 93) | public Task DeleteMessageAsync(int index) method DisconnectAsync (line 99) | public Task DisconnectAsync(bool quit) method FetchImapExample_Runs (line 106) | [Fact] method FetchPopExample_Runs (line 131) | [Fact] FILE: Sources/Mailozaurr.Tests/FilePendingMessageRepositoryTests.cs class FilePendingMessageRepositoryTests (line 11) | public sealed class FilePendingMessageRepositoryTests { method SaveRetrieveAndRemove (line 12) | [Fact] method DefaultsToTempPath (line 57) | [Fact] method DirectoryPath_MustNotBeNullOrEmpty (line 65) | [Fact] method FileNamingScheme_ExceptionWrapped (line 72) | [Fact] method SaveAsync_ReplacesExistingMessageWithSameId (line 82) | [Fact] method SaveAsync_PerformsCompactionWhenThresholdReached (line 141) | [Fact] method RemoveAsync_AppendsTombstoneEntry (line 183) | [Fact] method Constructor_RebuildsLfIndexedLogWithoutOffsetDrift (line 226) | [Fact] method GetByMessageIdAsync_ReturnsNullWhenFileIsDeletedAfterIndexing (line 266) | [Fact] method GetAllAsync_ReturnsEmptyWhenFileIsDeletedAfterIndexing (line 297) | [Fact] method ReadAllAsync (line 328) | private static async Task> ReadAllAsync(IPe... method TryGetProperty (line 337) | private static bool TryGetProperty(JsonElement element, string propert... FILE: Sources/Mailozaurr.Tests/FolderOperationsTests.cs class FolderOperationsTests (line 10) | public class FolderOperationsTests { method MoveFolderAsync_ClosesFolders (line 11) | [Fact] method MoveFolderAsync_ClosesFolders_OnFailure (line 39) | [Fact] method RenameFolderAsync_ClosesFolder_OnFailure (line 67) | [Fact] method RemoveFolderAsync_ClosesFolder_OnFailure (line 87) | [Fact] FILE: Sources/Mailozaurr.Tests/GmailApiClientTests.cs class GmailApiClientTests (line 7) | public class GmailApiClientTests { method ParseQueryParams (line 8) | private static Dictionary> ParseQueryParams(Uri u... class CancelAwareHandler (line 46) | private sealed class CancelAwareHandler : HttpMessageHandler { method CancelAwareHandler (line 48) | public CancelAwareHandler(HttpResponseMessage response) => _response... method SendAsync (line 49) | protected override Task SendAsync(HttpRequestMe... class DisposingHandler (line 55) | private sealed class DisposingHandler : HttpMessageHandler { method SendAsync (line 58) | protected override Task SendAsync(HttpRequestMe... method Dispose (line 60) | protected override void Dispose(bool disposing) { class PendingRepositoryStub (line 68) | private sealed class PendingRepositoryStub : IPendingMessageRepository { method SaveAsync (line 71) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 76) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 90) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 93) | public async IAsyncEnumerable GetAllAsync([Sys... method RemoveAsync (line 101) | public Task RemoveAsync(string messageId, CancellationToken cancella... class DelayedCancellationHandler (line 107) | private sealed class DelayedCancellationHandler : HttpMessageHandler { method WaitForStartAsync (line 110) | public Task WaitForStartAsync() => _started.Task; method SendAsync (line 112) | protected override async Task SendAsync(HttpReq... method Constructor_SetsAuthorizationHeader (line 118) | [Fact] method DeleteAsync_SendsDeleteRequest (line 128) | [Fact] method GetProfileAsync_ReturnsProfile (line 140) | [Fact] method WatchAsync_SendsRequestAndParsesResponse (line 157) | [Fact] method StopWatchAsync_SendsStopRequest (line 178) | [Fact] method ListHistoryAsync_BuildsQueryAndParsesResponse (line 193) | [Fact] method DownloadAttachmentAsync_ReturnsBytes (line 220) | [Fact] method DownloadAttachmentAsync_NoData_ReturnsEmptyArray (line 234) | [Fact] method DownloadAttachmentAsync_InvalidData_Throws (line 244) | [Fact] method ListLabelsAsync_SendsRequestAndParsesResponse (line 254) | [Fact] method ListPageAsync_BuildsQueryAndParsesResponse (line 273) | [Fact] method GetRawAsync_BuildsQueryAndParsesResponse (line 311) | [Fact] method GetThreadAsync_WithFormatAndFields_BuildsQuery (line 332) | [Fact] method GetMessageWithOptionsAsync_MetadataFormat_BuildsQuery (line 354) | [Fact] method ImportAsync_BuildsQueryAndSendsBody (line 385) | [Fact] method ModifyMessageLabelsAsync_SendsModifyRequest (line 409) | [Fact] method TrashMessageAsync_SendsTrashRequest (line 429) | [Fact] method BatchModifyMessagesAsync_SendsBatchModifyRequest (line 445) | [Fact] method BatchDeleteMessagesAsync_SendsBatchDeleteRequest (line 463) | [Fact] method ModifyThreadLabelsAsync_SendsModifyRequest (line 479) | [Fact] method TrashThreadAsync_SendsTrashRequest (line 499) | [Fact] method DeleteThreadAsync_SendsDeleteRequest (line 515) | [Fact] method SendAsync_AuthError_ThrowsGmailAuthenticationException (line 529) | [Theory] method SendAsync_ExpiredToken_InvokesRefresh (line 542) | [Fact] method ListAsync_PaginatesUntilTokenNull (line 565) | [Fact] method ListAsync_ExactMaxResults_StopsEarly (line 584) | [Fact] method ListAsync_PartialPageLimit_AdjustsRequests (line 597) | [Fact] method SendAsync_CanBeCancelled (line 614) | [Fact] method SendAsync_CallerCancellation_DoesNotQueuePendingMessage (line 626) | [Fact] method ListAsync_CanBeCancelled (line 650) | [Fact] method GetAsync_CanBeCancelled (line 661) | [Fact] method DownloadAttachmentAsync_CanBeCancelled (line 672) | [Fact] method SendAsync_NullResponse_Throws (line 683) | [Fact] method GetAsync_NullResponse_Throws (line 693) | [Fact] method SendAsync_InvalidJson_ThrowsGmailApiException (line 702) | [Fact] method GetAsync_InvalidJson_ThrowsGmailApiException (line 713) | [Fact] method ListThreadsAsync_PaginatesUntilTokenNull (line 723) | [Fact] method GetThreadAsync_ReturnsThread (line 742) | [Fact] method ListThreadsAsync_CanBeCancelled (line 755) | [Fact] method GetThreadAsync_CanBeCancelled (line 766) | [Fact] method GetThreadAsync_NullResponse_Throws (line 777) | [Fact] method Dispose_DisposesHttpClient (line 786) | [Fact] method DisposedMethods (line 798) | public static IEnumerable DisposedMethods() { method Methods_AfterDispose_ThrowObjectDisposedException (line 822) | [Theory] FILE: Sources/Mailozaurr.Tests/GmailMailboxBrowserTests.cs class GmailMailboxBrowserTests (line 12) | public sealed class GmailMailboxBrowserTests { method ResolveLabelIdAsync_MapsSystemAliases_AndResolvesCustomLabel (line 13) | [Fact] method ListFoldersAsync_ReturnsSortedLabelFolders (line 27) | [Fact] method ListMessagesAsync_UsesListThenLoadsSummaries (line 51) | [Fact] method SearchMessagesAsync_UsesBuiltQuery_AndSortsByDateDesc (line 88) | [Fact] method ListThreadMessagesAsync_ReturnsSortedSummaries (line 125) | [Fact] method ListThreadMessagesPageAsync_ReturnsPagedSortedSummaries (line 144) | [Fact] method GetMessageContentAsync_ReturnsMimeAndFlags (line 164) | [Fact] method SendMessageAsync_UsesGmailSendEndpoint (line 181) | [Fact] method GetThreadingMetadataAsync_ParsesSelectedHeaders (line 202) | [Fact] method WatchAsync_ResolvesLabels_AndParsesExpiration (line 238) | [Fact] method StopWatchAsync_ReturnsAlreadyStopped_WhenMissingAndConfigured (line 261) | [Fact] method StopWatchAsync_Throws_WhenMissingAndStrictMode (line 274) | [Fact] method GetHistoryAsync_MapsUpsertsDeletes_AndDropsDeletedFromUpserts (line 282) | [Fact] method BuildSearchQuery_ComposesExpectedTokens (line 317) | [Fact] method SetMessageSeenAsync_ModifiesMessageLabels (line 342) | [Fact] method MoveMessageAsync_ResolvesLabels_AndModifiesMessage (line 356) | [Fact] method MoveMessageAsync_ToTrash_UsesTrashEndpoint (line 376) | [Fact] method MoveMessageAsync_WithNullSourceFolder_DoesNotRemoveInbox (line 388) | [Fact] method ArchiveMessagesAsync_UsesBatchModify_AndReturnsPerMessageResults (line 406) | [Fact] method MoveMessagesAsync_WithNullSourceFolder_DoesNotRemoveInbox (line 422) | [Fact] method DeleteThreadsAsync_MapsPerThreadFailures (line 442) | [Fact] method MoveThreadsAsync_UsesThreadModifyLabels (line 461) | [Fact] method SetThreadsSeenAsync_UsesThreadModifyLabels (line 481) | [Fact] method SetThreadsFlaggedAsync_UsesThreadModifyLabels (line 496) | [Fact] method ParseQueryParams (line 511) | private static Dictionary> ParseQueryParams(Uri u... method CreateBrowser (line 546) | private static GmailMailboxBrowser CreateBrowser(HttpMessageHandler ha... FILE: Sources/Mailozaurr.Tests/GmailNonDeliveryReportsTests.cs class GmailNonDeliveryReportsTests (line 15) | public class GmailNonDeliveryReportsTests { method CreateNdr (line 16) | private static MimeMessage CreateNdr(string recipient, string messageI... method Encode (line 22) | private static string Encode(MimeMessage message) { method SearchNonDeliveryReportsAsync_GmailApi_ReturnsReports (line 28) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphApiClientMailboxTests.cs class GraphApiClientMailboxTests (line 8) | public class GraphApiClientMailboxTests { method ListMessagesAsync_AddsConsistencyHeaders_WhenSearchIsUsed (line 9) | [Fact] method DeltaMessagesAsync_ParsesDeletes_AndCursor (line 28) | [Fact] method ListConversationMessagesAsync_BuildsFilterQuery (line 44) | [Fact] method SendBatchAsync_UsesBatchEndpoint_AndSerializesRelativeUrls (line 62) | [Fact] method CreateMessageAsync_CreatesDraftInFolder (line 83) | [Fact] method SendDraftMessageAsync_PostsToSendEndpoint (line 106) | [Fact] method CreateAttachmentUploadSessionAsync_UsesAttachmentItemEnvelope (line 122) | [Fact] method BatchSetMessagesIsReadAsync_ReturnsPerMessageStatus (line 145) | [Fact] method BatchMoveConversationsAsync_ListsConversationMessages_ThenMovesInBatch (line 172) | [Fact] method BatchDeleteMessagesAsync_WhenBatchFails_ReturnsFailurePerMessage (line 199) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphApiClientTests.cs class GraphApiClientTests (line 8) | public class GraphApiClientTests { method CreateSubscriptionAsync_NullRequest_Throws (line 9) | [Fact] method CreateSubscriptionAsync_MissingRequired_Throws (line 15) | [Theory] method CreateSubscriptionAsync_SendsPostAndParses (line 30) | [Fact] method RenewSubscriptionAsync_EncodesSubscriptionId_UsesPatch (line 57) | [Fact] method DeleteSubscriptionAsync_EncodesSubscriptionId (line 71) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphApiErrorParserTests.cs class GraphApiErrorParserTests (line 6) | public class GraphApiErrorParserTests { method Parse_ShouldExtractInformation (line 7) | [Fact] method Parse_InvalidInput_ReturnsRaw (line 27) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphAuthenticateTests.cs class GraphAuthenticateTests (line 7) | public class GraphAuthenticateTests method Authenticate_WithNonNetworkCredential_Throws (line 9) | [Fact] method Authenticate_WithMalformedUserName_Throws (line 19) | [Theory] class DummyCredentials (line 33) | private sealed class DummyCredentials : ICredentials method GetCredential (line 35) | public NetworkCredential? GetCredential(Uri uri, string authType) =>... FILE: Sources/Mailozaurr.Tests/GraphBatchAndRetryTests.cs class GraphBatchAndRetryTests (line 12) | [Collection("GraphCollection")] class BatchHandler (line 14) | private class BatchHandler : HttpMessageHandler { method SendAsync (line 18) | protected override async Task SendAsync(HttpReq... method GetHandlerField (line 39) | private static FieldInfo GetHandlerField() method SendMessageBatchAsync_BuildsBatchPayload (line 44) | [Fact] method SendMessageBatchAsync_Canceled_ThrowsOperationCanceledException (line 79) | [Fact] class RetryHandler (line 105) | private class RetryHandler : HttpMessageHandler { method SendAsync (line 108) | protected override Task SendAsync(HttpRequestMe... class RetryAfterHandler (line 120) | private class RetryAfterHandler : HttpMessageHandler { method SendAsync (line 123) | protected override Task SendAsync(HttpRequestMe... class AlwaysFailHandler (line 138) | private class AlwaysFailHandler : HttpMessageHandler { method SendAsync (line 141) | protected override Task SendAsync(HttpRequestMe... class HangingHandler (line 149) | private class HangingHandler : HttpMessageHandler { method SendAsync (line 150) | protected override async Task SendAsync(HttpReq... class TransientFailHandler (line 156) | private class TransientFailHandler : HttpMessageHandler { method SendAsync (line 159) | protected override Task SendAsync(HttpRequestMe... method ConnectO365GraphWithRetryAsync_RetriesUntilSuccess (line 165) | [Fact] method ConnectO365GraphAsync_UsesProvidedAccessTokenWithoutHttpCall (line 188) | [Fact] method ConnectO365GraphWithRetryAsync_NoRetriesThrowsException (line 217) | [Fact] method ConnectO365GraphAsync_RetriesAfter429 (line 239) | [Fact] method ConnectO365GraphAsync_CancellationRequested_Throws (line 262) | [Fact] method ConnectO365GraphWithRetryAsync_CancelledDuringDelay_Throws (line 284) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphChunkSizeLimitTests.cs class GraphChunkSizeLimitTests (line 12) | public class GraphChunkSizeLimitTests method ChunkSize_SetAboveLimit_IsCapped (line 14) | [Fact] method PrepareByteArrayContentForUpload_EnforcesMaxChunkSize (line 22) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphCreateMessageTests.cs class GraphCreateMessageTests (line 10) | public class GraphCreateMessageTests method CreateMessage_WithValidData_BuildsJson (line 12) | [Fact] method CreateMessage_WithHeaders_IncludesHeaders (line 28) | [Fact] method CreateMessage_WithoutExplicitContentType_DefaultsToHtml (line 44) | [Fact] method ContentType_SetToInvalidValue_ThrowsArgumentException (line 60) | [Fact] method CreateAttachments_WithMissingFile_SkipsAttachment (line 68) | [Fact] method CreateMessage_WithLargeAttachment_DoesNotIncludeAttachment (line 80) | [Fact] method CreateMessage_WithoutFrom_ThrowsInvalidOperationException (line 101) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphDraftTests.cs class GraphDraftTests (line 10) | public class GraphDraftTests method CreateDraft_LargeAttachments_ExcludesAttachments (line 12) | [Fact] method PrepareAttachments_LargeFiles_CreatePlaceholders (line 34) | [Fact] method CreateGraphAttachment_MissingFile_ThrowsAndLogsWarning (line 51) | [Fact] method CreateGraphAttachment_Canceled_ThrowsOperationCanceledException (line 65) | [Fact] method PrepareAttachments_MissingFile_SkipsPlaceholderAndLogs (line 84) | [Fact] method CreateDraft_SetsImportanceFromPriority (line 97) | [Fact] method CreateDraftForMg_SetsImportanceFromPriority (line 114) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphEventBuilderTests.cs class GraphEventBuilderTests (line 7) | public class GraphEventBuilderTests { method Builder_CreatesEvent (line 8) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphExceptionStackTraceTests.cs class GraphExceptionStackTraceTests (line 10) | public class GraphExceptionStackTraceTests { method SendMessageAsync_Failure_PreservesStackTrace (line 11) | [Fact] method SendDraftMessage_Failure_PreservesStackTrace (line 34) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphInboxRulesTests.cs class GraphInboxRulesTests (line 8) | public class GraphInboxRulesTests { method JoinUriQuery_BuildsRulesUri (line 9) | [Fact] method JoinUriQuery_BuildsRuleIdUri (line 17) | [Fact] method JoinUriQuery_BuildsFilteredUri (line 25) | [Fact] method Builder_CreatesRule (line 34) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphMailboxBrowserTests.cs class GraphMailboxBrowserTests (line 11) | public class GraphMailboxBrowserTests { method ResolveFolderSelector_MapsKnownAliases (line 12) | [Theory] method ListFoldersAsync_BuildsHierarchicalNames (line 28) | [Fact] method ListMessagesAsync_ReturnsTotalCount_AndMappedSummaries (line 62) | [Fact] method ListConversationMessagesPageAsync_ReturnsPagedSortedSummaries (line 88) | [Fact] method ImportMessageAsync_CreatesMessageInResolvedFolder_AndReturnsResult (line 109) | [Fact] method ImportMessageAsync_UploadsLargeAttachmentsThroughUploadSession (line 140) | [Fact] method SendMessageAsync_CreatesDraftAndSendsIt (line 184) | [Fact] method FindMessageByInternetMessageIdAsync_UsesBracketedFilterAndReturnsMatch (line 212) | [Fact] method FindMessageByInternetMessageIdAsync_ReturnsNoMatch_WhenResponseContainsDifferentMessageId (line 233) | [Fact] method SearchMessagesAsync_UsesGraphSearchWhenTextIsProvided (line 248) | [Fact] method DeltaMessagesAsync_MapsUpsertsDeletesAndCursor (line 271) | [Fact] method GetMessageContentAsync_ReturnsMimeAndFlags (line 288) | [Fact] method GetThreadingMetadataAsync_ParsesHeaderFieldsFromMime (line 314) | [Fact] method BuildMessageSubscriptionResource_MapsAndEscapesFolderSelector (line 342) | [Theory] method CreateMessageSubscriptionAsync_PostsSubscriptionPayloadAndMapsResult (line 351) | [Fact] method RenewSubscriptionAsync_PatchesSubscriptionAndMapsResult (line 379) | [Fact] method RenewSubscriptionSafeAsync_ReturnsMissing_WhenSubscriptionIsGone (line 396) | [Fact] method DeleteSubscriptionAsync_ReturnsAlreadyDeleted_WhenMissingAndConfigured (line 410) | [Fact] method SetMessageSeenAsync_PatchesReadState (line 425) | [Fact] method SetMessageFlaggedAsync_PatchesFlagState (line 441) | [Fact] method MoveMessageAsync_ResolvesFolderAliasAndUsesDestinationId (line 457) | [Fact] method ArchiveMessageAsync_UsesArchiveDestinationAlias (line 476) | [Fact] method TrashMessageAsync_UsesTrashDestinationAlias (line 493) | [Fact] method DeleteMessageAsync_UsesDeleteEndpoint (line 510) | [Fact] method MoveMessagesAsync_ResolvesFolderAliasAndBatchesMoveRequests (line 523) | [Fact] method MoveMessagesAsync_WithNoMessageIds_SkipsFolderResolution (line 546) | [Fact] method ArchiveConversationsAsync_UsesArchiveDestinationAlias (line 558) | [Fact] method MoveConversationsAsync_WithNoConversationIds_SkipsFolderResolution (line 584) | [Fact] method DeleteConversationsAsync_ExpandsAndDeletesConversationMessages (line 596) | [Fact] method SetConversationsSeenAsync_ExpandsAndBatchesReadStateChanges (line 620) | [Fact] method SetConversationsFlaggedAsync_MapsConversationFailures (line 644) | [Fact] method CreateClient (line 661) | private static GraphApiClient CreateClient(HttpMessageHandler handler) { FILE: Sources/Mailozaurr.Tests/GraphMailboxPermissionBuilderTests.cs class GraphMailboxPermissionBuilderTests (line 5) | public class GraphMailboxPermissionBuilderTests { method Builder_CreatesPermission (line 6) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphMailboxPermissionTests.cs class GraphMailboxPermissionTests (line 6) | public class GraphMailboxPermissionTests { method Constructor_ParsesRoles_IgnoringCase (line 7) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphMessageListenerTests.cs class GraphMessageListenerTests (line 13) | [Collection("GraphCollection")] class QueueHandler (line 15) | private sealed class QueueHandler : HttpMessageHandler { method QueueHandler (line 18) | public QueueHandler(IEnumerable responses) { method SendAsync (line 22) | protected override Task SendAsync(HttpRequestMe... class HangingHandler (line 33) | private sealed class HangingHandler : HttpMessageHandler { method SendAsync (line 34) | protected override async Task SendAsync(HttpReq... method GetHandlerField (line 40) | private static FieldInfo GetHandlerField() => method Listener_StartStopMultipleTimes_DoesNotLeakResources (line 45) | [Fact] method StartAsync_CancellationDuringInitialFetch_CleansUpState (line 97) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphSearchMailboxesTests.cs class GraphSearchMailboxesTests (line 13) | [Collection("GraphCollection")] method GetHandlerField (line 15) | private static FieldInfo GetHandlerField() method SearchMailboxesAsync_SingleUseMailboxEnumerable_IsEnumeratedOnce (line 20) | [Fact] method SearchMailboxesAsync_EmptyMailboxList_SkipsGraphRequest (line 49) | [Fact] class SearchMailboxesHandler (line 75) | private sealed class SearchMailboxesHandler : HttpMessageHandler { method SendAsync (line 79) | protected override Task SendAsync(HttpRequestMe... class SingleUseEnumerable (line 101) | private sealed class SingleUseEnumerable : IEnumerable { method SingleUseEnumerable (line 104) | public SingleUseEnumerable(params T[] items) { method GetEnumerator (line 110) | public IEnumerator GetEnumerator() { method GetEnumerator (line 119) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); FILE: Sources/Mailozaurr.Tests/GraphStopwatchTests.cs class GraphStopwatchTests (line 10) | public class GraphStopwatchTests method SetHttpClient (line 12) | private static void SetHttpClient(Graph graph, HttpMessageHandler hand... method CreateJsonResponse (line 18) | private static HttpResponseMessage CreateJsonResponse(string content) method ConnectO365GraphAsync_SuccessiveCallsHaveIndependentDurations (line 26) | [Fact] method SendMessageAsync_SuccessiveCallsHaveIndependentDurations (line 55) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphTestCollection.cs class GraphTestCollection (line 9) | [CollectionDefinition("GraphCollection", DisableParallelization = true)] FILE: Sources/Mailozaurr.Tests/GraphUploadRangeTests.cs class GraphUploadRangeTests (line 13) | public class GraphUploadRangeTests method PrepareByteArrayContentForUpload_ComputesRangesCorrectly (line 15) | [Fact] method PrepareByteArrayContentForUpload_CreatesIndependentBuffers (line 34) | [Fact] method PrepareByteArrayContentForUpload_ClampsChunkSizeToMax (line 58) | [Fact] FILE: Sources/Mailozaurr.Tests/GraphUploadSessionParsingTests.cs class GraphUploadSessionParsingTests (line 7) | public class GraphUploadSessionParsingTests method ParseUploadSessionResult_WithoutUploadUrl_Throws (line 9) | [Fact] FILE: Sources/Mailozaurr.Tests/HelpersTests.cs class HelpersTests (line 16) | public class HelpersTests { method GetEmailAddress_ReturnsInputString_WhenStringProvided (line 17) | [Fact] method GetEmailAddress_ReturnsEmailFromDictionary_WhenEmailKeyPresent (line 23) | [Fact] method GetEmailAddress_ReturnsEmpty_WhenEmailKeyMissing (line 30) | [Fact] class CustomObject (line 37) | private class CustomObject { method ToString (line 38) | public override string ToString() => "Custom"; method GetEmailAddress_ReturnsObjectToString_WhenNotStringOrDictionary (line 41) | [Fact] method ConvertFromOAuth2Credential_ThrowsArgumentNullException_WhenCredentialIsNull (line 48) | [Fact] method ConvertFromPlainText_ReturnsNetworkCredentialWithSecurePassword (line 53) | [Fact] method ConvertFromPlainText_ThrowsArgumentNullException_WhenUserNameIsNull (line 62) | [Fact] method ConvertFromPlainText_ThrowsArgumentNullException_WhenPasswordIsNull (line 67) | [Fact] method ConvertFromPlainText_ThrowsArgumentException_WhenUserNameIsEmpty (line 72) | [Fact] method ConvertFromPlainText_ThrowsArgumentException_WhenPasswordIsEmpty (line 77) | [Fact] method CredentialToApiKey_ReturnsPassword_WhenNetworkCredential (line 82) | [Fact] class DummyCredentials (line 91) | private class DummyCredentials : ICredentials { method GetCredential (line 92) | public NetworkCredential GetCredential(Uri uri, string authType) => ... method CredentialToApiKey_ThrowsArgumentException_WhenNotNetworkCredential (line 95) | [Fact] method GetEmailAndName_ReturnsTuple_WhenDictionaryProvided (line 102) | [Fact] method GetEmailAndName_ReturnsEmailAndNullName_WhenStringProvided (line 112) | [Fact] method UniqueAddresses_RemovesDuplicates_IgnoringCaseAndWhitespace (line 120) | [Fact] method UniqueAddresses_SkipsNullOrInvalidEmails (line 138) | [Fact] method UniqueAddresses_ReturnsFirstOccurrence_WhenDictionaryEmailsDuplicate (line 157) | [Fact] method UniqueAddresses_DefaultsToNewSet_WhenSeenIsNull (line 172) | [Fact] method UniqueAddresses_UsesProvidedSetAcrossCalls (line 184) | [Fact] class CancelHandler (line 202) | private class CancelHandler : HttpMessageHandler { method SendAsync (line 203) | protected override Task SendAsync(HttpRequestMe... class ThrowHandler (line 207) | private class ThrowHandler : HttpMessageHandler { method SendAsync (line 208) | protected override Task SendAsync(HttpRequestMe... class FailStatusHandler (line 212) | private class FailStatusHandler : HttpMessageHandler { method SendAsync (line 213) | protected override Task SendAsync(HttpRequestMe... class CountingHandler (line 217) | private class CountingHandler : HttpMessageHandler { method SendAsync (line 220) | protected override Task SendAsync(HttpRequestMe... method PostWebhookAsync_CancellationRequested_ThrowsAsync (line 226) | [Fact] method PostWebhookAsync_HttpRequestException_LogsWarning (line 237) | [Fact] method PostWebhookAsync_NonSuccessStatus_LogsWarning (line 251) | [Fact] method PostWebhookAsync_UsesSharedClient_WhenClientNotProvided (line 265) | [Fact] class DisposeTrackingHandler (line 281) | private class DisposeTrackingHandler : HttpMessageHandler { method SendAsync (line 284) | protected override Task SendAsync(HttpRequestMe... method Dispose (line 287) | protected override void Dispose(bool disposing) { method SharedHttpClient_ReplacesAndDisposesPreviousClient (line 296) | [Fact] FILE: Sources/Mailozaurr.Tests/HtmlAutoEmbedImageTests.cs class HtmlAutoEmbedImageTests (line 13) | public class HtmlAutoEmbedImageTests { method Smtp_CreateMessage_AutoEmbedsImages (line 14) | [Fact] method Graph_CreateMessage_AutoEmbedsImages (line 33) | [Fact] method Smtp_CreateMessage_EmbedsRemoteImages (line 54) | [Fact] FILE: Sources/Mailozaurr.Tests/HtmlUtilsTests.cs class HtmlUtilsTests (line 14) | public class HtmlUtilsTests method ExtractLocalImagePaths_ReplacesOnlySrcValues (line 16) | [Fact] method ExtractLocalImagePaths_PrecompiledRegex_MatchesInlineImplementation (line 33) | [Fact] method DownloadRemoteImagesAsync_ReplacesOnlySrcValuesAsync (line 69) | [Fact] method DownloadRemoteImagesAsync_DoesNotCreateExtraHandlers (line 101) | [Fact] method DownloadRemoteImagesAsync_DetectsMultipleImagesRegardlessOfCaseAsync (line 132) | [Fact] method DownloadRemoteImagesAsync_PropagatesCancellationAsync (line 176) | [Fact] FILE: Sources/Mailozaurr.Tests/ImapBulkFlagOperationsTests.cs class ImapBulkFlagOperationsTests (line 10) | public sealed class ImapBulkFlagOperationsTests { method SetFlagsAsync_UsesBulkPath_WhenBulkSucceeds (line 11) | [Fact] method SetFlagsAsync_FallsBackPerItem_WhenBulkFails (line 29) | [Fact] class FakeFolder (line 55) | private sealed class FakeFolder : ImapBulkFlagOperations.IImapFolder { method AddFlagsAsync (line 63) | public Task AddFlagsAsync(IReadOnlyCollection uids, Messag... method RemoveFlagsAsync (line 72) | public Task RemoveFlagsAsync(IReadOnlyCollection uids, Mes... method AddFlagsAsync (line 84) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 93) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... FILE: Sources/Mailozaurr.Tests/ImapConnectionRequestTests.cs class ImapConnectionRequestTests (line 7) | public class ImapConnectionRequestTests { method Constructor_SetsValues (line 8) | [Fact] method Constructor_ThrowsForInvalidInput (line 32) | [Fact] FILE: Sources/Mailozaurr.Tests/ImapDeleteOperationsTests.cs class ImapDeleteOperationsTests (line 10) | public sealed class ImapDeleteOperationsTests { method DeleteAsync_Expunges_WhenRequestedAndAtLeastOneDeleteSucceeds (line 11) | [Fact] method DeleteAsync_DoesNotExpunge_WhenNoDeleteSucceeds (line 36) | [Fact] method DeleteAsync_DoesNotExpunge_WhenNotRequested (line 54) | [Fact] class FakeDeleteFolder (line 69) | private sealed class FakeDeleteFolder : ImapDeleteOperations.IImapDele... method AddFlagsAsync (line 76) | public Task AddFlagsAsync(IReadOnlyCollection uids, Messag... method RemoveFlagsAsync (line 87) | public Task RemoveFlagsAsync(IReadOnlyCollection uids, Mes... method AddFlagsAsync (line 95) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 105) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... method ExpungeAsync (line 113) | public Task ExpungeAsync(CancellationToken cancellationToken = defau... FILE: Sources/Mailozaurr.Tests/ImapFetchTests.cs class ImapFetchTests (line 7) | public class ImapFetchTests { class FakeMessage (line 8) | private class FakeMessage { method FakeMessage (line 9) | public FakeMessage(string subject, bool isRead) { class FakeImapClient (line 18) | private class FakeImapClient { method AddMailbox (line 22) | public void AddMailbox(string name, params FakeMessage[] messages) => method Fetch (line 25) | public IReadOnlyList Fetch(string mailbox, bool unreadO... method Imap_Fetch_WithValidMailbox_Succeeds (line 37) | [Fact] method Imap_Fetch_WithInvalidMailbox_Fails (line 50) | [Fact] method Imap_Fetch_UnreadMessages_Succeeds (line 60) | [Fact] method Imap_Fetch_WithInvalidCredentials_Fails (line 76) | [Fact] FILE: Sources/Mailozaurr.Tests/ImapIdleListenerTests.cs class ImapIdleListenerTests (line 13) | public class ImapIdleListenerTests { method Constructor_SetsSearchQuery (line 14) | [Fact] method StopAsync_CancelsIdleLoopGracefully (line 26) | [Fact] method StartAsync_FailureDuringInitialSetup_CleansUpState (line 48) | [Fact] method StopAsync_PropagatesExceptionsFromIdleLoop (line 61) | [Fact] method StopAsync_IgnoresCancellationFromIdleLoopWhenStopping (line 78) | [Fact] method Dispose_IgnoresCancellationFromIdleLoopWhenStopping (line 93) | [Fact] method SetPrivateField (line 107) | private static void SetPrivateField(ImapIdleListener listener, stri... method GetPrivateField (line 110) | private static T? GetPrivateField(ImapIdleListener listener, string... FILE: Sources/Mailozaurr.Tests/ImapMailboxSearchQueryBuilderTests.cs class ImapMailboxSearchQueryBuilderTests (line 6) | public sealed class ImapMailboxSearchQueryBuilderTests { method Tokenize_ReturnsEmpty_ForNullOrWhitespace (line 7) | [Fact] method Tokenize_SplitsOnWhitespaceAndTrims (line 14) | [Fact] method Build_ReturnsSearchQuery (line 24) | [Fact] FILE: Sources/Mailozaurr.Tests/ImapMessageReaderTests.cs class ImapMessageReaderTests (line 12) | public sealed class ImapMessageReaderTests method ReadAsync_UsesResolvedFolderAndTruncatesBodies (line 14) | [Fact] method ReadAsync_UsesInboxWhenFolderOmitted (line 70) | [Fact] FILE: Sources/Mailozaurr.Tests/ImapMoveOperationsTests.cs class ImapMoveOperationsTests (line 10) | public sealed class ImapMoveOperationsTests { method MoveAsync_ReturnsNoOp_WhenSourceAndTargetAreSame (line 11) | [Fact] method MoveAsync_UsesCopyFallbackAndUidMapping_WhenMoveNotSupported (line 29) | [Fact] method MoveAsync_UsesSearchLookup_WhenFallbackMapMissing (line 58) | [Fact] method MoveAsync_ReturnsPerItemFailures_WithSanitizedErrors (line 86) | [Fact] method MoveAsync_PropagatesCancellation_WhenOpenIsCanceled (line 106) | [Fact] method MoveAsync_RecoversWhenCloseFails_DuringAccessUpgrade (line 123) | [Fact] class FakeFolder (line 143) | private sealed class FakeFolder : ImapMoveOperations.IImapMoveFolder { method FakeFolder (line 144) | internal FakeFolder(string fullName) { method OpenAsync (line 175) | public Task OpenAsync(FolderAccess access, CancellationToken cancell... method CloseAsync (line 187) | public Task CloseAsync(bool expunge, CancellationToken cancellationT... method GetMessageIdHeaderAsync (line 200) | public Task GetMessageIdHeaderAsync(UniqueId uid, Cancellat... method MoveToAsync (line 206) | public Task MoveToAsync(UniqueId uid, ImapMoveOperations.IImapMoveFo... method CopyToWithMapAsync (line 221) | public Task?> CopyToWithMapAsync(IRe... method CopyToAsync (line 237) | public Task CopyToAsync(UniqueId uid, ImapMoveOperations.IImapMoveFo... method AddFlagsAsync (line 245) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method ExpungeAsync (line 254) | public Task ExpungeAsync(CancellationToken cancellationToken = defau... method SearchByMessageIdAsync (line 260) | public Task> SearchByMessageIdAsync(string messageId... FILE: Sources/Mailozaurr.Tests/ImapSentFolderResolverTests.cs class ImapSentFolderResolverTests (line 6) | public sealed class ImapSentFolderResolverTests { method ResolveSentFolderName_UsesRequestedFolder_WhenProvided (line 7) | [Fact] method ResolveSentFolderName_UsesConfiguredFolder_WhenRequestedIsMissing (line 18) | [Fact] method ResolveSentFolderName_PrefersAttributeTaggedSentFolder (line 30) | [Fact] method ResolveSentFolderName_UsesSentHeuristic_WhenNoAttributeMatch (line 43) | [Fact] method ResolveSentFolderName_IgnoresArchiveAndDraftLikeNames (line 56) | [Fact] method ResolveSentFolderName_UsesFallback_WhenNoCandidatesExist (line 70) | [Fact] method ResolveDraftsFolderName_PrefersConfiguredOverride_WhenProvided (line 81) | [Fact] method ResolveDraftsFolderName_UsesHeuristic_WhenNoAttributeFlag (line 93) | [Fact] method ResolveTrashFolderName_UsesSpecialUseFlag (line 106) | [Fact] method ResolveArchiveFolderName_UsesHeuristic (line 119) | [Fact] method ResolveJunkFolderName_UsesConfiguredOverride_WhenProvided (line 132) | [Fact] method ResolveSpecialFolderMappings_UsesOverridesBeforeDetection (line 144) | [Fact] FILE: Sources/Mailozaurr.Tests/ImapSentMessageOperationsTests.cs class ImapSentMessageOperationsTests (line 12) | public sealed class ImapSentMessageOperationsTests { method AppendToSentAsync_EnsuresReadWriteAndAppendsSeen (line 13) | [Fact] method FindSentDuplicateAsync_ReturnsMatchFromIdempotencyHeaderSearch (line 33) | [Fact] method FindSentDuplicateAsync_FallsBackToMessageIdSearch (line 56) | [Fact] method FindSentDuplicateAsync_ReturnsNoneWhenNoMatch (line 79) | [Fact] method FindSentDuplicateAsync_NoMatch_ReturnsDistinctInstances (line 99) | [Fact] method GetThreadingMetadataAsync_ReturnsFolderMetadata (line 135) | [Fact] method NormalizeMessageIdToken_NormalizesExpectedValues (line 163) | [Theory] method BuildMessage (line 173) | private static MimeMessage BuildMessage() { class FakeImapSentFolder (line 182) | private sealed class FakeImapSentFolder : ImapSentMessageOperations.II... method OpenAsync (line 200) | public Task OpenAsync(FolderAccess access, CancellationToken cancell... method CloseAsync (line 208) | public Task CloseAsync(bool expunge, CancellationToken cancellationT... method AppendAsync (line 214) | public Task AppendAsync(MimeMessage message, MessageFlags flags, Can... method SearchAsync (line 221) | public Task> SearchAsync(SearchQuery query, Cancella... method FetchEnvelopeMessageIdAsync (line 229) | public Task FetchEnvelopeMessageIdAsync(UniqueId uid, Cance... method FetchThreadingMetadataAsync (line 234) | public Task ... FILE: Sources/Mailozaurr.Tests/ImapSessionServiceTests.cs class ImapSessionServiceTests (line 8) | public class ImapSessionServiceTests { class FakeImapClient (line 9) | private sealed class FakeImapClient : ImapClient { method ConnectAsync (line 21) | public override Task ConnectAsync(string host, int port, SecureSocke... method ConnectAsync_UsesConnectionAndAuthenticationSettings (line 26) | [Fact] FILE: Sources/Mailozaurr.Tests/InternalLoggerTests.cs class InternalLoggerTests (line 5) | public class InternalLoggerTests method WriteProgress_RaisesEventWithCorrectPercentage (line 7) | [Fact] FILE: Sources/Mailozaurr.Tests/IsDisposableEmailTests.cs class IsDisposableEmailTests (line 6) | public class IsDisposableEmailTests method IsDisposableEmail_ValidEmail_ReturnsTrue (line 10) | [Fact] method IsDisposableEmail_MissingAt_ReturnsFalse (line 17) | [Fact] method IsDisposableEmail_MultipleAt_ReturnsFalse (line 24) | [Fact] FILE: Sources/Mailozaurr.Tests/JsonMailDraftExchangeServiceTests.cs class JsonMailDraftExchangeServiceTests (line 6) | public sealed class JsonMailDraftExchangeServiceTests { method SaveAndLoadRoundTripsDraftJson (line 7) | [Fact] method CreateTemporaryFilePath (line 32) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/JsonMailMessageActionPlanExchangeServiceTests.cs class JsonMailMessageActionPlanExchangeServiceTests (line 5) | public sealed class JsonMailMessageActionPlanExchangeServiceTests { method SaveAndLoadRoundTripsSinglePlanJson (line 6) | [Fact] method SaveAndLoadRoundTripsBatchJson (line 33) | [Fact] method CreateTemporaryFilePath (line 67) | private static string CreateTemporaryFilePath(string fileName) { FILE: Sources/Mailozaurr.Tests/JunkCleanerTests.cs class JunkCleanerTests (line 16) | public sealed class JunkCleanerTests { method GetImapJunkAsync_SingleUseSkipEnumerables_AreEnumeratedOnce (line 17) | [Fact] method GetImapJunkAsync_NormalizesAttachmentExtensionsBeforeFiltering (line 64) | [Fact] method CreateMessage (line 99) | private static MimeMessage CreateMessage( class SingleUseEnumerable (line 122) | private sealed class SingleUseEnumerable : IEnumerable { method SingleUseEnumerable (line 125) | public SingleUseEnumerable(params T[] items) { method GetEnumerator (line 131) | public IEnumerator GetEnumerator() { method GetEnumerator (line 140) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); FILE: Sources/Mailozaurr.Tests/LoggingConfiguratorDisposeTests.cs class LoggingConfiguratorDisposeTests (line 6) | public class LoggingConfiguratorDisposeTests method Dispose_ReleasesResources (line 8) | [Fact] FILE: Sources/Mailozaurr.Tests/LoggingConfiguratorTests.cs class LoggingConfiguratorTests (line 6) | public class LoggingConfiguratorTests method ConfigureLogging_NullPath_UsesMemoryStream (line 8) | [Fact] method ConfigureLogging_EmptyPath_UsesMemoryStream (line 19) | [Fact] method ConfigureLogging_ValidPath_CreatesFileLogger (line 30) | [Fact] FILE: Sources/Mailozaurr.Tests/LoggingConfiguratorValidationTests.cs class LoggingConfiguratorValidationTests (line 7) | public class LoggingConfiguratorValidationTests { method ConfigureLogging_StripsNewLinesInPrefixes_AndCreatesDirectory (line 8) | [Fact] FILE: Sources/Mailozaurr.Tests/LoggingMessagesTests.cs class LoggingMessagesTests (line 6) | public class LoggingMessagesTests method Logger_IsAsyncLocalPerTask (line 8) | [Fact] FILE: Sources/Mailozaurr.Tests/MailFileReaderTests.cs class MailFileReaderTests (line 8) | public class MailFileReaderTests { method ReadEml_MapsBasicFieldsAndHeaders (line 9) | [Fact] method TryRead_MissingFile_ReturnsFalse (line 36) | [Fact] method TryRead_UnsupportedExtension_ReturnsFalse (line 52) | [Fact] method ReadMsg_FromConvertedEml_MapsFields (line 70) | [Fact] method CreateTempDirectory (line 95) | private static string CreateTempDirectory() { method CreateEmlFile (line 101) | private static string CreateEmlFile(string directory, string fileName,... FILE: Sources/Mailozaurr.Tests/MailMcpToolsTests.cs class MailMcpToolsTests (line 7) | public sealed class MailMcpToolsTests { method MailProfilesListReturnsConfiguredProfiles (line 8) | [Fact] method MailProfilesSummaryListReturnsAggregatedOverviews (line 19) | [Fact] method MailProfilesSummaryCompactListReturnsLightweightProjection (line 45) | [Fact] method MailProfilesSummaryListSupportsSharedFilters (line 69) | [Fact] method MailProfilesSummaryListSupportsSharedSorting (line 90) | [Fact] method MailCapabilitiesGetReturnsEffectiveCapabilities (line 121) | [Fact] method MailProfileSaveCreatesProfileWithSettings (line 132) | [Fact] method MailProfileGraphBootstrapCreatesProfileAndStoresSecrets (line 155) | [Fact] method MailProfileGraphBootstrapSupportsSecretReferences (line 177) | [Fact] method MailProfileGmailBootstrapCreatesProfileAndStoresSecrets (line 204) | [Fact] method MailProfileDoctorReportsMissingGmailAuthenticationMaterial (line 227) | [Fact] method MailProfileValidateRunsStructuralValidationOnly (line 248) | [Fact] method MailProfileGmailLoginPersistsTokens (line 267) | [Fact] method MailProfileGmailLoginSupportsSameProfileSecretReference (line 293) | [Fact] method MailProfileGraphLoginPersistsAccessToken (line 316) | [Fact] method MailProfileRefreshAuthDelegatesToSharedAuthService (line 342) | [Fact] method MailProfileAuthStatusDelegatesToSharedAuthService (line 363) | [Fact] method MailProfileSummaryAggregatesSharedOverview (line 374) | [Fact] method MailProfileSummaryCompactReturnsLightweightProjection (line 399) | [Fact] method MailProfileTestDelegatesToSharedConnectionService (line 423) | [Fact] method MailProfileTestParsesRequestedScope (line 434) | [Fact] method MailProfileSetDefaultMarksProfileAsDefault (line 445) | [Fact] method MailProfileSecretSetAndRemoveUseSharedSecretStore (line 460) | [Fact] method MailProfileSecretSetSupportsReferenceCopy (line 475) | [Fact] method MailProfileDeleteRemovesProfile (line 499) | [Fact] method MailSearchDelegatesToApplicationReadService (line 514) | [Fact] method MailFoldersCompactDelegatesToApplicationReadService (line 540) | [Fact] method MailFolderAliasesListDelegatesToSharedFolderAliasService (line 559) | [Fact] method MailFolderResolveDelegatesToSharedFolderAliasService (line 573) | [Fact] method MailMovePreviewUsesSharedPreviewService (line 587) | [Fact] method MailActionsPreviewUsesSharedPreviewService (line 606) | [Fact] method MailActionsBundlePreviewUsesSharedPreviewService (line 628) | [Fact] method MailActionPlanUsesSharedPlanningService (line 650) | [Fact] method MailActionPlanExportUsesSharedPlanExchangeService (line 669) | [Fact] method MailActionPlanImportUsesSharedPlanExchangeService (line 688) | [Fact] method MailActionBatchImportUsesSharedPlanExchangeService (line 707) | [Fact] method MailActionBatchStoreListUsesSharedRegistryService (line 730) | [Fact] method MailActionBatchStoreSummaryListUsesSharedRegistryService (line 742) | [Fact] method MailActionBatchStoreSummaryListPassesSortToSharedRegistryService (line 755) | [Fact] method MailActionBatchStoreSummaryListPassesExplicitIdSortToSharedRegistryService (line 768) | [Fact] method MailActionBatchStoreListPassesPlanNameFilterToSharedRegistryService (line 781) | [Fact] method MailActionBatchStoreListPassesProfileFilterToSharedRegistryService (line 793) | [Fact] method MailActionBatchStoreListPassesActionFilterToSharedRegistryService (line 805) | [Fact] method MailActionBatchStoreImportUsesSharedRegistryService (line 817) | [Fact] method MailActionBatchStoreCreateCommonUsesSharedRegistryService (line 828) | [Fact] method MailActionBatchStoreCreateFromPreviewUsesSharedRegistryService (line 856) | [Fact] method MailActionBatchStoreExecuteUsesSharedRegistryService (line 887) | [Fact] method MailActionBatchStoreAppendPlanUsesSharedRegistryService (line 898) | [Fact] method MailActionBatchStoreRemovePlanUsesSharedRegistryService (line 917) | [Fact] method MailActionBatchStoreCloneUsesSharedRegistryService (line 928) | [Fact] method MailActionBatchStoreTransformCloneUsesSharedRegistryService (line 939) | [Fact] method MailActionBatchStoreTransformPreviewUsesSharedRegistryService (line 969) | [Fact] method MailActionBatchStoreReplacePlanUsesSharedRegistryService (line 994) | [Fact] method MailActionExecuteUsesSharedBatchService (line 1015) | [Fact] method MailActionBatchExecuteUsesSharedBatchService (line 1035) | [Fact] method MailDeletePreviewUsesSharedPreviewService (line 1074) | [Fact] method MailSearchCompactDelegatesToApplicationReadService (line 1091) | [Fact] method MailAttachmentsListDelegatesToApplicationReadService (line 1117) | [Fact] method MailAttachmentsSaveDelegatesToApplicationReadService (line 1136) | [Fact] method MailAttachmentsSaveManyDelegatesToApplicationReadService (line 1163) | [Fact] method MailGetCompactDelegatesToApplicationReadService (line 1191) | [Fact] method MailGetManyCompactDelegatesToApplicationReadService (line 1211) | [Fact] method MailMarkReadDelegatesToApplicationMessageActionService (line 1231) | [Fact] method MailFlagDelegatesToApplicationMessageActionService (line 1253) | [Fact] method MailMarkReadPreviewUsesSharedPreviewService (line 1275) | [Fact] method MailFlagPreviewUsesSharedPreviewService (line 1293) | [Fact] method MailArchiveDelegatesToSharedArchiveAlias (line 1311) | [Fact] method MailTrashDelegatesToSharedTrashAlias (line 1330) | [Fact] method MailMoveDelegatesToApplicationMessageActionService (line 1349) | [Fact] method MailDeleteDelegatesToApplicationMessageActionService (line 1369) | [Fact] method MailSendBuildsQueueFirstSendRequest (line 1388) | [Fact] method MailDraftSaveAndListRoundTripsThroughDraftService (line 1410) | [Fact] method MailDraftCompactListReturnsLightweightProjection (line 1435) | [Fact] method MailDraftGetReturnsStoredDraft (line 1453) | [Fact] method MailDraftCompactGetReturnsLightweightProjection (line 1470) | [Fact] method MailDraftSendUsesStoredDraft (line 1487) | [Fact] method MailDraftImportLoadsDraftFileIntoSharedStore (line 1509) | [Fact] method MailDraftExportWritesStoredDraftFile (line 1535) | [Fact] method MailDraftDeleteRemovesStoredDraft (line 1555) | [Fact] method MailQueueProcessDelegatesToQueueService (line 1572) | [Fact] method MailQueueCompactListReturnsLightweightProjection (line 1584) | [Fact] method MailQueueCompactGetReturnsLightweightProjection (line 1595) | [Fact] class TestFixture (line 1605) | private sealed class TestFixture : IDisposable { method TestFixture (line 1608) | public TestFixture() { method CreatePath (line 1669) | public string CreatePath(string fileName) => Path.Combine(_tempDirec... method Dispose (line 1671) | public void Dispose() { class FakeMessageActionPlanExchangeService (line 1678) | private sealed class FakeMessageActionPlanExchangeService : IMailMessa... method LoadAsync (line 1704) | public Task LoadAsync(string path, Cance... method LoadBatchAsync (line 1709) | public Task> LoadBatchAsyn... method SaveAsync (line 1714) | public Task SaveAsync(string path, MessageActionExecutionPlan plan, ... method SaveBatchAsync (line 1720) | public Task SaveBatchAsync(string path, IReadOnlyList AppendImportedPlanAsync(string batchId,... method AppendPlanAsync (line 1796) | public Task AppendPlanAsync(string batchId, Message... method CloneAsync (line 1802) | public Task CloneAsync(string sourceBatchId, string... method CreateCommonBatchAsync (line 1808) | public Task CreateCommonBatchAsync( method CreateCommonBatchFromPreviewAsync (line 1829) | public Task CreateCommonBatchFromPreviewAsync( method TransformCloneAsync (line 1863) | public Task TransformCloneAsync( method PreviewTransformCloneAsync (line 1885) | public Task PreviewTrans... method DeleteAsync (line 1928) | public Task DeleteAsync(string batchId, Cancellatio... method ExecuteAsync (line 1931) | public Task ExecuteAsync(string b... method ExportAsync (line 1942) | public Task ExportAsync(string batchId, string path... method GetBatchAsync (line 1945) | public Task GetBatchAsync(string batchI... method GetBatchCompactAsync (line 1962) | public Task GetBatchCompactAsync... method GetBatchSummaryAsync (line 1973) | public Task GetBatchSummaryAsync... method GetBatchesAsync (line 1987) | public Task> GetBatchesAsy... method GetBatchesCompactAsync (line 2016) | public Task> GetBat... method GetBatchesSummaryAsync (line 2040) | public Task> GetBat... method ImportAsync (line 2067) | public Task ImportAsync(string batchId, string name... method ReplaceImportedPlanAtAsync (line 2073) | public Task ReplaceImportedPlanAtAsync(string batch... method ReplacePlanAtAsync (line 2080) | public Task ReplacePlanAtAsync(string batchId, int ... method RemovePlanAtAsync (line 2087) | public Task RemovePlanAtAsync(string batchId, int i... method SaveAsync (line 2093) | public Task SaveAsync(MailMessageActionPlanBatch ba... class InMemoryProfileStore (line 2097) | private sealed class InMemoryProfileStore : IMailProfileStore { method InMemoryProfileStore (line 2100) | public InMemoryProfileStore(IEnumerable profiles) { method GetAllAsync (line 2104) | public Task> GetAllAsync(CancellationToke... method GetByIdAsync (line 2107) | public Task GetByIdAsync(string profileId, Cancellatio... method SaveAsync (line 2112) | public Task SaveAsync(MailProfile profile, CancellationToken cancell... method RemoveAsync (line 2117) | public Task RemoveAsync(string profileId, CancellationToken ca... method CloneProfile (line 2120) | private static MailProfile CloneProfile(MailProfile profile) => new() { class InMemorySecretStore (line 2135) | private sealed class InMemorySecretStore : IMailSecretStore { method GetSecretAsync (line 2138) | public Task GetSecretAsync(string profileId, string secretN... method SetSecretAsync (line 2143) | public Task SetSecretAsync(string profileId, string secretName, stri... method RemoveSecretAsync (line 2148) | public Task RemoveSecretAsync(string profileId, string secretN... method CreateKey (line 2151) | private static string CreateKey(string profileId, string secretName)... class FakeReadService (line 2154) | private sealed class FakeReadService : IMailReadService { method GetFoldersCompactAsync (line 2175) | public Task> GetFoldersCompactAsync(... method GetFoldersAsync (line 2189) | public Task> GetFoldersAsync(MailFolderQuer... method SearchAsync (line 2219) | public Task> SearchAsync(MailSearchReq... method SearchCompactAsync (line 2230) | public Task> SearchCompactAsync... method GetAttachmentsAsync (line 2242) | public Task> GetAttachmentsAsync(Li... method SaveAttachmentsAsync (line 2254) | public Task SaveAttachmentsAsync(SaveAttachme... method SaveAttachmentsManyAsync (line 2276) | public Task SaveAttachmentsManyAsync(Save... method GetMessageCompactAsync (line 2302) | public Task GetMessageCompactAsync(GetMessage... method GetMessagesCompactAsync (line 2320) | public Task> GetMessagesCompactA... method GetMessageAsync (line 2338) | public Task GetMessageAsync(GetMessageRequest reques... method GetMessagesAsync (line 2349) | public Task> GetMessagesAsync(GetMessag... method SaveAttachmentAsync (line 2362) | public Task SaveAttachmentAsync(SaveAttachmentReque... class FakeSendService (line 2366) | private sealed class FakeSendService : IMailSendService { method SendAsync (line 2369) | public Task SendAsync(SendMessageRequest request, Cancel... class FakeMessageActionService (line 2383) | private sealed class FakeMessageActionService : IMailMessageActionServ... method SetReadStateAsync (line 2392) | public Task SetReadStateAsync(SetReadStateReque... method SetFlaggedStateAsync (line 2397) | public Task SetFlaggedStateAsync(SetFlaggedStat... method MoveAsync (line 2402) | public Task MoveAsync(MoveMessagesRequest reque... method DeleteAsync (line 2407) | public Task DeleteAsync(DeleteMessagesRequest r... method CreateResult (line 2412) | private static MessageActionResult CreateResult(string profileId, IR... class FakeQueueService (line 2426) | private sealed class FakeQueueService : IMailQueueService { method ListCompactAsync (line 2429) | public Task> ListCompactAsync(Ca... method ListAsync (line 2443) | public Task> ListAsync(Cancellat... method GetCompactAsync (line 2455) | public Task GetCompactAsync(string messageId,... method GetAsync (line 2467) | public Task GetAsync(string messageId, Cancel... method RemoveAsync (line 2477) | public Task RemoveAsync(string messageId, Cancellat... method ProcessAsync (line 2480) | public Task ProcessAsync(CancellationToken cance... class FakeProfileAuthService (line 2494) | private sealed class FakeProfileAuthService : IMailProfileAuthService { method FakeProfileAuthService (line 2498) | public FakeProfileAuthService(InMemoryProfileStore profileStore, InM... method GetStatusAsync (line 2513) | public async Task GetStatusAsync(string prof... method LoginGmailAsync (line 2538) | public async Task LoginGmailAsync(G... method LoginGraphAsync (line 2571) | public async Task LoginGraphAsync(G... method RefreshAsync (line 2588) | public async Task RefreshAsync(stri... method ParseSecretReference (line 2606) | private static (string ProfileId, string SecretName) ParseSecretRefe... class FakeProfileConnectionService (line 2622) | private sealed class FakeProfileConnectionService : IMailProfileConnec... method TestAsync (line 2627) | public Task TestAsync( FILE: Sources/Mailozaurr.Tests/MailboxSearcherBodyTests.cs class MailboxSearcherBodyTests (line 11) | public class MailboxSearcherBodyTests { method SearchPop3Async_BodyContains_FiltersMessages (line 12) | [Fact] class FakePop3Client (line 23) | private sealed class FakePop3Client : Pop3Client { method FakePop3Client (line 25) | public FakePop3Client(IEnumerable messages) => _message... method GetMessageAsync (line 29) | public override Task GetMessageAsync(int index, Cancell... FILE: Sources/Mailozaurr.Tests/MailgunClientTests.cs class MailgunClientTests (line 14) | public class MailgunClientTests class DummyCredentials (line 16) | private class DummyCredentials : ICredentials method GetCredential (line 18) | public NetworkCredential GetCredential(Uri uri, string authType) => ... class TrackingHandler (line 21) | private sealed class TrackingHandler : HttpMessageHandler method TrackingHandler (line 27) | public TrackingHandler(HttpStatusCode statusCode, string content = "") method SendAsync (line 33) | protected override Task SendAsync(HttpRequestMe... class TrackingContent (line 42) | private sealed class TrackingContent : StringContent method TrackingContent (line 46) | public TrackingContent(string content, Action onDispose) : base(co... method Dispose (line 51) | protected override void Dispose(bool disposing) class DisposingHandler (line 59) | private sealed class DisposingHandler : HttpMessageHandler method SendAsync (line 63) | protected override Task SendAsync(HttpRequestMe... method Dispose (line 66) | protected override void Dispose(bool disposing) class DerivedMailgunClient (line 73) | private sealed class DerivedMailgunClient : MailgunClient method Dispose (line 77) | protected override void Dispose(bool disposing) method EmailDomain_InvalidAddress_ThrowsArgumentException (line 87) | [Fact] method CreateContentAsync_WithHeaders_IncludesHeaders (line 97) | [Fact] method CreateContentAsync_DuplicateAttachmentPaths_SkipsDuplicates (line 115) | [Fact] method CreateContentAsync_DuplicateInlineAttachmentPaths_SkipsDuplicates (line 139) | [Fact] method CreateContentAsync_AttachmentAndInlineDuplicatePaths_SkipsDuplicates (line 163) | [Fact] method CreateContentAsync_UsesStreamContentForFiles (line 192) | [Fact] method SendEmailAsync_InvalidCredentials_ThrowsInvalidOperationException (line 240) | [Fact] method SendEmailAsync_DisposesResponse_OnSuccess (line 253) | [Fact] method SendEmailAsync_DisposesResponse_OnFailure (line 263) | [Fact] method Dispose_DerivedType_DisposesHttpClient (line 273) | [Fact] method SendEmailAsync_AfterDispose_ThrowsObjectDisposedException (line 293) | [Fact] method CreateClient (line 308) | private static MailgunClient CreateClient(HttpMessageHandler handler) FILE: Sources/Mailozaurr.Tests/MessageFlaggerTests.cs class MessageFlaggerTests (line 8) | public class MessageFlaggerTests { class FakeFolder (line 9) | private class FakeFolder : MessageFlagSetter.IImapFolder { method AddFlagsAsync (line 11) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 16) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... method SetImapFlags_MarksRead (line 23) | [Fact] method SetImapFlags_DryRun_DoesNotChangeState (line 32) | [Fact] method SetPop3Flags_StoresState (line 39) | [Fact] method SetPop3Flags_DryRun_DoesNotStoreState (line 48) | [Fact] FILE: Sources/Mailozaurr.Tests/MessageInfoTests.cs class MessageInfoTests (line 13) | public class MessageInfoTests { method ImapInfo_ExposesProperties (line 14) | [Fact] method Pop3Info_ExposesProperties (line 31) | [Fact] method GraphInfo_ExposesProperties (line 48) | [Fact] FILE: Sources/Mailozaurr.Tests/MicrosoftGraphUtilsCertificateTokenCachingTests.cs class MicrosoftGraphUtilsCertificateTokenCachingTests (line 11) | [Collection("GraphCollection")] method MicrosoftGraphUtilsCertificateTokenCachingTests (line 13) | public MicrosoftGraphUtilsCertificateTokenCachingTests() { method ConnectO365GraphAsync_WithCertificateBytes_UsesCachedToken (line 17) | [Fact] method ConnectO365GraphAsync_WithCertificatePem_UsesCachedToken (line 49) | [Fact] method ClearCaches (line 80) | private static void ClearCaches() { method Dispose (line 90) | public void Dispose() { FILE: Sources/Mailozaurr.Tests/MicrosoftGraphUtilsJunkMailTests.cs class MicrosoftGraphUtilsJunkMailTests (line 13) | [Collection("GraphCollection")] method FilterJunkMessages_SingleUseSkipEnumerables_AppliesFiltersAcrossMultipleMessages (line 15) | [Fact] method GetJunkMailMessagesAsync_SingleUseSkipAttachmentExtensions_AppliesFilter (line 59) | [Fact] method GetHandlerField (line 90) | private static FieldInfo GetHandlerField() class JunkMailHandler (line 95) | private sealed class JunkMailHandler : HttpMessageHandler { method SendAsync (line 98) | protected override Task SendAsync(HttpRequestMe... class SingleUseEnumerable (line 134) | private sealed class SingleUseEnumerable : IEnumerable { method SingleUseEnumerable (line 137) | public SingleUseEnumerable(params T[] items) { method GetEnumerator (line 143) | public IEnumerator GetEnumerator() { method GetEnumerator (line 152) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); FILE: Sources/Mailozaurr.Tests/MicrosoftGraphUtilsNullResponseTests.cs class MicrosoftGraphUtilsNullResponseTests (line 11) | [Collection("GraphCollection")] class NullContentHandler (line 13) | private sealed class NullContentHandler : HttpMessageHandler { method SendAsync (line 14) | protected override Task SendAsync(HttpRequestMe... method GetHandlerField (line 23) | private static FieldInfo GetHandlerField() => method NewRuleAsync_NullResponse_Throws (line 28) | [Fact] method NewEventAsync_NullResponse_Throws (line 46) | [Fact] FILE: Sources/Mailozaurr.Tests/MicrosoftGraphUtilsPagingTests.cs class MicrosoftGraphUtilsPagingTests (line 13) | [Collection("GraphCollection")] method GetHandlerField (line 15) | private static FieldInfo GetHandlerField() => method GetMailMessagesAsync_FollowsNextLinkAndRespectsLimit (line 20) | [Fact] method GetMailMessagesAsync_CanBeCancelledDuringPaging (line 53) | [Fact] method GetMailMessageAttachmentsAsync_FollowsNextLink (line 82) | [Fact] method GetMailFoldersAsync_FollowsNextLink (line 115) | [Fact] class BlockingHandler (line 148) | private sealed class BlockingHandler : HttpMessageHandler { method BlockingHandler (line 154) | public BlockingHandler(string firstPageJson) { method SendAsync (line 158) | protected override async Task SendAsync(HttpReq... FILE: Sources/Mailozaurr.Tests/MicrosoftGraphUtilsTests.cs class MicrosoftGraphUtilsTests (line 9) | public class MicrosoftGraphUtilsTests method BuildGraphUri_JoinsBaseAndPath (line 11) | [Fact] method BuildGraphUri_EncodesQueryParameters (line 18) | [Fact] method JoinUriQuery_JoinsUriCorrectly (line 25) | [Fact] method JoinUriQuery_EncodesQueryParameters (line 32) | [Fact] method RemoveEmptyValues_RemovesNestedEmptyEntries (line 39) | [Fact] method RemoveEmptyValues_RespectsExcludeParameter (line 56) | [Fact] method FilterJunkMessages_SkipId (line 72) | [Fact] method FilterJunkMessages_SkipFromToSubjectAndAttachment (line 82) | [Fact] FILE: Sources/Mailozaurr.Tests/MimeKitNonDeliveryReportTests.cs class MimeKitNonDeliveryReportTests (line 11) | public class MimeKitNonDeliveryReportTests { method GetNonDeliveryReports_ParsesSingleMessage (line 12) | [Fact] method GetNonDeliveryReports_ParsesMultipleReports (line 22) | [Fact] method GetNonDeliveryReports_DetectsReportViaSubject (line 33) | [Fact] method GetNonDeliveryReports_SubjectReportUsesMessageDate (line 42) | [Fact] method GetNonDeliveryReports_IgnoresDuplicateHeaders (line 53) | [Fact] FILE: Sources/Mailozaurr.Tests/NativeMailboxBrowserSessionsTests.cs class NativeMailboxBrowserSessionsTests (line 9) | public sealed class NativeMailboxBrowserSessionsTests { method GraphMailboxBrowserSession_UsesProvidedHttpClientAndCredential (line 10) | [Fact] method GraphMailboxBrowserSession_CreateWithAccessToken_RejectsEmptyToken (line 29) | [Fact] method GmailMailboxBrowserSession_UsesProvidedUserIdAndCredential (line 35) | [Fact] method GmailMailboxBrowserSession_CreateWithAccessToken_DefaultsToMeUserId (line 52) | [Fact] method GraphMailboxBrowserSession_Dispose_IsIdempotent_AndPreventsFurtherUse (line 66) | [Fact] method GraphMailboxBrowserSession_Dispose_DoesNotDisposeProvidedHttpClient (line 79) | [Fact] method GmailMailboxBrowserSession_Dispose_IsIdempotent_AndPreventsFurtherUse (line 95) | [Fact] method GmailMailboxBrowserSession_Dispose_DoesNotDisposeProvidedHttpClient (line 108) | [Fact] FILE: Sources/Mailozaurr.Tests/NativeMailboxThreadingMetadataOperationsTests.cs class NativeMailboxThreadingMetadataOperationsTests (line 6) | public sealed class NativeMailboxThreadingMetadataOperationsTests { method Normalize_FromRawValues_NormalizesAndDeduplicates (line 7) | [Fact] method Normalize_FromGraphResult_UsesSharedNormalization (line 31) | [Fact] method Normalize_FromGmailResult_UsesSharedNormalization (line 55) | [Fact] method Normalize_EmptyReferences_ReturnsNullReferences (line 79) | [Fact] FILE: Sources/Mailozaurr.Tests/NativeSentMailboxOperationsTests.cs class NativeSentMailboxOperationsTests (line 5) | public sealed class NativeSentMailboxOperationsTests { method ResolveGraphSentFolderName_PrefersRequestedFolder (line 6) | [Fact] method ResolveGraphSentFolderName_UsesConfiguredWhenRequestedMissing (line 15) | [Fact] method ResolveGraphSentFolderName_UsesFallbackWhenOverridesMissing (line 24) | [Fact] method ResolveGraphSentFolderSelector_UsesGraphFolderSelectorRules (line 33) | [Fact] method ResolveGmailSentLabelId_IsAlwaysSystemSentLabel (line 42) | [Fact] method ResolveGmailSentFolderName_PrefersRequestedThenConfiguredThenFallback (line 51) | [Fact] FILE: Sources/Mailozaurr.Tests/NonDeliveryReportDetectionTests.cs class NonDeliveryReportDetectionTests (line 11) | public class NonDeliveryReportDetectionTests { method CreateNdrMessage (line 12) | private static MimeMessage CreateNdrMessage() { method ImapEmailMessageDetectsNdr (line 18) | [Fact] method Pop3EmailMessageDetectsNdr (line 26) | [Fact] method GraphEmailMessageDetectsNdr (line 34) | [Fact] method FilterNonDeliveryReports_IgnoresRecipientPrefixes (line 42) | [Fact] FILE: Sources/Mailozaurr.Tests/NonDeliveryReportServiceTests.cs class NonDeliveryReportServiceTests (line 11) | public class NonDeliveryReportServiceTests { class InMemorySentMessageRepository (line 12) | private sealed class InMemorySentMessageRepository : ISentMessageRepos... method SaveAsync (line 15) | public Task SaveAsync(SentMessageRecord record, CancellationToken ca... method GetByMessageIdAsync (line 20) | public Task GetByMessageIdAsync(string messageId... class TestService (line 29) | private sealed class TestService : NonDeliveryReportServiceBase { method TestService (line 32) | public TestService(IList reports, SendLogResolver... method SearchInternalAsync (line 34) | protected override Task> SearchInternalAsync( class ConcurrencyTestService (line 43) | private sealed class ConcurrencyTestService : NonDeliveryReportService... method ConcurrencyTestService (line 47) | public ConcurrencyTestService(SendLogResolver resolver) : base(resol... method SearchInternalAsync (line 51) | protected override async Task> SearchIntern... method SearchAsync_ResolvesSentMessage (line 73) | [Fact] method SearchAsync_SerializesInternalCalls (line 88) | [Fact] FILE: Sources/Mailozaurr.Tests/NonDeliveryReportTests.cs class NonDeliveryReportTests (line 9) | public class NonDeliveryReportTests { method ParseStatusAndMapType (line 10) | [Theory] method ParseHeadersCreatesReport (line 26) | [Fact] method ParsesOriginalMessageId (line 57) | [Fact] method ParseTimestampHandlesVariousFormats (line 66) | [Theory] method LastAttemptDateMissingOrInvalid_ReturnsNull (line 82) | [Theory] FILE: Sources/Mailozaurr.Tests/OAuthCacheTestHelper.cs class OAuthCacheTestHelper (line 8) | internal static class OAuthCacheTestHelper { method ResetOAuthTokenCache (line 9) | internal static void ResetOAuthTokenCache() { method GetOAuthCacheFilePath (line 14) | internal static string GetOAuthCacheFilePath() { method DeleteOAuthCacheFile (line 19) | internal static void DeleteOAuthCacheFile() { FILE: Sources/Mailozaurr.Tests/OAuthHelpersCachedTokenTests.cs class OAuthHelpersCachedTokenTests (line 9) | [Collection("GraphCollection")] method OAuthHelpersCachedTokenTests (line 11) | public OAuthHelpersCachedTokenTests() { method AcquireO365TokenCachedAsync_ReturnsCachedToken (line 16) | [Fact] method AcquireO365TokenCachedAsync_SeparatesEntriesPerClientAndScope (line 43) | [Fact] method PersistO365CredentialAsync_WritesLegacyAndCompositeEntries (line 74) | [Fact] method GetAsync_ThrowsWhenCancellationRequested (line 101) | [Fact] method SetAsync_ThrowsWhenCancellationRequested (line 117) | [Fact] method BuildO365CacheKey (line 132) | private static string BuildO365CacheKey( method PersistO365CredentialAsync (line 142) | private static async Task PersistO365CredentialAsync( FILE: Sources/Mailozaurr.Tests/OAuthHelpersGoogleCachedTokenTests.cs class OAuthHelpersGoogleCachedTokenTests (line 8) | [Collection("GraphCollection")] method OAuthHelpersGoogleCachedTokenTests (line 10) | public OAuthHelpersGoogleCachedTokenTests() { method AcquireGoogleTokenCachedAsync_PrefersCompositeKey_WhenBothExist (line 15) | [Fact] method AcquireGoogleTokenCachedAsync_FillsMissingClientData_AndMigratesLegacy (line 44) | [Fact] method PersistGoogleCredentialAsync_WritesLegacyAndCompositeEntries (line 70) | [Fact] method PersistGoogleCredentialAsync (line 94) | private static async Task PersistGoogleCredentialAsync( FILE: Sources/Mailozaurr.Tests/OAuthTokenCacheProtectionTests.cs class OAuthTokenCacheProtectionTests (line 9) | [Collection("GraphCollection")] method OAuthTokenCacheProtectionTests (line 11) | public OAuthTokenCacheProtectionTests() { method SetAsync_WritesProtectedSecretsToDisk (line 16) | [Fact] method GetAsync_LoadsLegacyPlaintextCacheFile (line 59) | [Fact] method GetAsync_MalformedCacheFileReturnsNull (line 97) | [Fact] method SetAsync_MalformedCacheFileIsRecovered (line 113) | [Fact] method GetAsync_RetriesTransientFileLockAndLoadsCredential (line 143) | [Fact] FILE: Sources/Mailozaurr.Tests/Pop3AttachmentPayloadBuilderTests.cs class Pop3AttachmentPayloadBuilderTests (line 6) | public sealed class Pop3AttachmentPayloadBuilderTests { method Build_ReturnsNotFound_WhenIndexOutOfRange (line 7) | [Fact] method Build_ReturnsSizeLimitExceeded_WhenPayloadTooLarge (line 20) | [Fact] method Build_ReturnsPayload_ForMimePart (line 34) | [Fact] FILE: Sources/Mailozaurr.Tests/Pop3ConnectionTests.cs class Pop3ConnectionTests (line 6) | public class Pop3ConnectionTests { class FakePop3Client (line 7) | private class FakePop3Client { method Connect (line 12) | public void Connect() { method FetchMessageList (line 24) | public IReadOnlyList FetchMessageList() { method Pop3_Connect_WithValidCredentials_Succeeds (line 32) | [Fact] method Pop3_Connect_WithInvalidCredentials_Fails (line 44) | [Fact] method Pop3_Connect_WithTimeout_Fails (line 53) | [Fact] method Pop3_FetchMessageList_Succeeds (line 62) | [Fact] FILE: Sources/Mailozaurr.Tests/Pop3MailboxBrowserTests.cs class Pop3MailboxBrowserTests (line 10) | public sealed class Pop3MailboxBrowserTests { method ListMessageHeadersCoreAsync_ListsNewestFirst_WithOffsetAndLimit (line 11) | [Fact] method ResolveMessageCoreAsync_MissingIdentifier_ReturnsMissingIdentifier (line 50) | [Fact] method ResolveMessageCoreAsync_InvalidIndex_ReturnsInvalidIndex (line 58) | [Fact] method ResolveMessageCoreAsync_UidLookupUnsupported_ReturnsUidLookupUnsupported (line 65) | [Fact] method ResolveMessageCoreAsync_ResolvesByUid (line 72) | [Fact] method DeleteMessageCoreAsync_ResolvesByUid_AndDeletesResolvedIndex (line 88) | [Fact] method DeleteMessageCoreAsync_MissingIdentifier_ReturnsMissingIdentifier (line 103) | [Fact] method DeleteMessageCoreAsync_UidLookupUnsupported_ReturnsUidLookupUnsupported (line 112) | [Fact] method NormalizeMessageIdValue_StripsAngleBrackets (line 121) | [Fact] method BuildHeaders (line 128) | private static HeaderList BuildHeaders(string messageId, string from, ... class FakePop3Client (line 138) | private sealed class FakePop3Client : Pop3MailboxBrowser.IPop3MailboxC... method FakePop3Client (line 144) | internal FakePop3Client(int count) { method SetHeaders (line 153) | internal void SetHeaders(int index, HeaderList headers) => _headers[... method SetUid (line 154) | internal void SetUid(int index, string uid) => _uids[index] = uid; method SetSize (line 155) | internal void SetSize(int index, long size) => _sizes[index] = size; method SetMessage (line 156) | internal void SetMessage(int index, MimeMessage msg) => _messages[in... method GetMessageHeadersAsync (line 158) | public Task GetMessageHeadersAsync(int index, Cancellati... method GetMessageAsync (line 161) | public Task GetMessageAsync(int index, CancellationToke... method GetMessageUidAsync (line 164) | public Task GetMessageUidAsync(int index, CancellationToken ... method GetMessageUidsAsync (line 167) | public Task> GetMessageUidsAsync(CancellationToken can... method DeleteMessageAsync (line 174) | public Task DeleteMessageAsync(int index, CancellationToken cancella... method GetMessageSize (line 179) | public long GetMessageSize(int index, CancellationToken cancellation... FILE: Sources/Mailozaurr.Tests/Pop3PollListenerTests.cs class Pop3PollListenerTests (line 12) | public class Pop3PollListenerTests { method Dispose_DisposesCancellationTokenSourceAndNullsField (line 13) | [Fact] method DisposeAsync_DisposesCancellationTokenSourceAndNullsField (line 29) | [Fact] method StartAsync_FailureDuringInitialSnapshot_CleansUpState (line 45) | [Fact] method StartAsync_RaisesEventsForNewUidsOnly (line 59) | [Fact] method PollLoop_HandlesDeletionsAndReorderedIndexes (line 83) | [Fact] method StopAsync_WaitsForPollingLoopToComplete (line 112) | [Fact] method PollLoop_RaisesPollErrorAndRecoversAfterException (line 135) | [Fact] method StopAsync_DuringErrorBackoff_CompletesPollingTaskSuccessfully (line 172) | [Fact] method CreateMessage (line 197) | private static MimeMessage CreateMessage(string subject) { class TestPop3PollListener (line 203) | private sealed class TestPop3PollListener : Pop3PollListener { method TestPop3PollListener (line 210) | public TestPop3PollListener() method SetMessages (line 216) | public void SetMessages(params TestMessage[] messages) { method WaitForDelayAsync (line 225) | public Task WaitForDelayAsync() => _delayScheduled.WaitAsync(); method ReleaseNextDelay (line 227) | public void ReleaseNextDelay() { method ThrowOnNextFetch (line 238) | public void ThrowOnNextFetch(Exception exception) { method GetMessageCount (line 248) | protected override int GetMessageCount() { method GetMessageUidAsync (line 254) | protected override Task GetMessageUidAsync(int index, Cancel... method GetMessageAsync (line 260) | protected override Task GetMessageAsync(int index, Canc... method NoOpAsync (line 272) | protected override Task NoOpAsync(CancellationToken cancellationToke... method DelayAsync (line 274) | protected override Task DelayAsync(TimeSpan interval, CancellationTo... type TestMessage (line 289) | public readonly struct TestMessage { method TestMessage (line 290) | public TestMessage(string uid, MimeMessage message) { FILE: Sources/Mailozaurr.Tests/ProtocolAuthTests.cs class ProtocolAuthTests (line 5) | public sealed class ProtocolAuthTests { method ParseMode_ParsesExpectedValues (line 6) | [Theory] method ParseMode_UsesProvidedFallbackForUnknownValue (line 21) | [Fact] FILE: Sources/Mailozaurr.Tests/QueryLanguageParserTests.cs class QueryLanguageParserTests (line 8) | public class QueryLanguageParserTests { method ParseQuery_ParsesBasicFields (line 9) | [Fact] method ParseQuery_ParsesDatesAndFlags (line 16) | [Fact] method ParseQuery_IsCaseInsensitive (line 25) | [Fact] method ParseQuery_ParsesBodyContains (line 33) | [Fact] FILE: Sources/Mailozaurr.Tests/RecordingHandler.cs class RecordingHandler (line 9) | public class RecordingHandler : HttpMessageHandler method RecordingHandler (line 14) | public RecordingHandler(params HttpResponseMessage[] responses) method SendAsync (line 19) | protected override async Task SendAsync(HttpReque... FILE: Sources/Mailozaurr.Tests/RetryAlwaysTests.cs class RetryAlwaysTests (line 4) | public class RetryAlwaysTests { method Smtp_RetryAlways_DefaultsFalse (line 5) | [Fact] method Smtp_RetryAlways_Settable (line 11) | [Fact] FILE: Sources/Mailozaurr.Tests/SearchDmarcReportsTests.cs class SearchDmarcReportsTests (line 20) | public class SearchDmarcReportsTests { method CreateDmarc (line 21) | private static MimeMessage CreateDmarc(string domain, DateTimeOffset d... method CreateXmlDmarc (line 37) | private static MimeMessage CreateXmlDmarc(string domain, DateTimeOffse... method CreateZippedXmlDmarc (line 54) | private static MimeMessage CreateZippedXmlDmarc(string domain, DateTim... class TrackingPop3Client (line 77) | private class TrackingPop3Client : Pop3Client { method TrackingPop3Client (line 80) | public TrackingPop3Client(IEnumerable messages) { method GetMessageAsync (line 86) | public override async Task GetMessageAsync(int index, C... method FilterDmarcReports_ExtractsAttachments (line 93) | [Fact] method FilterDmarcReports_MatchesDomainInAttachmentName (line 109) | [Fact] method FilterDmarcReports_MatchesDomainInXmlContent (line 120) | [Fact] method FilterDmarcReports_FiltersOutMismatchedDomain (line 129) | [Fact] method BuildDmarcReportSearchQuery_ContainsSubject (line 142) | [Fact] method BuildDmarcReportSearchQuery_RequiresAttachments (line 161) | [Fact] method BuildGmailDmarcReportQuery_IncludesDomainAndDates (line 183) | [Fact] method BuildGmailDmarcReportQuery_DomainWithDots_ReturnsQuery (line 194) | [Fact] method BuildGmailDmarcReportQuery_DomainWithQuotes_EscapesQuotes (line 201) | [Fact] method FilterDmarcReports_FiltersAcrossTimeZones (line 208) | [Fact] method FilterDmarcReports_ExtractsXmlAttachmentByExtension (line 220) | [Fact] method FilterDmarcReports_ExtractsXmlAttachmentByContentType (line 231) | [Theory] method SearchDmarcReportsAsync_Pop3_StopsAfterMaxResults (line 244) | [Fact] method SearchDmarcReportsAsync_Graph_PropagatesCancellationToMimeDownload (line 262) | [Fact] method FilterDmarcReports_IgnoresMalformedArchive (line 292) | [Fact] method FilterDmarcReports_SkipsOversizedAttachment (line 319) | [Fact] method GetHandlerField (line 354) | private static FieldInfo GetHandlerField() => class CancelDuringGraphMimeHandler (line 359) | private sealed class CancelDuringGraphMimeHandler : HttpMessageHandler { method SendAsync (line 363) | protected override async Task SendAsync(HttpReq... FILE: Sources/Mailozaurr.Tests/SearchNonDeliveryReportsTests.cs class SearchNonDeliveryReportsTests (line 22) | public class SearchNonDeliveryReportsTests { method CreateNdr (line 23) | private static MimeMessage CreateNdr(string recipient, string messageI... method CreateMultiRecipientNdr (line 34) | private static MimeMessage CreateMultiRecipientNdr(string messageId, D... method FilterNonDeliveryReports_FiltersByRecipientAndMessageId (line 59) | [Fact] method FilterNonDeliveryReports_MatchesMessageIdWithOrWithoutBrackets (line 75) | [Theory] method FilterNonDeliveryReports_FiltersByDate (line 93) | [Fact] method FilterNonDeliveryReports_UsesLastAttemptDateWhenPresent (line 104) | [Fact] method FilterNonDeliveryReports_FiltersAcrossTimeZones (line 114) | [Fact] method FilterNonDeliveryReports_SubjectDetectedReportSurvivesDateFilter (line 126) | [Fact] method FilterNonDeliveryReports_ReportWithoutTimestampUsesMessageDate (line 141) | [Fact] method Contains (line 154) | private static bool Contains(SearchQuery query, Func messages, int delay) { method GetMessageAsync (line 202) | public override async Task GetMessageAsync(int index, C... class CountingPop3Client (line 208) | private class CountingPop3Client : Pop3Client { method CountingPop3Client (line 214) | public CountingPop3Client(IEnumerable messages, int del... method GetMessageAsync (line 221) | public override async Task GetMessageAsync(int index, C... class TrackingPop3Client (line 235) | private class TrackingPop3Client : Pop3Client { method TrackingPop3Client (line 238) | public TrackingPop3Client(IEnumerable messages) { method GetMessageAsync (line 244) | public override async Task GetMessageAsync(int index, C... method SearchNonDeliveryReportsAsync_Pop3_DownloadsInParallel (line 251) | [Fact] method SearchNonDeliveryReportsAsync_Pop3_RespectsParallelLimit (line 273) | [Fact] method SearchNonDeliveryReportsAsync_Pop3_StopsAfterMaxResults (line 287) | [Fact] method SearchNonDeliveryReportsAsync_Graph_FiltersBySubject (line 305) | [Fact] method SearchNonDeliveryReportsAsync_Graph_RespectsMaxResultsWithinSingleMime (line 332) | [Theory] method SearchNonDeliveryReportsAsync_Graph_PropagatesCancellationToMessageListing (line 358) | [Fact] method SearchNonDeliveryReportsAsync_Gmail_RespectsMaxResultsWithinSingleMime (line 382) | [Theory] method GetHandlerField (line 401) | private static FieldInfo GetHandlerField() => class NdrHandler (line 406) | private sealed class NdrHandler : HttpMessageHandler { method SendAsync (line 410) | protected override Task SendAsync(HttpRequestMe... class MultiRecipientGraphHandler (line 437) | private sealed class MultiRecipientGraphHandler : HttpMessageHandler { method MultiRecipientGraphHandler (line 441) | public MultiRecipientGraphHandler() { method SendAsync (line 448) | protected override Task SendAsync(HttpRequestMe... class MultiRecipientGmailHandler (line 469) | private sealed class MultiRecipientGmailHandler : HttpMessageHandler { method MultiRecipientGmailHandler (line 474) | public MultiRecipientGmailHandler() { method SendAsync (line 483) | protected override Task SendAsync(HttpRequestMe... class CancelDuringGraphListHandler (line 501) | private sealed class CancelDuringGraphListHandler : HttpMessageHandler { method SendAsync (line 504) | protected override async Task SendAsync(HttpReq... FILE: Sources/Mailozaurr.Tests/SecureStringHelperAsyncTests.cs class SecureStringHelperAsyncTests (line 9) | public class SecureStringHelperAsyncTests method ToPlainString (line 11) | private static string ToPlainString(SecureString s) method EncryptDecryptAsync_RoundTrip (line 24) | [Fact] FILE: Sources/Mailozaurr.Tests/SendEmailBasicTests.cs class SendEmailBasicTests (line 14) | public class SendEmailBasicTests { class FakeSmtpClient (line 15) | private class FakeSmtpClient : ClientSmtp method SendAsync (line 20) | public override Task SendAsync(MimeMessage message, System.T... method SendEmail_Smtp_WithValidInput_Succeeds (line 28) | [Fact] method SendEmail_Smtp_WithAutoCreateMessage_BuildsMessage (line 47) | [Fact] method SendEmail_Smtp_WithAutoCreateMessage_PreservesCustomHeaders (line 67) | [Fact] method SendEmail_Smtp_WithoutCreateMessage_ReturnsHelpfulError (line 87) | [Fact] method SendEmail_Smtp_WithErrorActionStopAndMissingSender_Throws (line 106) | [Fact] method SendEmail_SendGrid_WithValidInput_Succeeds (line 125) | [Fact] method SendEmail_SendGrid_WithToken_Succeeds (line 146) | [Fact] method SendEmail_SendGrid_InvalidCredentialType_Fails (line 168) | [Fact] method SendEmail_SendGrid_ServerError_Fails (line 189) | [Fact] method SendEmail_Graph_WithValidInput_Succeeds (line 210) | [Fact] method ConnectO365GraphAsync_GraphCanceled_ThrowsOperationCanceledException (line 231) | [Fact] method SendEmail_GraphCanceled_ThrowsOperationCanceledException (line 241) | [Fact] method SendDraftEmail_GraphCanceled_ThrowsOperationCanceledException (line 258) | [Fact] method SendEmail_WithInvalidEmailAddress_Fails (line 275) | [Fact] method SendEmail_WithMissingSubjectOrBody_Fails (line 284) | [Fact] method SendEmail_WithAttachment_Succeeds (line 302) | [Fact] method SendEmail_WithDuplicateAttachments_AddsOnce (line 324) | [Fact] FILE: Sources/Mailozaurr.Tests/SendGridAttachmentTests.cs class SendGridAttachmentTests (line 9) | public class SendGridAttachmentTests method Constructor_FromFilePath_ReadsFileAndSetsMetadata (line 11) | [Fact] method Constructor_FromBytes_UsesProvidedMetadata (line 32) | [Fact] FILE: Sources/Mailozaurr.Tests/SendGridClientDisposeTests.cs class SendGridClientDisposeTests (line 3) | public class SendGridClientDisposeTests { method Dispose_CanBeCalledMultipleTimes (line 4) | [Fact] method SendEmailAsync_AfterDispose_ThrowsObjectDisposedException (line 11) | [Fact] FILE: Sources/Mailozaurr.Tests/SendGridConvertToEmailObjectTests.cs class SendGridConvertToEmailObjectTests (line 6) | public class SendGridConvertToEmailObjectTests method ConvertToEmailObject_String_ReturnsEmail (line 8) | [Fact] method ConvertToEmailObject_Dictionary_ReturnsEmail (line 19) | [Fact] method ConvertToEmailObject_SendGridEmailAddress_ReturnsSameInstance (line 35) | [Fact] FILE: Sources/Mailozaurr.Tests/SendGridCreateMessageTests.cs class SendGridCreateMessageTests (line 11) | public class SendGridCreateMessageTests method CreateMessage_WithValidData_BuildsJson (line 13) | [Fact] method CreateMessage_InvalidAddress_ThrowsArgumentException (line 33) | [Fact] method CreateMessage_WithHeaders_IncludesHeaders (line 48) | [Fact] method CreateMessage_DuplicateAttachments_IncludedOnce (line 67) | [Fact] method CreateMessage_WithoutBody_OmitsCorrespondingContent (line 95) | [Theory] FILE: Sources/Mailozaurr.Tests/SendLogResolverTests.cs class SendLogResolverTests (line 9) | public class SendLogResolverTests { class InMemoryRepository (line 10) | private sealed class InMemoryRepository : ISentMessageRepository { method InMemoryRepository (line 12) | public InMemoryRepository(SentMessageRecord record) => this.record =... method SaveAsync (line 13) | public Task SaveAsync(SentMessageRecord record, CancellationToken ca... method GetByMessageIdAsync (line 14) | public Task GetByMessageIdAsync(string messageId... method ResolveAsync_ReturnsMatchingRecord (line 18) | [Fact] method ResolveAsync_ReturnsNullWhenNotFound (line 28) | [Fact] method ResolveAsync_MatchesRecipientWithPrefix (line 38) | [Fact] method ResolveAsync_MatchesLegacyFormattedRecipientsWithDisplayNameComma (line 52) | [Fact] FILE: Sources/Mailozaurr.Tests/SentMessageRepositoryTests.cs class SentMessageRepositoryTests (line 8) | public class SentMessageRepositoryTests { method ResolverMatchesSavedRecord (line 9) | [Fact] method SaveAsync_AppendsMultipleRecords (line 31) | [Fact] method GetByMessageIdAsync_FastLookupInLargeLog (line 46) | [Fact] method Constructor_IgnoresMalformedLinesAndIndexesValidRecords (line 80) | [Fact] method GetByMessageIdAsync_ReturnsNullWhenIndexedLineBecomesMalformed (line 114) | [Fact] method Constructor_RebuildsLfIndexedLogWithoutOffsetDrift (line 136) | [Fact] method SequentialSearchAsync (line 167) | private static async Task SequentialSearchAsync(st... FILE: Sources/Mailozaurr.Tests/SentMessages/GmailPendingMessageSenderTests.cs class GmailPendingMessageSenderTests (line 17) | public sealed class GmailPendingMessageSenderTests { class TestHandler (line 18) | private sealed class TestHandler : HttpMessageHandler { method TestHandler (line 21) | public TestHandler(Func SendAsync(HttpRequestMe... method SendAsync_UsesAccessTokenAndUserId (line 29) | [Fact] method SendAsync_RefreshesExpiredTokenAndSendsMessage (line 69) | [Fact] method ProcessAsync_MintsServiceAccountTokenAndSendsMessage (line 146) | [Fact] method CreateServiceAccountJson (line 241) | private static string CreateServiceAccountJson() { class SingleRecordRepository (line 264) | private sealed class SingleRecordRepository : IPendingMessageRepository { method SingleRecordRepository (line 267) | public SingleRecordRepository(PendingMessageRecord record) { method SaveAsync (line 273) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 278) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 292) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 295) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 304) | public Task RemoveAsync(string messageId, CancellationToken cancella... class ProcessorObserver (line 313) | private sealed class ProcessorObserver : IPendingMessageProcessorObser... method MessageSkipped (line 318) | public void MessageSkipped(PendingMessageRecord record, PendingMessa... method MessageAttemptStarted (line 321) | public void MessageAttemptStarted(PendingMessageRecord record, int a... method MessageSent (line 324) | public void MessageSent(PendingMessageRecord record, int attempt, Ti... method MessageFailed (line 328) | public void MessageFailed( method MessageDropped (line 338) | public void MessageDropped(PendingMessageRecord record, int attempt,... FILE: Sources/Mailozaurr.Tests/SentMessages/GraphPendingMessageSenderTests.cs class GraphPendingMessageSenderTests (line 10) | public sealed class GraphPendingMessageSenderTests { class TestHandler (line 11) | private sealed class TestHandler : HttpMessageHandler { method TestHandler (line 14) | public TestHandler(Func SendAsync(HttpRequestMe... method SendAsync_UsesStoredAccessTokenAndUserId (line 22) | [Fact] method SendAsync_ReacquiresTokenWhenCredentialMetadataIsPresent (line 60) | [Fact] method CreateRecordAsync (line 111) | private static async Task CreateRecordAsync() { FILE: Sources/Mailozaurr.Tests/SentMessages/MailgunPendingMessageSenderTests.cs class MailgunPendingMessageSenderTests (line 8) | public sealed class MailgunPendingMessageSenderTests { class TestHandler (line 9) | private sealed class TestHandler : HttpMessageHandler { method TestHandler (line 12) | public TestHandler(Func SendAsync(HttpRequestMe... method SendAsync_PostsMimeMessageWithBasicAuth (line 23) | [Fact] FILE: Sources/Mailozaurr.Tests/SentMessages/PendingMessageProcessorFileRepositoryTests.cs class PendingMessageProcessorFileRepositoryTests (line 13) | public sealed class PendingMessageProcessorFileRepositoryTests { method ProcessAsync_CompletesAgainstFileRepository (line 14) | [Fact] method ProcessAsync_RetriesRespectDelaysAndRetryLimit (line 56) | [Fact] method ReadLogEntries (line 161) | private static List ReadLogEntries(string path) { class FailingPendingMessageSender (line 184) | private sealed class FailingPendingMessageSender : IPendingMessageSend... method SendAsync (line 187) | public Task SendAsync(PendingMessageRecord record, CancellationToken... class RecordingPendingMessageSender (line 193) | private sealed class RecordingPendingMessageSender : IPendingMessageSe... method SendAsync (line 196) | public Task SendAsync(PendingMessageRecord record, CancellationToken... class PendingLogEntry (line 202) | private sealed class PendingLogEntry { FILE: Sources/Mailozaurr.Tests/SentMessages/PendingMessageProcessorTests.cs class PendingMessageProcessorTests (line 11) | public sealed class PendingMessageProcessorTests { class InMemoryPendingMessageRepository (line 12) | private sealed class InMemoryPendingMessageRepository : IPendingMessag... method Add (line 16) | public void Add(PendingMessageRecord record) { method SaveAsync (line 20) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 25) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 40) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 45) | public async IAsyncEnumerable GetAllAsync( method RemoveAsync (line 54) | public Task RemoveAsync(string messageId, CancellationToken cancella... method Contains (line 59) | public bool Contains(string messageId) => records.ContainsKey(messag... class RecordingPendingMessageSender (line 62) | private sealed class RecordingPendingMessageSender : IPendingMessageSe... method SendAsync (line 67) | public Task SendAsync(PendingMessageRecord record, CancellationToken... class CancellingPendingMessageSender (line 77) | private sealed class CancellingPendingMessageSender : IPendingMessageS... method CancellingPendingMessageSender (line 80) | public CancellingPendingMessageSender(CancellationTokenSource cts) { method SendAsync (line 84) | public Task SendAsync(PendingMessageRecord record, CancellationToken... class RecordingObserver (line 91) | private sealed class RecordingObserver : IPendingMessageProcessorObser... method MessageSkipped (line 98) | public void MessageSkipped(PendingMessageRecord record, PendingMessa... method MessageAttemptStarted (line 102) | public void MessageAttemptStarted(PendingMessageRecord record, int a... method MessageSent (line 106) | public void MessageSent(PendingMessageRecord record, int attempt, Ti... method MessageFailed (line 110) | public void MessageFailed( method MessageDropped (line 120) | public void MessageDropped( class MessageFailureEvent (line 128) | public sealed class MessageFailureEvent { method MessageFailureEvent (line 129) | public MessageFailureEvent( class MessageDropEvent (line 152) | public sealed class MessageDropEvent { method MessageDropEvent (line 153) | public MessageDropEvent( method CreateRecord (line 180) | private static PendingMessageRecord CreateRecord(DateTimeOffset nextAt... method ProcessAsync_SendsDueMessagesAndRemovesThem (line 187) | [Fact] method ProcessAsync_OnFailureSchedulesNextAttemptAndPersistsRecord (line 220) | [Fact] method ProcessAsync_ReleasesLeaseWhenCancelled (line 255) | [Fact] method ProcessAsync_SkipsRecordsNotYetDue (line 276) | [Fact] method ProcessAsync_SkipsRecordsWithMissingMessageId (line 306) | [Fact] method ProcessAsync_RemovesRecordWhenPermanentFailureOccurs (line 331) | [Fact] method ProcessAsync_StopsAfterCancellation (line 358) | [Fact] method ProcessAsync_RemovesRecordsThatExceededRetryLimit (line 383) | [Fact] method ProcessAsync_RemovesRecordAfterFinalFailedAttempt (line 407) | [Fact] method ProcessAsync_UsesCustomPermanentFailureDetector (line 442) | [Fact] method ProcessAsync_NormalizesNegativeRetryDelayToZero (line 474) | [Fact] method ProviderDispatchData (line 506) | public static IEnumerable ProviderDispatchData() { method ProcessAsync_DispatchesToRegisteredProviderSender (line 512) | [Theory] method ProcessAsync_UsesSafeMinimumLeaseWhenConfiguredLeaseIsZero (line 549) | [Fact] method ProcessAsync_RetriesUsingDelaySelectorPerAttempt (line 571) | [Fact] method ProcessAsync_DoesNotDoubleSendWhenTwoProcessorsRace (line 635) | [Fact] class CoordinatedPendingMessageRepository (line 659) | private sealed class CoordinatedPendingMessageRepository : IPendingMes... method CoordinatedPendingMessageRepository (line 668) | internal CoordinatedPendingMessageRepository(DateTimeOffset nextAtte... method SaveAsync (line 672) | public Task SaveAsync(PendingMessageRecord updatedRecord, Cancellati... method TryAcquireLeaseAsync (line 689) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 704) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 711) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 732) | public Task RemoveAsync(string messageId, CancellationToken cancella... method ReleaseEnumerations (line 734) | internal void ReleaseEnumerations() => releaseEnumerators.TrySetResu... class BlockingPendingMessageSender (line 737) | private sealed class BlockingPendingMessageSender : IPendingMessageSen... method SendAsync (line 743) | public async Task SendAsync(PendingMessageRecord record, Cancellatio... method WaitForFirstSendAsync (line 750) | internal Task WaitForFirstSendAsync() => sendStarted.Task; method Release (line 752) | internal void Release() => release.TrySetResult(true); FILE: Sources/Mailozaurr.Tests/SentMessages/PendingMessageRecordSerializationTests.cs class PendingMessageRecordSerializationTests (line 7) | public sealed class PendingMessageRecordSerializationTests { method ProviderRecords (line 8) | public static IEnumerable ProviderRecords() { method SerializationRoundTripPreservesProviderData (line 54) | [Theory] method DeserializeLegacyRecordWithoutProviderInformationInitializesDefaults (line 79) | [Fact] method DeserializeNullProviderDataInitializesDictionary (line 91) | [Fact] FILE: Sources/Mailozaurr.Tests/SentMessages/PendingMessageSenderFactoryTests.cs class PendingMessageSenderFactoryTests (line 8) | public sealed class PendingMessageSenderFactoryTests { class TestSender (line 9) | private sealed class TestSender : IPendingMessageSender { method SendAsync (line 10) | public Task SendAsync(PendingMessageRecord record, CancellationToken... method GetSender_ReturnsRegisteredSender (line 13) | [Fact] method GetSender_ReturnsNoopWhenProviderUnknown (line 27) | [Fact] method GetSender_ThrowsWhenRecordIsNull (line 37) | [Fact] method Resolve_ReturnsRegisteredSender (line 44) | [Fact] method Resolve_ReturnsDefaultSenderForKnownProviders (line 56) | [Theory] method Resolve_ReturnsFallbackForUnknownProvider (line 71) | [Fact] FILE: Sources/Mailozaurr.Tests/SentMessages/ProviderPendingMessageTests.cs class ProviderPendingMessageTests (line 16) | public sealed class ProviderPendingMessageTests { class InMemoryPendingMessageRepository (line 17) | private sealed class InMemoryPendingMessageRepository : IPendingMessag... method SaveAsync (line 22) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 33) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 50) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 59) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 67) | public Task RemoveAsync(string messageId, CancellationToken cancella... class TestHandler (line 77) | private sealed class TestHandler : HttpMessageHandler { method TestHandler (line 82) | public TestHandler(Func SendAsync(HttpReq... class DelayedCancellationHandler (line 92) | private sealed class DelayedCancellationHandler : HttpMessageHandler { method WaitForStartAsync (line 95) | public Task WaitForStartAsync() => started.Task; method SendAsync (line 97) | protected override async Task SendAsync(HttpReq... class CancellationOnSavePendingMessageRepository (line 104) | private sealed class CancellationOnSavePendingMessageRepository : IPen... method WaitForSaveStartAsync (line 107) | public Task WaitForSaveStartAsync() => saveStarted.Task; method SaveAsync (line 109) | public async Task SaveAsync(PendingMessageRecord record, Cancellatio... method TryAcquireLeaseAsync (line 114) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 121) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 124) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 129) | public Task RemoveAsync(string messageId, CancellationToken cancella... method SendGridClientQueuesAndProcessesPendingMessage (line 132) | [Fact] method SendGridClient_CallerCancellation_DoesNotQueuePendingMessage (line 183) | [Fact] method SendGridClient_CancellationDuringPendingSave_PropagatesCancellation (line 210) | [Fact] method MailgunClientQueuesAndProcessesPendingMessage (line 238) | [Fact] method MailgunClient_CancellationDuringPendingSave_PropagatesCancellation (line 288) | [Fact] method GmailClientQueuesAndProcessesPendingMessage (line 314) | [Fact] method GmailClient_CancellationDuringPendingSave_PropagatesCancellation (line 381) | [Fact] method GraphApplicationHandlerQueuesAndProcessesPendingMessage (line 416) | [Fact] method SesClientQueuesAndProcessesPendingMessage (line 484) | [Fact] method SesClient_CancellationDuringPendingSave_PropagatesCancellation (line 535) | [Fact] class FakeGraphSessionFactory (line 562) | private sealed class FakeGraphSessionFactory : Application.IGraphSessi... method ConnectAsync (line 563) | public Task ConnectAsync(Application.MailP... FILE: Sources/Mailozaurr.Tests/SentMessages/SendGridPendingMessageSenderTests.cs class SendGridPendingMessageSenderTests (line 7) | public sealed class SendGridPendingMessageSenderTests { class TestHandler (line 8) | private sealed class TestHandler : HttpMessageHandler { method TestHandler (line 11) | public TestHandler(Func SendAsync(HttpRequestMe... method SendAsync_PostsJsonPayloadWithBearerToken (line 19) | [Fact] FILE: Sources/Mailozaurr.Tests/SentMessages/SesPendingMessageSenderTests.cs class SesPendingMessageSenderTests (line 8) | public sealed class SesPendingMessageSenderTests { class TestHandler (line 9) | private sealed class TestHandler : HttpMessageHandler { method TestHandler (line 12) | public TestHandler(Func SendAsync(HttpRequestMe... method SendAsync_ComputesAwsSignature (line 20) | [Fact] method CreateExpectedRequest (line 69) | private static HttpRequestMessage CreateExpectedRequest(string accessK... FILE: Sources/Mailozaurr.Tests/SentMessages/SmtpPendingMessageEncryptionTests.cs class SmtpPendingMessageEncryptionTests (line 16) | public sealed class SmtpPendingMessageEncryptionTests { method QueuedRecordsRoundTripCredentialsOnNonWindowsAsync (line 17) | [Fact] class ThrowingClientSmtp (line 75) | private sealed class ThrowingClientSmtp : ClientSmtp { method SendAsync (line 76) | public override Task SendAsync(MimeMessage message, Cancella... class RecordingClient (line 80) | private sealed class RecordingClient : ClientSmtp { } class RecordingProtector (line 82) | private sealed class RecordingProtector : ICredentialProtector { method RecordingProtector (line 85) | public RecordingProtector(ICredentialProtector inner) { method Protect (line 91) | public string Protect(string plainText) => inner.Protect(plainText); method Unprotect (line 93) | public string Unprotect(string protectedData) { class RecordingPendingMessageRepository (line 100) | private sealed class RecordingPendingMessageRepository : IPendingMessa... method SaveAsync (line 105) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 111) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 125) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 130) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 138) | public Task RemoveAsync(string messageId, CancellationToken cancella... FILE: Sources/Mailozaurr.Tests/SentMessages/SmtpPendingMessageProcessorIntegrationTests.cs class SmtpPendingMessageProcessorIntegrationTests (line 15) | public sealed class SmtpPendingMessageProcessorIntegrationTests { method QueuedRecordReplaysStoredSecuritySettingsAsync (line 16) | [Fact] class FailingClient (line 91) | private sealed class FailingClient : ClientSmtp { method ConnectAsync (line 92) | public override Task ConnectAsync(string host, int port, SecureSocke... method SendAsync (line 95) | public override Task SendAsync(MimeMessage message, Cancella... class CapturingClient (line 99) | private sealed class CapturingClient : ClientSmtp { method ConnectAsync (line 104) | public override Task ConnectAsync(string host, int port, SecureSocke... method SendAsync (line 111) | public override Task SendAsync(MimeMessage message, Cancella... class RecordingPendingMessageRepository (line 115) | private sealed class RecordingPendingMessageRepository : IPendingMessa... method SaveAsync (line 120) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 126) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 140) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 145) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 153) | public Task RemoveAsync(string messageId, CancellationToken cancella... FILE: Sources/Mailozaurr.Tests/SentMessages/SmtpPendingMessageSenderTests.cs class SmtpPendingMessageSenderTests (line 9) | public sealed class SmtpPendingMessageSenderTests { class RecordingClient (line 10) | private sealed class RecordingClient : ClientSmtp { method ConnectAsync (line 18) | public override Task ConnectAsync(string host, int port, SecureSocke... method SendAsync (line 26) | public override Task SendAsync(MimeMessage message, Cancella... method DisconnectAsync (line 31) | public override Task DisconnectAsync(bool quit, CancellationToken ca... method SendAsync_UsesClientFactoryToSendMessage (line 37) | [Fact] method SendAsync_ReplaysStoredSecuritySettings (line 65) | [Fact] FILE: Sources/Mailozaurr.Tests/SerializationContextTests.cs class SerializationContextTests (line 6) | public class SerializationContextTests { method ShouldProvideTypeInfoForCommonDictionaries (line 7) | [Fact] method ShouldSerializeAndDeserializeGmailMessage (line 14) | [Fact] method ShouldSerializeAndDeserializePendingMessageRecord (line 25) | [Fact] method ShouldDeserializeGraphAuthorizationExpiresOnFromUnixSeconds (line 44) | [Fact] method ShouldDeserializeGraphAuthorizationExpiresOnFromUnixSecondsNumber (line 53) | [Fact] method ShouldDeserializeGraphAuthorizationExpiresOnFromUnixMilliseconds (line 62) | [Fact] method ShouldDeserializeGraphAuthorizationExpiresOnFromIsoString (line 71) | [Fact] method ShouldDeserializeGraphAuthorizationExpiresOnFromUnixSecondsDouble (line 80) | [Fact] method ShouldDeserializeGraphAuthorizationExpiresOnFromUnixSecondsDoubleString (line 89) | [Fact] method ShouldHandleGraphAuthorizationExpiresOnNullOrEmpty (line 98) | [Fact] method ShouldHandleGraphAuthorizationExpiresOnInvalid (line 111) | [Fact] FILE: Sources/Mailozaurr.Tests/SesClientSendEmailAsyncTests.cs class SesClientSendEmailAsyncTests (line 16) | public class SesClientSendEmailAsyncTests method HmacSha256 (line 18) | private static byte[] HmacSha256(byte[] key, string data) method Sha256Hex (line 24) | private static string Sha256Hex(string data) method ExpectedAuthorization (line 31) | private static string ExpectedAuthorization(string accessKey, string s... method CreateClient (line 50) | private static SesClient CreateClient(HttpMessageHandler handler) method SendEmailAsync_ComputesSignature (line 64) | [Fact] method SendEmailAsync_WithToken_Succeeds (line 82) | [Fact] method SendEmailAsync_RetriesFailedRequest (line 96) | [Fact] method SendEmailAsync_PostsWebhook_OnSuccess (line 112) | [Fact] method SendEmailAsync_PostsWebhook_OnFailure (line 125) | [Fact] FILE: Sources/Mailozaurr.Tests/SesClientSendTemplatedEmailAsyncTests.cs class SesClientSendTemplatedEmailAsyncTests (line 14) | public class SesClientSendTemplatedEmailAsyncTests { method HmacSha256 (line 15) | private static byte[] HmacSha256(byte[] key, string data) { method Sha256Hex (line 20) | private static string Sha256Hex(string data) { method ExpectedAuthorization (line 26) | private static string ExpectedAuthorization(string accessKey, string s... method CreateClient (line 44) | private static SesClient CreateClient(HttpMessageHandler handler) { method SendTemplatedEmailAsync_ComputesSignature (line 56) | [Fact] method SendTemplatedEmailAsync_EncodesMultipleParameters (line 76) | [Fact] FILE: Sources/Mailozaurr.Tests/SesClientTests.cs class SesClientTests (line 8) | public class SesClientTests method BuildMessage_WithValidData_ReturnsMimeMessage (line 10) | [Fact] method BuildMessage_WithHeaders_AddsHeaders (line 27) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpAsyncWrappersTests.cs class SmtpAsyncWrappersTests (line 15) | public class SmtpAsyncWrappersTests class FakeConnectClient (line 17) | private class FakeConnectClient : ClientSmtp method ConnectAsync (line 27) | public override async Task ConnectAsync(string host, int port, Secur... method AuthenticateAsync (line 44) | public override Task AuthenticateAsync(SaslMechanism mechanism, Canc... method SetClient (line 53) | private static void SetClient(Smtp smtp, ClientSmtp client) method SetCredential (line 59) | private static void SetCredential(Smtp smtp, NetworkCredential credent... method GetPoolIdentity (line 65) | private static string? GetPoolIdentity(Smtp smtp) method ConnectAsync_InvokesClientConnectAsync (line 71) | [Fact] method ConnectAsync_PreservesLegacyFourArgumentOverload (line 84) | [Fact] method ConnectAndAuthenticateAsync_ReturnsSuccessForOAuthAuthentication (line 95) | [Fact] method ConnectAndAuthenticateAsync_MapsConnectFailure (line 116) | [Fact] method ConnectAndAuthenticateAsync_MapsValidationFailureAsNonTransient (line 135) | [Fact] method ConnectAndAuthenticateAsync_MapsAuthenticationFailure (line 155) | [Fact] method ConnectAndAuthenticateAsync_ReThrowsAuthFailureWhenErrorActionStop (line 174) | [Fact] method ConnectAndAuthenticateAsync_DryRunSkipsAuthentication (line 191) | [Fact] method ConnectAndAuthenticateAsync_ThrowsWhenAlreadyCanceled (line 212) | [Fact] method ConnectAndAuthenticateAsync_PropagatesCancellationIntoConnect (line 234) | [Fact] method ConnectAndAuthenticateAsync_UsesRequestedUsernameForPoolIdentityWhenCredentialWasStale (line 261) | [Fact] method CreateMessageAsync_AutoEmbedImagesAddsInlineAttachment (line 284) | [Fact] method CreateMessageAsync_CancellationTokenPreventsClientInvocation (line 318) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpAttachmentTests.cs class SmtpAttachmentTests (line 10) | public class SmtpAttachmentTests method CreateMessage_MissingAttachment_SkipsAttachment (line 12) | [Fact] method CreateMessage_StreamAttachmentDescriptor_AddsAttachment (line 31) | [Fact] method CreateMessage_ByteArrayAttachmentDescriptor_AddsAttachment (line 68) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpAuthenticationMechanismTests.cs class SmtpAuthenticationMechanismTests (line 7) | public class SmtpAuthenticationMechanismTests class FakeClient (line 9) | private class FakeClient : ClientSmtp method Authenticate (line 12) | public override void Authenticate(SaslMechanism mechanism, System.Th... method Authenticate_UsesSelectedMechanism (line 18) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpConcurrencyTests.cs class SmtpConcurrencyTests (line 10) | public class SmtpConcurrencyTests class CountingClient (line 12) | private class CountingClient : ClientSmtp method SendAsync (line 17) | public override async Task SendAsync(MimeMessage message, Ca... method SendAsync_SerializesConcurrentCalls (line 37) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpConnectionPoolConcurrencyTests.cs class SmtpConnectionPoolConcurrencyTests (line 8) | public class SmtpConnectionPoolConcurrencyTests { class FakeClient (line 9) | private class FakeClient : ClientSmtp { method SetConnected (line 12) | public void SetConnected(bool value) => _connected = value; method ReturnClient_ConcurrentCallsRespectMaxPoolSize (line 15) | [Fact] method TryRentClient_ConcurrentCallsEmptyPool (line 36) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpConnectionPoolMetricsTests.cs class SmtpConnectionPoolMetricsTests (line 6) | public class SmtpConnectionPoolMetricsTests { class FakeClient (line 7) | private class FakeClient : ClientSmtp { method SetConnected (line 10) | public void SetConnected(bool value) => _connected = value; method CurrentPoolSize_TracksClients (line 13) | [Fact] method PoolSizeChanged_Raised (line 32) | [Fact] method GetSnapshot_ReturnsEntries (line 55) | [Fact] method GetSnapshot_DecodesServerWithDelimiters (line 75) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpConnectionPoolTests.cs class SmtpConnectionPoolTests (line 8) | public class SmtpConnectionPoolTests { class FakeClient (line 9) | private class FakeClient : ClientSmtp { method SetConnected (line 13) | public void SetConnected(bool value) => _connected = value; method Connect (line 14) | public override void Connect(string host, int port, SecureSocketOpti... method Disconnect (line 19) | public override void Disconnect(bool quit, CancellationToken cancell... class TrackingClient (line 24) | private sealed class TrackingClient : ClientSmtp { method SetConnected (line 32) | public void SetConnected(bool value) => _connected = value; method Dispose (line 34) | protected override void Dispose(bool disposing) { method Disconnect_ReturnsClientToPool (line 41) | [Fact] method InstancePoolOverrideFalse_DoesNotUseGlobalPool (line 64) | [Fact] method InstancePoolOverrideTrue_UsesPoolWhenGlobalPoolingIsDisabled (line 89) | [Fact] method ReturnClosedClient_IsDiscarded (line 113) | [Fact] method SetMaxPoolSize_InvalidValue_Throws (line 129) | [Theory] method SetMaxPoolSize_ValidValue_UpdatesProperty (line 140) | [Fact] method Configure_InvalidMaxPoolSize_Throws (line 153) | [Theory] method Configure_ValidMaxPoolSize_UpdatesProperty (line 166) | [Fact] method Configure_DisablingPooling_ClearsCachedClients (line 181) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpHeadersTests.cs class SmtpHeadersTests (line 7) | public class SmtpHeadersTests method CreateMessage_WithHeaders_AddsHeaders (line 9) | [Fact] method CreateMessage_WithMultipleHeaders_AddsAllHeaders (line 22) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpInlineAttachmentTests.cs class SmtpInlineAttachmentTests (line 13) | public class SmtpInlineAttachmentTests method CreateMessage_WithInlineAttachment_AddsLinkedResource (line 15) | [Fact] method CreateMessage_NullInlineAttachments_DoesNotThrow (line 33) | [Fact] method CreateMessage_MissingInlineAttachment_SkipsResource (line 50) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpPendingMessageTests.cs class SmtpPendingMessageTests (line 13) | public sealed class SmtpPendingMessageTests { class FailClient (line 14) | private sealed class FailClient : ClientSmtp { method SendAsync (line 15) | public override Task SendAsync(MimeMessage message, Cancella... class SuccessClient (line 20) | private sealed class SuccessClient : ClientSmtp { method SendAsync (line 21) | public override Task SendAsync(MimeMessage message, Cancella... class InMemoryPendingRepository (line 26) | private sealed class InMemoryPendingRepository : IPendingMessageReposi... method SaveAsync (line 30) | public Task SaveAsync(PendingMessageRecord record, CancellationToken... method TryAcquireLeaseAsync (line 43) | public Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 57) | public Task GetByMessageIdAsync(string messag... method GetAllAsync (line 60) | public async IAsyncEnumerable GetAllAsync([Enu... method RemoveAsync (line 68) | public Task RemoveAsync(string messageId, CancellationToken cancella... class InMemorySentRepository (line 74) | private sealed class InMemorySentRepository : ISentMessageRepository { method SaveAsync (line 77) | public Task SaveAsync(SentMessageRecord record, CancellationToken ca... method GetByMessageIdAsync (line 82) | public Task GetByMessageIdAsync(string messageId... method SetClient (line 86) | private static void SetClient(Smtp smtp, ClientSmtp client) { method CreatePendingRecord (line 91) | private static PendingMessageRecord CreatePendingRecord(string message... method PendingMessagesPathCreatesRepository (line 111) | [Fact] method SendFailureQueuesMessage (line 122) | [Fact] method QueuedMessagePasswordIsEncrypted (line 142) | [Fact] method SuccessfulSendRemovesQueuedMessage (line 166) | [Fact] method ProcessPendingMessages_SendsAndLogs (line 185) | [Fact] method ProcessPendingMessages_StoresNormalizedRecipientAddressesInSentLog (line 216) | [Fact] method ProcessPendingMessages_FailedSendRetainsMessage (line 245) | [Fact] method ProcessPendingMessages_SkipsFutureNextAttempt (line 274) | [Fact] method ProcessPendingMessages_SendsWhenNextAttemptReached (line 304) | [Fact] method ProcessPendingMessages_SkipsRecordsForOtherProviders (line 344) | [Fact] method SaveMessageAsync_WritesMessageToFile (line 369) | [Fact] method SaveMessageAsync_RespectsCancellation (line 399) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpSendAsyncTests.cs class SmtpSendAsyncTests (line 10) | public class SmtpSendAsyncTests class FakeClient (line 12) | private class FakeClient : ClientSmtp method SendAsync (line 15) | public override Task SendAsync(MimeMessage message, Cancella... method SendAsync_InvokesClientSendAsync (line 22) | [Fact] method SendAsync_DryRun_SkipsClientSendAsync (line 42) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpSendPipelineTests.cs class SmtpSendPipelineTests (line 11) | public class SmtpSendPipelineTests { method BuildExecutionResult_MapsSuccessOutcome (line 12) | [Fact] method BuildExecutionResult_MapsDryRunAndAppendFailureOutcome (line 32) | [Fact] method BuildExecutionResultWithOptionalSentAppendAsync_InvokesAppend_WhenRealSendSucceeded (line 52) | [Fact] method BuildExecutionResultWithOptionalSentAppendAsync_DoesNotInvokeAppend_WhenDryRun (line 79) | [Fact] method BuildExecutionResultWithOptionalSentAppendAsync_CapturesAppendException (line 102) | [Fact] method TryAppendToSentAsync_AppendsMessage_WhenFolderIsWritable (line 118) | [Fact] method TryAppendToSentAsync_ReturnsFailure_WhenAppendThrows (line 141) | [Fact] method TryAppendToSentAsync_Throws_ForInvalidArguments (line 159) | [Fact] method ApplyThreadingHeaders_SetsNormalizedMessageThreadAndIdempotencyHeaders (line 173) | [Fact] method ApplyThreadingHeaders_Throws_WhenMessageIsNull (line 197) | [Fact] method TryFindExistingSentCopyAsync_ReturnsMatch_FromIdempotencyHeaderProbe (line 206) | [Fact] method TryFindExistingSentCopyAsync_FallsBackToMessageIdProbe_WhenHeaderProbeMisses (line 228) | [Fact] method TryFindExistingSentCopyAsync_ReturnsNone_WhenProbeThrows (line 251) | [Fact] method TryFindExistingSentCopyAsync_Throws_ForInvalidArguments (line 268) | [Fact] method Canonicalize (line 294) | private static List Canonicalize(IEnumerable values) { method TrimBrackets (line 302) | private static string TrimBrackets(string? value) { FILE: Sources/Mailozaurr.Tests/SmtpSentFolderSessionPipelineTests.cs class SmtpSentFolderSessionPipelineTests (line 12) | public class SmtpSentFolderSessionPipelineTests { method TryFindExistingSentCopyAsync_UsesConnectedSession_AndDisconnects (line 13) | [Fact] method TryAppendToSentAsync_UsesConnectedSession_AndDisconnects (line 52) | [Fact] method TryAppendToSentAsync_Throws_ForInvalidArguments (line 93) | [Fact] method TryGetThreadingMetadataAsync_UsesConnectedSession_AndDisconnects (line 114) | [Fact] method TryGetThreadingMetadataAsync_Throws_ForInvalidArguments (line 148) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpSessionServiceTests.cs class SmtpSessionServiceTests (line 8) | public class SmtpSessionServiceTests { method ConnectAndAuthenticateAsync_ReturnsSuccess (line 9) | [Fact] method ConnectAndAuthenticateAsync_FlagsConnectFailures (line 29) | [Fact] method ConnectAndAuthenticateAsync_FlagsAuthFailures (line 49) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpSignTests.cs class SmtpSignTests (line 6) | public class SmtpSignTests method Sign_MissingCertificate_ReturnsFailedResult (line 8) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpSslOptionTests.cs class SmtpSslOptionTests (line 8) | public class SmtpSslOptionTests class FakeClient (line 10) | private class FakeClient : ClientSmtp method Connect (line 13) | public override void Connect(string host, int port, SecureSocketOpti... method ConnectAsync (line 15) | public override Task ConnectAsync(string host, int port, SecureSocke... method Connect_WithUseSslAndExplicitOption_DoesNotOverride (line 22) | [Fact] method ConnectAsync_WithUseSslAndExplicitOption_DoesNotOverride (line 34) | [Fact] FILE: Sources/Mailozaurr.Tests/SmtpValidationTests.cs class SmtpValidationTests (line 5) | public class SmtpValidationTests { method TryValidateServer_WithMissingServer_Fails (line 6) | [Fact] method TryValidateServer_WithInvalidPort_Fails (line 13) | [Fact] method TryValidateServer_WithValidInputs_Succeeds (line 20) | [Fact] method TryValidateCredentials_WithMissingUsername_Fails (line 27) | [Fact] method TryValidateCredentials_WithMissingPassword_Fails (line 34) | [Fact] method TryValidateCredentials_WithValidInputs_Succeeds (line 41) | [Fact] FILE: Sources/Mailozaurr.Tests/TemporaryPgpKeyPairTests.cs class TemporaryPgpKeyPairTests (line 10) | public class TemporaryPgpKeyPairTests method Create_ReturnsFiles (line 12) | [Fact] method KeyPair_CanSignAndEncryptMessage (line 20) | [Fact(Skip = "PGP sign and encrypt requires additional configuration i... method KeyPair_CanDecryptEncryptedMessage (line 34) | [Fact] method Dispose_RemovesGeneratedFiles (line 53) | [Fact] method Dispose_WhenDeletionFails_LogsWarnings (line 73) | [Fact] FILE: Sources/Mailozaurr.Tests/TemporarySmimeCertificateTests.cs class TemporarySmimeCertificateTests (line 8) | public class TemporarySmimeCertificateTests method CreateSelfSigned_ReturnsUsableCertificate (line 10) | [Fact] method Certificate_CanSignAndEncryptMessage (line 24) | [Fact] method Certificate_CanVerifySmimeSignature (line 47) | [Fact] method Certificate_CanDecryptSmimeMessage (line 69) | [Fact] FILE: Sources/Mailozaurr.Tests/TokenCacheHelperTests.cs class TokenCacheHelperTests (line 10) | public sealed class TokenCacheHelperTests : IDisposable { method TokenCacheHelperTests (line 13) | public TokenCacheHelperTests() { method Dispose (line 21) | public void Dispose() { method ReadCacheData_RetriesTransientFileLockAndReturnsBytes (line 30) | [Fact] method WriteCacheData_RetriesTransientFileLockAndPersistsBytes (line 61) | [Fact] method GetCacheFilePath (line 91) | private static string GetCacheFilePath() { method DeleteCacheFile (line 95) | private static void DeleteCacheFile() { FILE: Sources/Mailozaurr.Tests/ValidatorTests.cs class ValidatorTests (line 7) | public class ValidatorTests method ValidateEmail_DisposableDomain_IsMarkedDisposable (line 9) | [Fact] method ValidateEmail_AllowedDomain_NotDisposable (line 17) | [Fact] method ValidateEmail_InvalidEmail_ReturnsFalse (line 25) | [Fact] FILE: Sources/Mailozaurr/AmazonSES/SesClient.cs class SesClient (line 16) | public class SesClient : IDisposable { method SesClient (line 109) | public SesClient() { method SesClient (line 118) | public SesClient(HttpMessageHandler handler) { method BuildMessage (line 123) | private MimeMessage BuildMessage() method HmacSha256 (line 141) | private static byte[] HmacSha256(byte[] key, string data) method Sha256Hex (line 147) | private static string Sha256Hex(string data) method CreateRequest (line 154) | private HttpRequestMessage CreateRequest(string content, DateTime utcNow) method QueuePendingMessageAsync (line 184) | private async Task QueuePendingMessageAsync(MimeMessage? message, stri... method SendSesRequestAsync (line 267) | private async Task SendSesRequestAsync(string body, Cancel... method SendEmailAsync (line 338) | public Task SendEmailAsync() => SendEmailAsync(Cancellatio... method SendEmailAsync (line 343) | public async Task SendEmailAsync(CancellationToken cancell... method SendTemplatedEmailAsync (line 356) | public Task SendTemplatedEmailAsync() => SendTemplatedEmai... method SendTemplatedEmailAsync (line 361) | public async Task SendTemplatedEmailAsync(CancellationToke... method Dispose (line 393) | public void Dispose() { FILE: Sources/Mailozaurr/Attachment.cs class Attachment (line 9) | public class Attachment { FILE: Sources/Mailozaurr/Authentication/LoginState.cs type LoginState (line 3) | internal enum LoginState { FILE: Sources/Mailozaurr/Authentication/OAuthCredentialCacheEntry.cs class OAuthCredentialCacheEntry (line 6) | public sealed class OAuthCredentialCacheEntry { method FromCredential (line 31) | public static OAuthCredentialCacheEntry FromCredential(OAuthCredential... method ToCredential (line 52) | public OAuthCredential ToCredential(ICredentialProtector protector) { method ProtectRequired (line 69) | private static string ProtectRequired(ICredentialProtector protector, ... method ProtectOptional (line 77) | private static string? ProtectOptional(ICredentialProtector protector,... method ReadRequiredSecret (line 85) | private static string ReadRequiredSecret(ICredentialProtector protecto... method ReadOptionalSecret (line 90) | private static string? ReadOptionalSecret(ICredentialProtector protect... FILE: Sources/Mailozaurr/Authentication/OAuthHelpers.cs class OAuthHelpers (line 16) | public static class OAuthHelpers { method NormalizeScopes (line 17) | private static string[] NormalizeScopes(IEnumerable scopes) => method BuildO365LegacyCacheKey (line 26) | private static string BuildO365LegacyCacheKey(string userName) => $"o3... method BuildO365CacheKey (line 28) | private static string? BuildO365CacheKey( method BuildGoogleLegacyCacheKey (line 43) | private static string BuildGoogleLegacyCacheKey(string gmailAccount) =... method BuildGoogleCacheKey (line 45) | private static string BuildGoogleCacheKey(string gmailAccount, string ... method PersistO365CredentialAsync (line 47) | private static async Task PersistO365CredentialAsync( method PersistGoogleCredentialAsync (line 69) | private static async Task PersistGoogleCredentialAsync( method AcquireO365TokenInteractiveAsync (line 95) | public static async Task AcquireO365TokenInteractiveA... method AcquireO365TokenSilentAsync (line 142) | private static async Task AcquireO365TokenSilentAsync( method AcquireGoogleTokenInteractiveAsync (line 186) | public static async Task AcquireGoogleTokenInteractiv... method AcquireO365TokenCachedAsync (line 222) | public static async Task AcquireO365TokenCachedAsync( method TryAcquireO365TokenSilentAsync (line 257) | public static async Task TryAcquireO365TokenSilentAs... method AcquireGoogleTokenCachedAsync (line 275) | public static async Task AcquireGoogleTokenCachedAsync( method AcquireO365TokenDeviceCodeAsync (line 352) | public static async Task AcquireO365TokenDeviceCodeAs... method AcquireO365TokenOnBehalfOfAsync (line 387) | public static async Task AcquireO365TokenOnBehalfOfAs... method AcquireGraphCertificateTokenAsync (line 416) | public static async Task AcquireGraphCertificateTo... method AcquireGraphCertificateTokenAsync (line 435) | public static async Task AcquireGraphCertificateTo... method AcquireGraphCertificatePemTokenAsync (line 453) | public static Task AcquireGraphCertificatePemToken... method AcquireGraphCertificateTokenInternal (line 466) | private static async Task AcquireGraphCertificateT... FILE: Sources/Mailozaurr/Authentication/OAuthTokenCache.cs class OAuthTokenCache (line 13) | internal static class OAuthTokenCache { method ConvertCacheEntries (line 23) | private static Dictionary ConvertCacheEntries( method CreateCacheEntries (line 42) | private static Dictionary CreateCac... method LoadCacheAsync (line 57) | private static async Task> LoadCac... method GetAsync (line 96) | public static async Task GetAsync(string key, Cancel... method SetAsync (line 111) | public static async Task SetAsync(string key, OAuthCredential credenti... method ReadCacheFileAsync (line 129) | private static async Task ReadCacheFileAsync(CancellationToken... method WriteCacheFileAsync (line 151) | private static async Task WriteCacheFileAsync(string json, Cancellatio... method ReplaceCacheFile (line 191) | private static void ReplaceCacheFile(string tempPath) { method GetRetryDelay (line 215) | private static TimeSpan GetRetryDelay(int attempt) => FILE: Sources/Mailozaurr/Authentication/SaslMechanismNtlmIntegrated.cs class SaslMechanismNtlmIntegrated (line 16) | public class SaslMechanismNtlmIntegrated : SaslMechanism { method SaslMechanismNtlmIntegrated (line 26) | public SaslMechanismNtlmIntegrated() : base(string.Empty, string.Empty) { method Challenge (line 44) | protected override byte[] Challenge(byte[]? token, int startIndex, int... method InitializeSSPIContext (line 66) | private void InitializeSSPIContext() { method Reset (line 86) | public override void Reset() { FILE: Sources/Mailozaurr/Authentication/TokenCacheHelper.cs class TokenCacheHelper (line 11) | internal static class TokenCacheHelper { method RegisterCache (line 21) | public static void RegisterCache(ITokenCache tokenCache) { method BeforeAccessNotification (line 26) | private static void BeforeAccessNotification(TokenCacheNotificationArg... method AfterAccessNotification (line 35) | private static void AfterAccessNotification(TokenCacheNotificationArgs... method ReadCacheData (line 43) | private static byte[]? ReadCacheData() { method WriteCacheData (line 67) | private static void WriteCacheData(byte[] data) { method ReplaceCacheFile (line 104) | private static void ReplaceCacheFile(string tempPath) { method GetRetryDelay (line 128) | private static int GetRetryDelay(int attempt) => 25 * (attempt + 1); method ResolveCacheFilePath (line 130) | private static string ResolveCacheFilePath() { FILE: Sources/Mailozaurr/Compatibility/IsExternalInit.cs class IsExternalInit (line 5) | internal static class IsExternalInit { } FILE: Sources/Mailozaurr/Compatibility/StringCompatibilityExtensions.cs class StringCompatibilityExtensions (line 5) | internal static class StringCompatibilityExtensions { method Contains (line 6) | internal static bool Contains(this string source, string value, String... FILE: Sources/Mailozaurr/ComposeProfileUtilities.cs class ComposeProfileUtilities (line 10) | public static class ComposeProfileUtilities { method NormalizeProfiles (line 17) | public static IReadOnlyList NormalizeProfiles( method GetDefaultProfile (line 66) | public static MailComposeProfile? GetDefaultProfile(IEnumerable method BuildProfileId (line 119) | private static string BuildProfileId(string? rawId, string? name, stri... method NormalizeOptional (line 157) | private static string? NormalizeOptional(string? value) { FILE: Sources/Mailozaurr/Connections/ConnectionRetrier.cs class ConnectionRetrier (line 12) | internal static class ConnectionRetrier { method ConnectAsync (line 32) | internal static async Task ConnectAsync( FILE: Sources/Mailozaurr/Connections/ImapConnectionRequest.cs class ImapConnectionRequest (line 9) | public sealed class ImapConnectionRequest { method ImapConnectionRequest (line 24) | public ImapConnectionRequest( FILE: Sources/Mailozaurr/Connections/ImapConnector.cs class ImapConnector (line 12) | public static class ImapConnector { method ConnectAsync (line 30) | public static Task ConnectAsync( method ConnectAsync (line 70) | public static Task ConnectAsync( method ConnectAuthenticatedAsync (line 107) | public static Task ConnectAuthenticatedAsync( FILE: Sources/Mailozaurr/Connections/ImapSessionService.cs class ImapSessionRequest (line 11) | public sealed class ImapSessionRequest { class ImapSessionService (line 41) | public static class ImapSessionService { method ConnectAsync (line 45) | public static Task ConnectAsync(ImapSessionRequest request... FILE: Sources/Mailozaurr/Connections/Pop3Connector.cs class Pop3Connector (line 12) | public static class Pop3Connector { method CreateDefaultClient (line 13) | private static Pop3Client CreateDefaultClient() => new Pop3Client(); method ResetClientFactory (line 23) | public static void ResetClientFactory() => ClientFactory = CreateDefau... method ConnectAsync (line 44) | public static Task ConnectAsync( FILE: Sources/Mailozaurr/Connections/ProtocolAuth.cs type ProtocolAuthMode (line 15) | public enum ProtocolAuthMode { class ProtocolAuth (line 26) | public static class ProtocolAuth { method ParseMode (line 30) | public static ProtocolAuthMode ParseMode(string? raw, ProtocolAuthMode... method AuthenticateImapAsync (line 50) | public static Task AuthenticateImapAsync( method AuthenticateSmtpAsync (line 78) | public static Task AuthenticateSmtpAsync( method AuthenticatePop3Async (line 105) | public static Task AuthenticatePop3Async( FILE: Sources/Mailozaurr/Connections/SmtpSessionService.cs class SmtpConnectResult (line 12) | public sealed class SmtpConnectResult { method SmtpConnectResult (line 41) | public SmtpConnectResult(bool isSuccess, SecureSocketOptions secureSoc... class SmtpSessionRequest (line 53) | public sealed class SmtpSessionRequest { class SmtpSessionService (line 91) | public static class SmtpSessionService { method ConnectAndAuthenticateAsync (line 95) | public static async Task ConnectAndAuthenticateAsyn... method DisposeQuietly (line 133) | public static void DisposeQuietly(Smtp? smtp) { FILE: Sources/Mailozaurr/Cryptography/AesCredentialProtector.cs class AesCredentialProtector (line 9) | internal sealed class AesCredentialProtector : ICredentialProtector { method AesCredentialProtector (line 16) | public AesCredentialProtector() { method Protect (line 20) | public string Protect(string plainText) { method Unprotect (line 41) | public string Unprotect(string protectedData) { method LoadOrCreateKey (line 75) | private static byte[] LoadOrCreateKey() { method TryReadExistingKey (line 117) | private static bool TryReadExistingKey(string keyPath, out byte[] key,... method TryCreateKeyFile (line 161) | private static bool TryCreateKeyFile(string keyPath, out byte[] key) { method TryDeleteInvalidKeyFile (line 187) | private static bool TryDeleteInvalidKeyFile(string keyPath) { method IsSharingViolation (line 210) | private static bool IsSharingViolation(Exception ex) { FILE: Sources/Mailozaurr/Cryptography/CredentialProtection.cs class CredentialProtection (line 11) | public static class CredentialProtection { method SetDefault (line 36) | internal static void SetDefault(ICredentialProtector protector) { method Reset (line 49) | internal static void Reset() { method UnprotectWithFallback (line 62) | internal static string UnprotectWithFallback(string? protectedData) =>... method UnprotectWithFallback (line 64) | internal static string UnprotectWithFallback(ICredentialProtector prot... method CreateDefaultProtector (line 91) | private static ICredentialProtector CreateDefaultProtector() { FILE: Sources/Mailozaurr/Cryptography/CredentialProtectionPaths.cs class CredentialProtectionPaths (line 6) | internal static class CredentialProtectionPaths { method ResolveKeyDirectory (line 11) | public static string ResolveKeyDirectory() { method GetBaseDirectory (line 21) | private static string GetBaseDirectory() { FILE: Sources/Mailozaurr/Cryptography/EphemeralOpenPgpContext.cs class EphemeralOpenPgpContext (line 16) | public class EphemeralOpenPgpContext : GnuPGContext, IDisposable { method EphemeralOpenPgpContext (line 24) | public EphemeralOpenPgpContext(string? password = null) : base(CreateT... method CreateTempDirectory (line 34) | private static string CreateTempDirectory(out string path) { method GetPasswordForKey (line 55) | protected override string GetPasswordForKey(PgpSecretKey key) { method Dispose (line 62) | public new void Dispose() { method Dispose (line 75) | void IDisposable.Dispose() => Dispose(); FILE: Sources/Mailozaurr/Cryptography/ICredentialProtector.cs type ICredentialProtector (line 8) | public interface ICredentialProtector { method Protect (line 14) | string Protect(string plainText); method Unprotect (line 21) | string Unprotect(string protectedData); FILE: Sources/Mailozaurr/Cryptography/TemporaryPgpKeyPair.cs class TemporaryPgpKeyPair (line 18) | public sealed class TemporaryPgpKeyPair : IDisposable method TemporaryPgpKeyPair (line 31) | private TemporaryPgpKeyPair(string tempDirectory, bool removeDirectory... method Create (line 50) | public static TemporaryPgpKeyPair Create(string identity = "Mailozaurr... method GenerateKeyRingGenerator (line 69) | private static PgpKeyRingGenerator GenerateKeyRingGenerator(string ide... method Dispose (line 93) | public void Dispose() method DecryptToString (line 152) | public string DecryptToString(string messagePath) FILE: Sources/Mailozaurr/Cryptography/TemporarySmimeCertificate.cs class TemporarySmimeCertificate (line 21) | public static class TemporarySmimeCertificate { method CreateSelfSigned (line 29) | public static X509Certificate2 CreateSelfSigned(string subjectName = "... method CreateWithCertificateRequest (line 55) | private static X509Certificate2 CreateWithCertificateRequest(string su... method CreateWithBouncyCastle (line 86) | private static X509Certificate2 CreateWithBouncyCastle(string subjectN... method CreateCertificateWithFallbacks (line 130) | private static X509Certificate2 CreateCertificateWithFallbacks(byte[] ... FILE: Sources/Mailozaurr/Cryptography/WindowsCredentialProtector.cs class WindowsCredentialProtector (line 7) | internal sealed class WindowsCredentialProtector : ICredentialProtector { method Protect (line 8) | public string Protect(string plainText) { method Unprotect (line 18) | public string Unprotect(string protectedData) { FILE: Sources/Mailozaurr/Definitions/AttachmentDescriptor.cs class AttachmentDescriptor (line 9) | public abstract class AttachmentDescriptor method CreateMimeEntity (line 56) | internal virtual MimeEntity CreateMimeEntity(bool inline) method CreateContentStream (line 119) | protected abstract Stream CreateContentStream(); method GetContentBytes (line 125) | internal virtual byte[] GetContentBytes() class FileAttachmentDescriptor (line 137) | public sealed class FileAttachmentDescriptor : AttachmentDescriptor method FileAttachmentDescriptor (line 143) | public FileAttachmentDescriptor(string filePath) method CreateContentStream (line 162) | protected override Stream CreateContentStream() class StreamAttachmentDescriptor (line 172) | public sealed class StreamAttachmentDescriptor : AttachmentDescriptor method StreamAttachmentDescriptor (line 183) | public StreamAttachmentDescriptor(Stream stream, string fileName, bool... method CreateContentStream (line 201) | protected override Stream CreateContentStream() class ByteArrayAttachmentDescriptor (line 236) | public sealed class ByteArrayAttachmentDescriptor : AttachmentDescriptor method ByteArrayAttachmentDescriptor (line 247) | public ByteArrayAttachmentDescriptor(byte[] buffer, string fileName, b... method CreateContentStream (line 261) | protected override Stream CreateContentStream() class MimeEntityAttachmentDescriptor (line 271) | public sealed class MimeEntityAttachmentDescriptor : AttachmentDescriptor method MimeEntityAttachmentDescriptor (line 279) | public MimeEntityAttachmentDescriptor(MimeEntity entity) method CreateMimeEntity (line 284) | internal override MimeEntity CreateMimeEntity(bool inline) method CreateContentStream (line 342) | protected override Stream CreateContentStream() => throw new NotSuppor... method GetContentBytes (line 344) | internal override byte[] GetContentBytes() => throw new NotSupportedEx... FILE: Sources/Mailozaurr/Definitions/MailComposeProfile.cs class MailComposeProfile (line 6) | public sealed class MailComposeProfile { FILE: Sources/Mailozaurr/Definitions/OAuthCredential.cs class OAuthCredential (line 10) | public class OAuthCredential { FILE: Sources/Mailozaurr/Definitions/ValidatedEmail.cs class ValidatedEmail (line 11) | public class ValidatedEmail { FILE: Sources/Mailozaurr/DmarcReports/DmarcReport.cs class DmarcReport (line 6) | public sealed class DmarcReport { FILE: Sources/Mailozaurr/DmarcReports/DmarcReportAttachment.cs class DmarcReportAttachment (line 6) | public sealed class DmarcReportAttachment : IDisposable { method DmarcReportAttachment (line 16) | public DmarcReportAttachment(string name, Stream content) { method Dispose (line 22) | public void Dispose() => Content.Dispose(); FILE: Sources/Mailozaurr/DmarcReports/DmarcReportServiceBase.cs class DmarcReportServiceBase (line 10) | public abstract class DmarcReportServiceBase : IDmarcReportService { method SearchAsync (line 16) | public async Task> SearchAsync( method SearchInternalAsync (line 33) | protected abstract Task> SearchInternalAsync( FILE: Sources/Mailozaurr/DmarcReports/GmailDmarcReportService.cs class GmailDmarcReportService (line 10) | public sealed class GmailDmarcReportService : DmarcReportServiceBase { method GmailDmarcReportService (line 19) | public GmailDmarcReportService(GmailApiClient client, string userId) { method SearchInternalAsync (line 25) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/DmarcReports/GraphDmarcReportService.cs class GraphDmarcReportService (line 10) | public sealed class GraphDmarcReportService : DmarcReportServiceBase { method GraphDmarcReportService (line 19) | public GraphDmarcReportService(GraphCredential credential, string user... method SearchInternalAsync (line 25) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/DmarcReports/ImapDmarcReportService.cs class ImapDmarcReportService (line 11) | public sealed class ImapDmarcReportService : DmarcReportServiceBase { method ImapDmarcReportService (line 20) | public ImapDmarcReportService(ImapClient client, string? folder = null) { method SearchInternalAsync (line 26) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/DmarcReports/Pop3DmarcReportService.cs class Pop3DmarcReportService (line 11) | public sealed class Pop3DmarcReportService : DmarcReportServiceBase { method Pop3DmarcReportService (line 18) | public Pop3DmarcReportService(Pop3Client client) => this.client = client; method SearchInternalAsync (line 21) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/EmailGraphMessage.cs class EmailGraphMessage (line 10) | public class EmailGraphMessage { FILE: Sources/Mailozaurr/Enums/ActionPreference.cs type ActionPreference (line 10) | public enum ActionPreference { FILE: Sources/Mailozaurr/Enums/AuthenticationMechanism.cs type AuthenticationMechanism (line 10) | public enum AuthenticationMechanism { FILE: Sources/Mailozaurr/Enums/DeliveryNotification.cs type DeliveryNotification (line 10) | public enum DeliveryNotification { FILE: Sources/Mailozaurr/Enums/EmailAction.cs type EmailAction (line 10) | public enum EmailAction { FILE: Sources/Mailozaurr/Enums/EmailActionEncryption.cs type EmailActionEncryption (line 10) | public enum EmailActionEncryption { FILE: Sources/Mailozaurr/Enums/EmailEncryption.cs type EmailEncryption (line 10) | public enum EmailEncryption { FILE: Sources/Mailozaurr/Enums/EmailProvider.cs type EmailProvider (line 9) | public enum EmailProvider { FILE: Sources/Mailozaurr/Enums/GraphEndpoint.cs type GraphEndpoint (line 10) | public enum GraphEndpoint { FILE: Sources/Mailozaurr/Enums/GraphImportance.cs type GraphImportance (line 6) | public enum GraphImportance { FILE: Sources/Mailozaurr/Enums/GraphMailboxRole.cs type GraphMailboxRole (line 10) | public enum GraphMailboxRole { FILE: Sources/Mailozaurr/Enums/MessagePriority.cs type MessagePriority (line 10) | public enum MessagePriority { FILE: Sources/Mailozaurr/Gmail/GmailApiClient.cs class GmailApiClient (line 20) | public sealed class GmailApiClient : IDisposable { method ThrowIfDisposed (line 27) | private void ThrowIfDisposed() { method GmailApiClient (line 36) | public GmailApiClient(OAuthCredential credential, Func SendAsync(string userId, MimeMessage m... method ListAsync (line 284) | public Task> ListAsync(string userId, string? quer... method ClampMaxResults (line 287) | private static int? ClampMaxResults(int? maxResults) { method ListPageAsync (line 304) | public async Task ListPageAsync( method ListAdvancedAsync (line 358) | public async Task> ListAdvancedAsync( method GetAsync (line 405) | public async Task GetAsync(string userId, string id, Can... method GetMessageWithOptionsAsync (line 434) | public Task GetMessageWithOptionsAsync( method GetMessageWithOptionsCoreAsync (line 443) | private async Task GetMessageWithOptionsCoreAsync( method GetMessageWithFormatAsync (line 491) | private Task GetMessageWithFormatAsync( method GetMimeMessageAsync (line 502) | public async Task GetMimeMessageAsync(string userId, stri... method GetRawAsync (line 519) | public Task GetRawAsync(string userId, string id, string... method GetFullAsync (line 525) | public Task GetFullAsync(string userId, string id, strin... method ImportAsync (line 534) | public async Task ImportAsync( method DeleteAsync (line 586) | public async Task DeleteAsync(string userId, string id, CancellationTo... method TrashMessageAsync (line 599) | public async Task TrashMessageAsync(string userId, strin... method ModifyMessageLabelsAsync (line 627) | public async Task ModifyMessageLabelsAsync( method BatchModifyMessagesAsync (line 666) | public async Task BatchModifyMessagesAsync( method BatchDeleteMessagesAsync (line 697) | public async Task BatchDeleteMessagesAsync(string userId, IReadOnlyCol... method ListLabelsAsync (line 719) | public async Task> ListLabelsAsync(string userId, Ca... method ModifyThreadLabelsAsync (line 741) | public async Task ModifyThreadLabelsAsync( method TrashThreadAsync (line 780) | public async Task TrashThreadAsync(string userId, string ... method DeleteThreadAsync (line 808) | public async Task DeleteThreadAsync(string userId, string id, Cancella... method GetProfileAsync (line 821) | public async Task GetProfileAsync(string userId, Cancell... method WatchAsync (line 849) | public async Task WatchAsync( method StopWatchAsync (line 896) | public async Task StopWatchAsync(string userId, CancellationToken canc... method ListHistoryAsync (line 919) | public async Task ListHistoryAsync( method ListThreadsAsync (line 974) | public async Task> ListThreadsAsync(string user... method GetThreadAsync (line 1013) | public async Task GetThreadAsync(string userId, string id... method GetThreadWithOptionsAsync (line 1038) | public async Task GetThreadWithOptionsAsync( method ListAttachmentsAsync (line 1081) | public async Task> ListAttachmentsAsync(str... method DownloadAttachmentAsync (line 1102) | public async Task DownloadAttachmentAsync(string userId, strin... method ExtractAttachments (line 1141) | private static void ExtractAttachments(JsonElement part, List ResolveLabelIdAsync( method ResolveWatchLabelIdAsync (line 77) | public async Task ResolveWatchLabelIdAsync( method ListFoldersAsync (line 94) | public async Task> ListFolder... method ListMessagesAsync (line 127) | public async Task ListMessagesAsync( method ListThreadMessagesAsync (line 205) | public async Task> ListThrea... method ListThreadMessagesPageAsync (line 233) | public async Task ListThreadMessagesPage... method SearchMessagesAsync (line 259) | public async Task SearchMessagesAsync( method BuildSearchQuery (line 329) | public static string BuildSearchQuery(GmailMailboxSearchRequest reques... method GetMessageSummaryAsync (line 385) | public async Task GetMessageSummaryAsync( method ImportMessageAsync (line 408) | public async Task ImportMessageAsync( method SendMessageAsync (line 446) | public async Task SendMessageAsync( method FindSentMessageByRfc822MessageIdAsync (line 467) | public async Task FindSentMessageByR... method GetThreadingMetadataAsync (line 510) | public async Task GetThreadingMet... method GetMessageContentAsync (line 570) | public async Task GetMessageContentAsync( method SetMessageSeenAsync (line 620) | public async Task SetMessageSeenAsync( method SetMessageFlaggedAsync (line 639) | public async Task SetMessageFlaggedAsync( method MoveMessageAsync (line 658) | public async Task MoveMessageAsync( method ArchiveMessageAsync (line 698) | public async Task ArchiveMessageAsync( method TrashMessageAsync (line 716) | public async Task TrashMessageAsync( method DeleteMessageAsync (line 729) | public async Task DeleteMessageAsync( method SetMessagesSeenAsync (line 742) | public async Task> SetM... method SetMessagesFlaggedAsync (line 762) | public async Task> SetM... method SetThreadSeenAsync (line 782) | public async Task SetThreadSeenAsync( method SetThreadFlaggedAsync (line 801) | public async Task SetThreadFlaggedAsync( method MoveMessagesAsync (line 820) | public async Task> Move... method MoveThreadAsync (line 865) | public async Task MoveThreadAsync( method MoveThreadsAsync (line 911) | public async Task> Move... method ArchiveMessagesAsync (line 925) | public async Task> Arch... method TrashMessagesAsync (line 944) | public async Task> Tras... method DeleteMessagesAsync (line 975) | public async Task> Dele... method ArchiveThreadAsync (line 1011) | public async Task ArchiveThreadAsync( method TrashThreadAsync (line 1029) | public async Task TrashThreadAsync( method DeleteThreadAsync (line 1042) | public async Task DeleteThreadAsync( method ArchiveThreadsAsync (line 1055) | public async Task> Arch... method TrashThreadsAsync (line 1064) | public async Task> Tras... method DeleteThreadsAsync (line 1073) | public async Task> Dele... method SetThreadsSeenAsync (line 1082) | public async Task> SetT... method SetThreadsFlaggedAsync (line 1095) | public async Task> SetT... method GetProfileAsync (line 1108) | public async Task GetProfileAsync(Cancellat... method WatchAsync (line 1121) | public async Task WatchAsync( method StopWatchAsync (line 1166) | public Task StopWatchAsync(CancellationToken cancellationToken = defau... method StopWatchAsync (line 1172) | public async Task StopWatchAsync( method GetHistoryAsync (line 1192) | public async Task GetHistoryAsync( method ExecuteBatchModifyAsync (line 1267) | private async Task> Exe... method ExecuteThreadActionAsync (line 1303) | private async Task> Exe... method ResolveSourceLabelIdAsync (line 1335) | private async Task ResolveSourceLabelIdAsync( method NormalizeIds (line 1345) | private static List NormalizeIds(IEnumerable ids) { method Chunk (line 1361) | private static IEnumerable> Chunk(IReadOnlyList i... method AddHistoryRefs (line 1373) | private static void AddHistoryRefs( method AddHistoryRefs (line 1388) | private static void AddHistoryRefs( method AddHistoryRefs (line 1403) | private static void AddHistoryRefs( method AddHistoryRefs (line 1418) | private static void AddHistoryRefs( method TryGetMessageSummaryAsync (line 1433) | private async Task TryGetMessageSummaryAs... method TryResolveSystemLabel (line 1441) | private static bool TryResolveSystemLabel(string raw, out string label... method TryResolveWatchSystemLabel (line 1486) | private static bool TryResolveWatchSystemLabel(string raw, out string ... method ClampInt (line 1522) | private static int ClampInt(int value, int min, int max) { method NormalizeOptional (line 1528) | private static string? NormalizeOptional(string? raw) { method ResolveInternalDateUtc (line 1536) | private static DateTime ResolveInternalDateUtc(long? internalDateMs) { method BuildHeaderMap (line 1548) | private static Dictionary BuildHeaderMap(GmailMessageP... method PayloadHasAttachments (line 1567) | private static bool PayloadHasAttachments(GmailMessagePayload? payload) { method HasLabel (line 1589) | private static bool HasLabel(IReadOnlyCollection? labelIds, st... method NormalizeMessageIdValue (line 1603) | private static string? NormalizeMessageIdValue(string? value) { method MapSummary (line 1620) | private static GmailMailboxMessageSummary MapSummary(GmailMessage mess... method MapSummaries (line 1645) | private static List MapSummaries(IList SplitMessageIdTokens(string? raw) { class GmailMailboxFolderSummary (line 1705) | public sealed class GmailMailboxFolderSummary { class GmailMailboxListResult (line 1719) | public sealed class GmailMailboxListResult { class GmailMailboxThreadListResult (line 1733) | public sealed class GmailMailboxThreadListResult { class GmailMailboxSearchRequest (line 1747) | public sealed class GmailMailboxSearchRequest { class GmailMailboxSearchResult (line 1782) | public sealed class GmailMailboxSearchResult { class GmailMailboxImportResult (line 1793) | public sealed class GmailMailboxImportResult { class GmailMailboxSendResult (line 1807) | public sealed class GmailMailboxSendResult { class GmailMailboxDuplicateProbeResult (line 1818) | public sealed class GmailMailboxDuplicateProbeResult { class GmailMailboxThreadingMetadataResult (line 1838) | public sealed class GmailMailboxThreadingMetadataResult { class GmailMailboxGetResult (line 1858) | public sealed class GmailMailboxGetResult { class GmailMailboxProfileResult (line 1875) | public sealed class GmailMailboxProfileResult { class GmailMailboxWatchResult (line 1892) | public sealed class GmailMailboxWatchResult { class GmailMailboxStopWatchResult (line 1906) | public sealed class GmailMailboxStopWatchResult { class GmailMailboxHistoryResult (line 1917) | public sealed class GmailMailboxHistoryResult { class GmailMailboxBulkOperationResult (line 1934) | public sealed class GmailMailboxBulkOperationResult : MailboxBulkOpera... class GmailMailboxMessageSummary (line 1939) | public sealed class GmailMailboxMessageSummary { FILE: Sources/Mailozaurr/Gmail/GmailMessage.cs class GmailMessage (line 9) | public sealed class GmailMessage { class GmailMessagePayload (line 43) | public sealed class GmailMessagePayload { class GmailMessageHeader (line 72) | public sealed class GmailMessageHeader { class GmailMessageBody (line 85) | public sealed class GmailMessageBody { FILE: Sources/Mailozaurr/Gmail/GmailThread.cs class GmailThread (line 8) | public sealed class GmailThread { FILE: Sources/Mailozaurr/Gmail/GmailThreadInfo.cs class GmailThreadInfo (line 6) | public sealed class GmailThreadInfo { FILE: Sources/Mailozaurr/GraphCredential.cs class GraphCredential (line 10) | public class GraphCredential { FILE: Sources/Mailozaurr/GraphEmailMessage.cs class GraphEmailMessage (line 9) | public class GraphEmailMessage { method GraphEmailMessage (line 16) | public GraphEmailMessage(string id, MimeMessage message, IList Message.Subject ?? string.Empty; FILE: Sources/Mailozaurr/Helpers/CAPI.cs class CAPI (line 6) | internal static class CAPI { type CRYPTOAPI_BLOB (line 13) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] method ErrorMayBeCausedByUnloadedProfile (line 19) | internal static bool ErrorMayBeCausedByUnloadedProfile(int errorCode) { method CryptProtectData (line 23) | [DllImport("CRYPT32.dll", CharSet = CharSet.Unicode, SetLastError = tr... method CryptUnprotectData (line 34) | [DllImport("CRYPT32.dll", CharSet = CharSet.Unicode, SetLastError = tr... method ZeroMemory (line 45) | [DllImport("ntdll.dll", EntryPoint = "RtlZeroMemory", SetLastError = t... method LocalFree (line 48) | [DllImport("api-ms-win-core-misc-l1-1-0.dll", SetLastError = true)] FILE: Sources/Mailozaurr/Helpers/DictionaryExtensions.cs class DictionaryExtensions (line 6) | internal static class DictionaryExtensions method TryAdd (line 8) | public static bool TryAdd(this IDictionary... FILE: Sources/Mailozaurr/Helpers/EncryptionResult.cs class EncryptionResult (line 6) | internal class EncryptionResult { method EncryptionResult (line 7) | internal EncryptionResult(string encrypted, string IV) { FILE: Sources/Mailozaurr/Helpers/Helpers.cs class Helpers (line 15) | public static class Helpers { method ConvertFromOAuth2Credential (line 34) | public static (string UserName, string Token) ConvertFromOAuth2Credent... method ConvertFromPlainText (line 51) | public static NetworkCredential ConvertFromPlainText(string userName, ... method CredentialToApiKey (line 82) | public static string CredentialToApiKey(ICredentials credentials) { method GetEmailAddress (line 92) | public static string GetEmailAddress(object from) { method GetFromObject (line 109) | public static object GetFromObject(string email, string name) { method GetEmailAndName (line 119) | public static (string? Email, string? Name) GetEmailAndName(object? fr... method UniqueAddresses (line 137) | public static IEnumerable UniqueAddresses(IEnumerable?... method IsTransient (line 163) | public static bool IsTransient(Exception ex) { method PostWebhookAsync (line 191) | public static async Task PostWebhookAsync(string? url, SmtpResult resu... FILE: Sources/Mailozaurr/Helpers/HtmlUtils.cs class HtmlUtils (line 14) | public static class HtmlUtils { method HtmlUtils (line 19) | static HtmlUtils() { class RemoteImage (line 27) | public class RemoteImage { method ExtractLocalImagePaths (line 41) | public static (string Html, List Paths) ExtractLocalImagePaths... method DownloadRemoteImagesAsync (line 69) | public static async Task<(string Html, List Images)> Down... FILE: Sources/Mailozaurr/Helpers/LimitedStream.cs class LimitedStream (line 9) | internal sealed class LimitedStream : Stream { method LimitedStream (line 14) | public LimitedStream(Stream inner, long maxBytes) { method Flush (line 28) | public override void Flush() => _inner.Flush(); method Read (line 30) | public override int Read(byte[] buffer, int offset, int count) { method Seek (line 40) | public override long Seek(long offset, SeekOrigin origin) => throw new... method SetLength (line 41) | public override void SetLength(long value) => throw new NotSupportedEx... method Write (line 42) | public override void Write(byte[] buffer, int offset, int count) => th... FILE: Sources/Mailozaurr/Helpers/ProtectedData.cs class ProtectedData (line 8) | internal static class ProtectedData { method Protect (line 10) | public static byte[] Protect(byte[] userData, byte[]? optionalEntropy,... method Unprotect (line 65) | public static byte[] Unprotect(byte[] encryptedData, byte[]? optionalE... FILE: Sources/Mailozaurr/Helpers/SecureStringHelper.cs class SecureStringHelper (line 15) | internal static class SecureStringHelper { method New (line 28) | private static SecureString New(byte[] data) { method GetData (line 62) | internal static byte[] GetData(SecureString s) { method ByteArrayToString (line 90) | internal static string ByteArrayToString(byte[] data) { method ByteArrayFromString (line 106) | internal static byte[] ByteArrayFromString(string s) { method Protect (line 130) | internal static string Protect(SecureString input) { method Unprotect (line 162) | internal static SecureString Unprotect(string input) { method Encrypt (line 194) | internal static EncryptionResult Encrypt(SecureString input, SecureStr... method Encrypt (line 217) | internal static EncryptionResult Encrypt(SecureString input, byte[] ke... method Encrypt (line 221) | internal static EncryptionResult Encrypt(SecureString input, byte[] ke... method EncryptAsync (line 263) | internal static async Task EncryptAsync( method EncryptAsync (line 295) | internal static async Task EncryptAsync( method Decrypt (line 317) | internal static SecureString Decrypt(string input, SecureString key, b... method Decrypt (line 343) | internal static SecureString Decrypt(string input, byte[] key, byte[] ... method DecryptAsync (line 374) | internal static async Task DecryptAsync( method DecryptAsync (line 400) | internal static async Task DecryptAsync( method FromPlainTextString (line 417) | internal static SecureString FromPlainTextString(string? plainTextStri... FILE: Sources/Mailozaurr/IDmarcReportService.cs type IDmarcReportService (line 8) | public interface IDmarcReportService { method SearchAsync (line 15) | Task> SearchAsync( FILE: Sources/Mailozaurr/INonDeliveryReportService.cs type INonDeliveryReportService (line 8) | public interface INonDeliveryReportService { method SearchAsync (line 16) | Task> SearchAsync( FILE: Sources/Mailozaurr/ImapEmailMessage.cs class ImapEmailMessage (line 13) | public class ImapEmailMessage { method ImapEmailMessage (line 20) | public ImapEmailMessage(UniqueId uid, MimeMessage message, IList Message.Subject ?? string.Empty; FILE: Sources/Mailozaurr/ImapMessageInfo.cs class ImapMessageInfo (line 16) | public class ImapMessageInfo { method ImapMessageInfo (line 21) | public ImapMessageInfo(ImapEmailMessage message) { method ToString (line 63) | public override string ToString() => Subject ?? string.Empty; FILE: Sources/Mailozaurr/Logging/InternalLogger.cs class InternalLogger (line 10) | public class InternalLogger { method InternalLogger (line 77) | public InternalLogger(bool isVerbose = false) { method WriteProgress (line 89) | public void WriteProgress(string activity, string currentOperation, in... method WriteError (line 106) | public void WriteError(string message) { method WriteError (line 120) | public void WriteError(string message, params object[] args) { method WriteWarning (line 133) | public void WriteWarning(string message) { method WriteWarning (line 147) | public void WriteWarning(string message, params object[] args) { method WriteVerbose (line 160) | public void WriteVerbose(string message) { method WriteVerbose (line 174) | public void WriteVerbose(string message, params object[] args) { method WriteDebug (line 188) | public void WriteDebug(string message, params object[] args) { method WriteInformation (line 202) | public void WriteInformation(string message, params object[] args) { FILE: Sources/Mailozaurr/Logging/LogCollector.cs class LogCollector (line 13) | public class LogCollector { method LogWarning (line 20) | public void LogWarning(string message) => Logs.Enqueue(new LogEntry { ... method LogError (line 22) | public void LogError(string message) => Logs.Enqueue(new LogEntry { Me... method LogVerbose (line 24) | public void LogVerbose(string message) => Logs.Enqueue(new LogEntry { ... method LogInformation (line 26) | public void LogInformation(string message) => Logs.Enqueue(new LogEntr... FILE: Sources/Mailozaurr/Logging/LogEntry.cs class LogEntry (line 11) | public class LogEntry { FILE: Sources/Mailozaurr/Logging/LogEventArgs.cs class LogEventArgs (line 10) | public class LogEventArgs : EventArgs { method LogEventArgs (line 36) | public LogEventArgs(string message, object[] args) { method LogEventArgs (line 43) | public LogEventArgs(string message) { method LogEventArgs (line 49) | public LogEventArgs(string activity, string currentOperation, int? cur... FILE: Sources/Mailozaurr/Logging/LogType.cs type LogType (line 10) | public enum LogType { FILE: Sources/Mailozaurr/Logging/LoggingConfigurator.cs class LoggingConfigurator (line 13) | public class LoggingConfigurator : IDisposable { method ConfigureLogging (line 49) | public void ConfigureLogging(string? logPath, bool logConsole, bool lo... method Dispose (line 132) | protected virtual void Dispose(bool disposing) { method Dispose (line 148) | public void Dispose() { FILE: Sources/Mailozaurr/Logging/LoggingMessages.cs class LoggingMessages (line 12) | public class LoggingMessages { FILE: Sources/Mailozaurr/MailboxBulkOperationResult.cs class MailboxBulkOperationResult (line 6) | public class MailboxBulkOperationResult { FILE: Sources/Mailozaurr/Mailgun/Mailgun.cs class MailgunClient (line 14) | public class MailgunClient : IDisposable { method MailgunClient (line 116) | public MailgunClient() { method ConvertAddress (line 126) | private static string ConvertAddress(object address) { method CreateStreamContent (line 132) | private static StreamContent CreateStreamContent(string path) { method CreateContentAsync (line 151) | private Task CreateContentAsync(Cancellation... method BuildMimeMessage (line 197) | private MimeMessage BuildMimeMessage() { method QueuePendingMessageAsync (line 219) | private async Task QueuePendingMessageAsync(CancellationToken cancella... method SendEmailAsync (line 280) | public Task SendEmailAsync() { method SendEmailAsync (line 289) | public async Task SendEmailAsync(CancellationToken cancell... method ThrowIfDisposed (line 350) | private void ThrowIfDisposed() { method Dispose (line 358) | protected virtual void Dispose(bool disposing) { method Dispose (line 369) | public void Dispose() { FILE: Sources/Mailozaurr/MailozaurrOptions.cs class MailozaurrOptions (line 6) | public static class MailozaurrOptions method MailozaurrOptions (line 8) | static MailozaurrOptions() FILE: Sources/Mailozaurr/MicrosoftGraph/Graph.cs class Graph (line 16) | public class Graph : IDisposable { method Graph (line 274) | public Graph() { method WithSendPolicy (line 289) | public Graph WithSendPolicy(GraphSendPolicy policy) { method WithSmtpFallback (line 300) | public Graph WithSmtpFallback(Func factory) { method LogMissingAttachmentWarning (line 305) | private void LogMissingAttachmentWarning(string attachmentPath) { method StartOperationTimer (line 313) | private Stopwatch StartOperationTimer() { method WaitForConcurrencyAsync (line 319) | private async Task WaitForConcurrencyAsync(Stopwatch operationStopwatc... method CreateAttachments (line 333) | public void CreateAttachments() { method EstimateTotalSize (line 383) | private static long EstimateTotalSize(IEnumerable att... method EstimateAttachmentSize (line 391) | private static long EstimateAttachmentSize(GraphAttachment attachment) { method CreateMessage (line 412) | public void CreateMessage() { method Authenticate (line 473) | public void Authenticate(ICredentials Credentials) { method ConvertToGraphEmailAddress (line 502) | private GraphEmailAddress? ConvertToGraphEmailAddress(object? email) { method ConvertToGraphEmailAddress (line 510) | private List? ConvertToGraphEmailAddress(object[]? ... method ConvertToGraphEmailAddressUnique (line 517) | private List? ConvertToGraphEmailAddressUnique(obje... method ConnectO365GraphAsync (line 532) | public async Task ConnectO365GraphAsync(CancellationToken ... method SendMessageAsync (line 585) | public async Task SendMessageAsync(CancellationToken cance... method SendMessageDraftAsync (line 677) | public async Task SendMessageDraftAsync(CancellationToken ... method SendDraftMessage (line 743) | public async Task SendDraftMessage(GraphMessage draftMessa... method SendMessageBatchAsync (line 791) | public async Task SendMessageBatchAsync(CancellationToken ... method CreateDraftMessageAsync (line 830) | public async Task CreateDraftMessageAsync(CancellationTo... method CreateDraftForMg (line 890) | public string CreateDraftForMg() { method CreateDraft (line 901) | public string CreateDraft() { method CreateGraphAttachment (line 920) | public Task CreateGraphAttachment(string a... method CreateUploadSession (line 955) | public async Task CreateUploadSession(GraphMessage draftMessag... method ParseUploadSessionResult (line 991) | private static string ParseUploadSessionResult(string uploadSessionCon... method PrepareByteArrayContentForUpload (line 1009) | private List PrepareByteArrayContentForUpload(string fi... method UploadAttachmentsAsync (line 1044) | public async Task UploadAttachmentsAsync(GraphMessage draftMessage, Ca... method PrepareAttachments (line 1060) | public async Task PrepareAttachments(CancellationToken cancellationTok... method SendFileChunks (line 1079) | public async Task SendFileChunks(string uploadUrl, IEnumerable TrySmtpFallbackAsync(GraphSendPolicy? p... method MapImportance (line 1311) | private static string MapImportance(MessagePriority priority) { method Dispose (line 1322) | public void Dispose() { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiClient.cs class GraphApiClient (line 22) | public sealed class GraphApiClient : IDisposable { method ThrowIfDisposed (line 29) | private void ThrowIfDisposed() { method ApplyAuthHeader (line 35) | private void ApplyAuthHeader(HttpRequestMessage request) { method GraphApiClient (line 52) | public GraphApiClient( method GraphApiClient (line 76) | public GraphApiClient( method Dispose (line 92) | public void Dispose() { method ThrowIfAuthErrorAsync (line 105) | private async Task ThrowIfAuthErrorAsync(HttpResponseMessage response,... method TryGetRetryAfter (line 123) | private static TimeSpan? TryGetRetryAfter(HttpResponseMessage response) { method CreateSubscriptionAsync (line 143) | public async Task CreateSubscriptionAsync(GraphCrea... method RenewSubscriptionAsync (line 191) | public async Task RenewSubscriptionAsync(string sub... method DeleteSubscriptionAsync (line 233) | public async Task DeleteSubscriptionAsync(string subscriptionId, Cance... method ListSubscriptionsAsync (line 256) | public async Task> ListSubscriptionsA... method BuildUserSegment (line 279) | private static string BuildUserSegment(string userId) { method ClampInt (line 287) | private static int ClampInt(int value, int min, int max) { method EscapeODataStringLiteral (line 293) | private static string EscapeODataStringLiteral(string value) => value.... method TryGetString (line 295) | private static string? TryGetString(JsonElement obj, string propertyNa... method TryGetInt (line 306) | private static int? TryGetInt(JsonElement obj, string propertyName) { method TryGetBool (line 316) | private static bool? TryGetBool(JsonElement obj, string propertyName) { method TryGetDateTimeOffset (line 332) | private static DateTimeOffset? TryGetDateTimeOffset(JsonElement obj, s... method TryParseEmailAddress (line 342) | private static GraphEmailAddress? TryParseEmailAddress(JsonElement rec... method TryParseEmailAddressList (line 363) | private static List? TryParseEmailAddressList(JsonE... method TryParseMailMessage (line 380) | private static GraphMailMessage? TryParseMailMessage(JsonElement obj) { method TryParseMailFolder (line 419) | private static GraphMailFolder? TryParseMailFolder(JsonElement obj) { method ListMailFoldersRecursiveAsync (line 448) | public async Task> ListMailFoldersRecur... method GetMailFolderAsync (line 536) | public async Task GetMailFolderAsync( method ListMessagesAsync (line 579) | public async Task> ListMessagesAsync( method ListConversationMessageIdsAsync (line 663) | public async Task> ListConversationMessageIdsAsync( method ListConversationMessagesAsync (line 732) | public async Task> ListConversationMes... method GetMessageAsync (line 811) | public async Task GetMessageAsync( method GetMessageMimeAsync (line 854) | public async Task GetMessageMimeAsync( method CreateMessageAsync (line 920) | public async Task CreateMessageAsync( method SendDraftMessageAsync (line 972) | public async Task SendDraftMessageAsync( method CreateAttachmentUploadSessionAsync (line 1000) | public async Task CreateAttachmentUploadSess... method UploadAttachmentChunkAsync (line 1054) | public async Task UploadAttachmentChunkAsync( method BuildCreateUploadSessionPayload (line 1090) | private static string BuildCreateUploadSessionPayload(GraphAttachmentI... method DeltaMessagesAsync (line 1133) | public async Task> DeltaMessagesAsync( method MoveMessageAsync (line 1214) | public async Task MoveMessageAsync( method DeleteMessageAsync (line 1248) | public async Task DeleteMessageAsync(string messageId, string userId =... method SetMessageIsReadAsync (line 1272) | public async Task SetMessageIsReadAsync( method SetMessageFlaggedAsync (line 1303) | public async Task SetMessageFlaggedAsync( method BatchMoveMessagesAsync (line 1337) | public async Task> BatchMoveMe... method BatchDeleteMessagesAsync (line 1379) | public async Task> BatchDelete... method BatchSetMessagesIsReadAsync (line 1409) | public async Task> BatchSetMes... method BatchSetMessagesFlaggedAsync (line 1448) | public async Task> BatchSetMes... method BatchMoveConversationsAsync (line 1487) | public async Task> BatchMoveCo... method BatchDeleteConversationsAsync (line 1553) | public async Task> BatchDelete... method SendBatchAsync (line 1614) | public async Task> SendBatchAsync(IEnu... method NormalizeBulkIds (line 1687) | private static List NormalizeBulkIds(IEnumerable ids) { method ExecuteMessageBatchAsync (line 1702) | private async Task> ExecuteMes... method FindFirstFailedBulkResult (line 1774) | private static GraphBulkOperationResult? FindFirstFailedBulkResult(IRe... method TryExtractBatchErrorMessage (line 1786) | private static string? TryExtractBatchErrorMessage(GraphBatchResult re... class GraphCreateSubscriptionRequest (line 1835) | public sealed class GraphCreateSubscriptionRequest { class GraphRenewSubscriptionRequest (line 1862) | public sealed class GraphRenewSubscriptionRequest { class GraphSubscription (line 1869) | public sealed class GraphSubscription { class GraphSubscriptionListResponse (line 1896) | public sealed class GraphSubscriptionListResponse { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiDiagnostic.cs class GraphApiDiagnostic (line 8) | public class GraphApiDiagnostic { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiErrorDetail.cs class GraphApiErrorDetail (line 10) | public class GraphApiErrorDetail { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiErrorHeaders.cs class GraphApiErrorHeaders (line 10) | public class GraphApiErrorHeaders { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiErrorParser.cs class GraphApiErrorParser (line 13) | public static class GraphApiErrorParser { method Parse (line 19) | public static GraphApiErrorResponse? Parse(string? message) { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiErrorResponse.cs class GraphApiErrorResponse (line 8) | public class GraphApiErrorResponse { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiException.cs class GraphApiException (line 13) | public class GraphApiException : Exception { method GraphApiException (line 35) | public GraphApiException(HttpStatusCode statusCode, string message, st... method GraphApiException (line 45) | public GraphApiException(HttpStatusCode statusCode, string message, st... FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiInnerError.cs class GraphApiInnerError (line 10) | public class GraphApiInnerError { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphApiServerInfo.cs class GraphApiServerInfo (line 8) | public class GraphApiServerInfo { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphAttachment.cs class GraphAttachment (line 10) | public class GraphAttachment { method FromFile (line 55) | public static GraphAttachment FromFile(string filePath) { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphAttachmentItem.cs class GraphAttachmentItem (line 10) | public class GraphAttachmentItem { method GraphAttachmentItem (line 54) | public GraphAttachmentItem(string attachmentType, string name, long si... FILE: Sources/Mailozaurr/MicrosoftGraph/GraphAttachmentItemWrapper.cs class GraphAttachmentItemWrapper (line 10) | public class GraphAttachmentItemWrapper { method GraphAttachmentItemWrapper (line 19) | public GraphAttachmentItemWrapper(GraphAttachmentItem attachmentItem) { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphAttachmentPlaceHolder.cs class GraphAttachmentPlaceHolder (line 10) | public class GraphAttachmentPlaceHolder { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphAuthorization.cs class GraphAuthorization (line 12) | public class GraphAuthorization { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphBatchRequest.cs class GraphBatchRequest (line 8) | public class GraphBatchRequest { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphBatchResult.cs class GraphBatchResult (line 8) | public class GraphBatchResult { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphBulkOperationResult.cs class GraphBulkOperationResult (line 6) | public sealed class GraphBulkOperationResult : MailboxBulkOperationResult; FILE: Sources/Mailozaurr/MicrosoftGraph/GraphContent.cs class GraphContent (line 6) | public class GraphContent { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphEmail.cs class GraphEmail (line 6) | public class GraphEmail { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphEmailAddress.cs class GraphEmailAddress (line 9) | public class GraphEmailAddress { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphErrors.cs class GraphApiError (line 10) | public class GraphApiError { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphEvent.cs class GraphEvent (line 13) | public class GraphEvent { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphEventAttendee.cs class GraphEventAttendee (line 12) | public class GraphEventAttendee { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphEventBuilder.cs class GraphEventBuilder (line 9) | public sealed class GraphEventBuilder { method Subject (line 13) | public GraphEventBuilder Subject(string subject) { method Start (line 19) | public GraphEventBuilder Start(DateTime dateTime, string timeZone = "U... method End (line 25) | public GraphEventBuilder End(DateTime dateTime, string timeZone = "UTC... method Body (line 31) | public GraphEventBuilder Body(string content, string type = "HTML") { method Attendee (line 37) | public GraphEventBuilder Attendee(string address, string name, string ... method Build (line 47) | internal GraphEvent Build() => _event; FILE: Sources/Mailozaurr/MicrosoftGraph/GraphEventTime.cs class GraphEventTime (line 11) | public class GraphEventTime { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphHttpMethod.cs type GraphHttpMethod (line 6) | public enum GraphHttpMethod { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphInboxRule.cs class GraphInboxRule (line 12) | public class GraphInboxRule FILE: Sources/Mailozaurr/MicrosoftGraph/GraphInboxRuleActions.cs class GraphInboxRuleActions (line 8) | public class GraphInboxRuleActions FILE: Sources/Mailozaurr/MicrosoftGraph/GraphInboxRuleBuilder.cs class GraphInboxRuleBuilder (line 9) | public sealed class GraphInboxRuleBuilder { method DisplayName (line 13) | public GraphInboxRuleBuilder DisplayName(string name) { method Sequence (line 19) | public GraphInboxRuleBuilder Sequence(int sequence) { method Enabled (line 25) | public GraphInboxRuleBuilder Enabled(bool enabled = true) { method EnsurePredicates (line 30) | private GraphInboxRulePredicates EnsurePredicates() => _rule.Condition... method EnsureActions (line 31) | private GraphInboxRuleActions EnsureActions() => _rule.Actions ??= new... method SenderContains (line 34) | public GraphInboxRuleBuilder SenderContains(params string[] senders) { method RecipientContains (line 41) | public GraphInboxRuleBuilder RecipientContains(params string[] recipie... method SubjectContains (line 48) | public GraphInboxRuleBuilder SubjectContains(params string[] subjects) { method BodyContains (line 55) | public GraphInboxRuleBuilder BodyContains(params string[] body) { method Importance (line 62) | public GraphInboxRuleBuilder Importance(string importance) { method MoveToFolder (line 69) | public GraphInboxRuleBuilder MoveToFolder(string folder) { method CopyToFolder (line 76) | public GraphInboxRuleBuilder CopyToFolder(string folder) { method Delete (line 83) | public GraphInboxRuleBuilder Delete(bool delete = true) { method ForwardTo (line 90) | public GraphInboxRuleBuilder ForwardTo(params string[] addresses) { method StopProcessingRules (line 99) | public GraphInboxRuleBuilder StopProcessingRules(bool stop = true) { method Build (line 106) | public GraphInboxRule Build() => _rule; FILE: Sources/Mailozaurr/MicrosoftGraph/GraphInboxRulePredicates.cs class GraphInboxRulePredicates (line 8) | public class GraphInboxRulePredicates FILE: Sources/Mailozaurr/MicrosoftGraph/GraphInternetMessageHeader.cs class GraphInternetMessageHeader (line 11) | public class GraphInternetMessageHeader { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphLargeAttachmentUploader.cs class GraphLargeAttachmentUploader (line 15) | public static class GraphLargeAttachmentUploader { method UploadAsync (line 23) | public static async Task UploadAsync( method CreateUploadSessionAsync (line 62) | private static async Task CreateUploadSessionAsync( method BuildUploadSessionRequestJson (line 101) | private static string BuildUploadSessionRequestJson(DecodedMimeAttachm... method UploadToSessionAsync (line 125) | private static async Task UploadToSessionAsync( FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailFolder.cs class GraphMailFolder (line 8) | public sealed class GraphMailFolder { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailMessage.cs class GraphMailMessage (line 10) | public sealed class GraphMailMessage { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailMessageFlag.cs class GraphMailMessageFlag (line 8) | public sealed class GraphMailMessageFlag { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailboxBrowser.cs class GraphMailboxBrowser (line 15) | public sealed class GraphMailboxBrowser { method GraphMailboxBrowser (line 35) | public GraphMailboxBrowser(GraphApiClient graph) { method ListFoldersAsync (line 42) | public async Task> ListFolder... method ListMessagesAsync (line 127) | public async Task ListMessagesAsync( method ListConversationMessagesAsync (line 159) | public async Task> ListConve... method ListConversationMessagesPageAsync (line 189) | public async Task ListConversation... method SearchMessagesAsync (line 219) | public async Task SearchMessagesAsync( method DeltaMessagesAsync (line 287) | public async Task DeltaMessagesAsync( method GetMessageSummaryAsync (line 313) | public async Task GetMessageSummaryAsync( method ImportMessageAsync (line 336) | public async Task ImportMessageAsync( method SendMessageAsync (line 391) | public async Task SendMessageAsync( method FindMessageByInternetMessageIdAsync (line 422) | public async Task FindMessageByInter... method CreateMessageSubscriptionAsync (line 468) | public async Task CreateMessageSubscri... method RenewSubscriptionAsync (line 498) | public async Task RenewSubscriptionAsync( method RenewSubscriptionSafeAsync (line 516) | public async Task RenewSubscripti... method DeleteSubscriptionAsync (line 541) | public async Task DeleteSubscrip... method BuildMessageSubscriptionResource (line 564) | public static string BuildMessageSubscriptionResource(string folder) { method GetThreadingMetadataAsync (line 576) | public async Task GetThreadingMet... method GetMessageContentAsync (line 611) | public async Task GetMessageContentAsync( method SetMessageSeenAsync (line 648) | public async Task SetMessageSeenAsync( method SetMessageFlaggedAsync (line 665) | public async Task SetMessageFlaggedAsync( method MoveMessageAsync (line 682) | public async Task MoveMessageAsync( method ArchiveMessageAsync (line 700) | public Task ArchiveMessageAsync( method TrashMessageAsync (line 709) | public Task TrashMessageAsync( method DeleteMessageAsync (line 718) | public async Task DeleteMessageAsync( method MoveMessagesAsync (line 733) | public async Task> MoveMessage... method ArchiveMessagesAsync (line 758) | public Task> ArchiveMessagesAs... method TrashMessagesAsync (line 768) | public Task> TrashMessagesAsync( method DeleteMessagesAsync (line 778) | public async Task> DeleteMessa... method SetMessagesSeenAsync (line 795) | public async Task> SetMessages... method SetMessagesFlaggedAsync (line 814) | public async Task> SetMessages... method SetConversationsSeenAsync (line 833) | public async Task> SetConversa... method SetConversationsFlaggedAsync (line 856) | public async Task> SetConversa... method MoveConversationsAsync (line 879) | public async Task> MoveConvers... method ArchiveConversationsAsync (line 904) | public Task> ArchiveConversati... method TrashConversationsAsync (line 914) | public Task> TrashConversation... method DeleteConversationsAsync (line 924) | public async Task> DeleteConve... method ExecuteConversationMessageActionAsync (line 938) | private async Task> ExecuteCon... method NormalizeConversationIds (line 997) | private static List NormalizeConversationIds(IEnumerable ResolveFolderIdAsync(string targetFolder, C... method ClampInt (line 1129) | private static int ClampInt(int value, int min, int max) { method AddSearchToken (line 1135) | private static void AddSearchToken(List tokens, string? value) { method IsFlagged (line 1144) | private static bool IsFlagged(GraphMailMessageFlag? flag) => class GraphFolderPathNode (line 1147) | private sealed class GraphFolderPathNode { method GraphFolderPathNode (line 1148) | public GraphFolderPathNode( method JoinRecipients (line 1171) | private static string JoinRecipients(IReadOnlyList?... method NormalizeOptional (line 1183) | private static string? NormalizeOptional(string? raw) { method NormalizeBulkIds (line 1188) | private static List NormalizeBulkIds(IEnumerable value... method EscapeGraphLiteral (line 1199) | private static string EscapeGraphLiteral(string value) => method EscapeODataStringLiteral (line 1202) | private static string EscapeODataStringLiteral(string value) => method NormalizeMessageIdValue (line 1205) | private static string? NormalizeMessageIdValue(string? value) { method NormalizeMessageIdValues (line 1221) | private static List NormalizeMessageIdValues(IEnumerable MapSummaries(IReadOnly... method MapSubscription (line 1272) | private static GraphMailboxSubscriptionResult MapSubscription(GraphApi... method ResolveFolderSelector (line 1288) | public static string ResolveFolderSelector(string? folderRaw) { class GraphMailboxFolderSummary (line 1332) | public sealed class GraphMailboxFolderSummary { class GraphMailboxListResult (line 1358) | public sealed class GraphMailboxListResult { class GraphMailboxConversationListResult (line 1372) | public sealed class GraphMailboxConversationListResult { class GraphMailboxSearchRequest (line 1386) | public sealed class GraphMailboxSearchRequest { class GraphMailboxSearchResult (line 1421) | public sealed class GraphMailboxSearchResult { class GraphMailboxImportResult (line 1432) | public sealed class GraphMailboxImportResult { class GraphMailboxSendResult (line 1446) | public sealed class GraphMailboxSendResult { class GraphMailboxDuplicateProbeResult (line 1457) | public sealed class GraphMailboxDuplicateProbeResult { class GraphMailboxSubscriptionResult (line 1474) | public sealed class GraphMailboxSubscriptionResult { class GraphMailboxSubscriptionDeleteResult (line 1491) | public sealed class GraphMailboxSubscriptionDeleteResult { class GraphMailboxSubscriptionRenewResult (line 1502) | public sealed class GraphMailboxSubscriptionRenewResult { class GraphMailboxThreadingMetadataResult (line 1516) | public sealed class GraphMailboxThreadingMetadataResult { class GraphMailboxDeltaResult (line 1536) | public sealed class GraphMailboxDeltaResult { class GraphMailboxGetResult (line 1553) | public sealed class GraphMailboxGetResult { class GraphMailboxMessageSummary (line 1570) | public sealed class GraphMailboxMessageSummary { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailboxFolderStatistics.cs class GraphMailboxFolderStatistics (line 10) | public class GraphMailboxFolderStatistics { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailboxGrantee.cs class GraphMailboxGrantee (line 15) | public class GraphMailboxGrantee { method FromDictionary (line 21) | public static GraphMailboxGrantee FromDictionary(IDictionary ToDictionary() { method ToString (line 42) | public override string ToString() => User ?? string.Empty; FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailboxPermission.cs class GraphMailboxPermission (line 17) | public class GraphMailboxPermission { method GraphMailboxPermission (line 21) | public GraphMailboxPermission() { method GraphMailboxPermission (line 30) | public GraphMailboxPermission(Dictionary raw, string? ... method FromHashtable (line 62) | public static GraphMailboxPermission FromHashtable(Hashtable table, st... method ToDictionary (line 72) | public Dictionary ToDictionary() { method AddAsync (line 86) | public async Task AddAsync(GraphCredential credential) { method AddAsync (line 95) | public async Task AddAsync(GraphCredential credential, bool dryRun) { method RemoveAsync (line 105) | public async Task RemoveAsync(GraphCredential credential) { method RemoveAsync (line 114) | public async Task RemoveAsync(GraphCredential credential, bool dryRun) { method ToString (line 121) | public override string ToString() => Id ?? string.Empty; FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailboxPermissionBuilder.cs class GraphMailboxPermissionBuilder (line 8) | public sealed class GraphMailboxPermissionBuilder { method Id (line 12) | public GraphMailboxPermissionBuilder Id(string id) { method UserPrincipalName (line 18) | public GraphMailboxPermissionBuilder UserPrincipalName(string upn) { method Roles (line 24) | public GraphMailboxPermissionBuilder Roles(params GraphMailboxRole[] r... method GrantedToUser (line 30) | public GraphMailboxPermissionBuilder GrantedToUser(string user) { method Build (line 36) | public GraphMailboxPermission Build() => _permission; FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMailboxStatistics.cs class GraphMailboxStatistics (line 9) | public class GraphMailboxStatistics { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMessage.cs class GraphMessage (line 10) | public class GraphMessage { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMessageAction.cs type GraphMessageAction (line 10) | public enum GraphMessageAction { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMessageContainer.cs class GraphMessageContainer (line 10) | public class GraphMessageContainer { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMessageInfo.cs class GraphMessageInfo (line 13) | public class GraphMessageInfo { method GraphMessageInfo (line 17) | public GraphMessageInfo() { method GraphMessageInfo (line 26) | public GraphMessageInfo(Dictionary raw, string? userPr... method ToString (line 94) | public override string ToString() => Subject ?? string.Empty; method ExtractAddress (line 96) | private static string? ExtractAddress(object obj) { method ExtractAddresses (line 106) | private static string? ExtractAddresses(object obj) { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMimeMessageSender.cs class GraphMimeMessageSender (line 11) | public static class GraphMimeMessageSender { method SendAsync (line 15) | public static async Task SendAsync( method UploadAttachmentsAsync (line 45) | private static async Task UploadAttachmentsAsync( method UploadAttachmentAsync (line 70) | private static async Task UploadAttachmentAsync( FILE: Sources/Mailozaurr/MicrosoftGraph/GraphMimePreparation.cs class GraphMimePreparation (line 11) | public static class GraphMimePreparation { method Base64UrlEncode (line 20) | public static string Base64UrlEncode(byte[] bytes) { method PrepareMessage (line 28) | public static GraphPreparedMessage PrepareMessage( method ConvertToGraphMessage (line 82) | public static GraphMessage ConvertToGraphMessage( method ConvertRecipients (line 121) | private static List? ConvertRecipients(InternetAddr... method AddHeader (line 144) | private static void AddHeader(List headers... type GraphPreparedMessage (line 160) | public sealed record GraphPreparedMessage( class DecodedMimeAttachment (line 167) | public sealed class DecodedMimeAttachment : IDisposable { method DecodedMimeAttachment (line 170) | private DecodedMimeAttachment( method DecodeToTempFile (line 199) | public static DecodedMimeAttachment DecodeToTempFile(MimePart part) { method OpenRead (line 232) | public Stream OpenRead() { method ReadAllBytes (line 239) | public byte[] ReadAllBytes() { method Dispose (line 244) | public void Dispose() { method TryDelete (line 249) | private static void TryDelete(string path) { FILE: Sources/Mailozaurr/MicrosoftGraph/GraphPages.cs class GraphPage (line 8) | public class GraphPage { method GraphPage (line 16) | public GraphPage(IReadOnlyList items, string? nextLink) { class GraphDeltaPage (line 30) | public sealed class GraphDeltaPage : GraphPage { method GraphDeltaPage (line 41) | public GraphDeltaPage(IReadOnlyList items, string? nextLink, string... FILE: Sources/Mailozaurr/MicrosoftGraph/GraphRetryHelper.cs class GraphRetryHelper (line 9) | internal static class GraphRetryHelper method IsThrottled (line 23) | internal static bool IsThrottled(Exception ex) method IsTransient (line 59) | internal static bool IsTransient(Exception ex) method CalculateDelay (line 89) | internal static TimeSpan CalculateDelay(GraphSendPolicy policy, int at... class GraphRetryHelperRandom (line 111) | internal static class GraphRetryHelperRandom method NextInt (line 118) | internal static int NextInt(int maxExclusive) FILE: Sources/Mailozaurr/MicrosoftGraph/GraphSendPolicy.cs class GraphSendPolicy (line 6) | public sealed class GraphSendPolicy FILE: Sources/Mailozaurr/MicrosoftGraph/GraphUploadSessionResult.cs class GraphUploadSessionResult (line 12) | public class GraphUploadSessionResult { FILE: Sources/Mailozaurr/MicrosoftGraphUtils.cs class MicrosoftGraphUtils (line 21) | public static class MicrosoftGraphUtils { method GetEndpointBase (line 53) | internal static string GetEndpointBase(GraphEndpoint endpoint) => method GetRetryAfterDelay (line 60) | private static TimeSpan GetRetryAfterDelay(HttpResponseMessage respons... method MicrosoftGraphUtils (line 82) | static MicrosoftGraphUtils() { method ResetOAuthHelperOverrides (line 88) | internal static void ResetOAuthHelperOverrides() { method AcquireGraphCertificateTokenAsyncDefault (line 94) | private static Task AcquireGraphCertificateTokenAs... method AcquireGraphCertificateBytesTokenAsyncDefault (line 97) | private static Task AcquireGraphCertificateBytesTo... method AcquireGraphCertificatePemTokenAsyncDefault (line 100) | private static Task AcquireGraphCertificatePemToke... method CacheGraphAuthorizationAsync (line 103) | private static async Task CacheGraphAuthorizationAsync(string key, str... method ConvertFromGraphCredential (line 114) | public static GraphCredential ConvertFromGraphCredential(string userna... method ConnectO365GraphAsync (line 147) | public static async Task ConnectO365GraphAsync(GraphCredential... method ConnectO365GraphWithRetryAsync (line 260) | public static async Task ConnectO365GraphWithRetryAsync( method BuildGraphUri (line 292) | public static string BuildGraphUri(GraphEndpoint endpoint, string path... method BuildGraphUri (line 298) | public static string BuildGraphUri(string baseUri, string path, IDicti... method InvokeGraphApiAsync (line 322) | public static async Task InvokeGraphApiAsync( method SendBatchAsync (line 370) | public static async Task> SendBatchAsy... method RemoveEmptyValues (line 410) | public static void RemoveEmptyValues(IDictionary dict,... method JoinUriQuery (line 443) | public static string JoinUriQuery(GraphEndpoint endpoint, string? rela... method JoinUriQuery (line 449) | public static string JoinUriQuery(string baseUri, string? relativeOrAb... method ConvertJsonElementToNativeObject (line 489) | private static object? ConvertJsonElementToNativeObject(JsonElement el... method GetMailMessagesAsync (line 519) | public static async Task>> GetMailMess... method GetMailMessageAttachmentsAsync (line 559) | public static async Task> GetMailMessageAttachmentsAs... method GetMailFoldersAsync (line 596) | public static async Task> GetMailFoldersAsync(GraphC... method SaveMailMessages (line 628) | public static void SaveMailMessages(IEnumerable mes... method SaveAttachments (line 650) | public static void SaveAttachments(IEnumerable attachments... method SearchMailboxesAsync (line 675) | public static async Task> SearchMailboxesAsync( method ExecuteMailMessageActionAsync (line 739) | public static async Task ExecuteMailMessageActionAsync(GraphCredential... method MoveMailMessageAsync (line 775) | public static Task MoveMailMessageAsync(GraphCredential credential, st... method MoveMailMessageAsync (line 781) | public static async Task MoveMailMessageAsync(GraphCredential credenti... method CopyMailMessageAsync (line 791) | public static async Task CopyMailMessageAsync(GraphCredential credenti... method SetMailMessageAsync (line 798) | public static Task SetMailMessageAsync(GraphCredential credential, str... method SetMailMessageAsync (line 804) | public static async Task SetMailMessageAsync(GraphCredential credentia... method DeleteMailMessageAsync (line 819) | public static Task DeleteMailMessageAsync(GraphCredential credential, ... method DeleteMailMessageAsync (line 825) | public static async Task DeleteMailMessageAsync(GraphCredential creden... method GetMailMessageMimeAsync (line 835) | public static async Task GetMailMessageMimeAsync( method ClearJunkMailAsync (line 857) | public static Task ClearJunkMailAsync( method ClearJunkMailAsync (line 871) | public static async Task ClearJunkMailAsync( method FilterJunkMessages (line 918) | public static List> FilterJunkMessages( method GetJunkMailMessagesAsync (line 982) | public static async Task>> GetJunkMail... method MoveFolderAsync (line 1065) | public static Task MoveFolderAsync( method MoveFolderAsync (line 1075) | public static async Task MoveFolderAsync( method RenameFolderAsync (line 1100) | public static Task RenameFolderAsync( method RenameFolderAsync (line 1110) | public static async Task RenameFolderAsync( method RemoveFolderAsync (line 1134) | public static Task RemoveFolderAsync( method RemoveFolderAsync (line 1143) | public static async Task RemoveFolderAsync( method GetMailboxPermissionsAsync (line 1161) | public static async Task> GetMailboxPermi... method AddMailboxPermissionAsync (line 1180) | public static Task AddMailboxPermissionAsync(GraphCredential credentia... method AddMailboxPermissionAsync (line 1186) | public static async Task AddMailboxPermissionAsync(GraphCredential cre... method RemoveMailboxPermissionAsync (line 1200) | public static Task RemoveMailboxPermissionAsync(GraphCredential creden... method RemoveMailboxPermissionAsync (line 1206) | public static async Task RemoveMailboxPermissionAsync(GraphCredential ... method GetMailboxStatisticsAsync (line 1220) | public static async Task GetMailboxStatisticsA... method GetRulesAsync (line 1315) | public static async Task> GetRulesAsync( method NewRuleAsync (line 1343) | public static Task NewRuleAsync( method NewRuleAsync (line 1352) | public static async Task NewRuleAsync( method UpdateRuleAsync (line 1376) | public static Task UpdateRuleAsync( method UpdateRuleAsync (line 1386) | public static async Task UpdateRuleAsync( method RemoveRuleAsync (line 1415) | public static Task RemoveRuleAsync( method RemoveRuleAsync (line 1424) | public static async Task RemoveRuleAsync( method GetEventsAsync (line 1442) | public static async Task>> GetEventsAs... method NewEventAsync (line 1470) | public static Task NewEventAsync( method NewEventAsync (line 1479) | public static async Task NewEventAsync( method UpdateEventAsync (line 1503) | public static Task UpdateEventAsync( method UpdateEventAsync (line 1513) | public static async Task UpdateEventAsync( method RemoveEventAsync (line 1538) | public static Task RemoveEventAsync( method RemoveEventAsync (line 1547) | public static async Task RemoveEventAsync( FILE: Sources/Mailozaurr/MimeKitUtils.cs class MimeKitUtils (line 11) | public static class MimeKitUtils { method SaveAttachments (line 17) | public static void SaveAttachments(IEnumerable attachments... method GetNonDeliveryReports (line 44) | public static IList GetNonDeliveryReports(MimeMessa... method GetNonDeliveryReport (line 76) | public static NonDeliveryReport? GetNonDeliveryReport(MimeMessage mess... method FindDeliveryStatus (line 81) | private static MessageDeliveryStatus? FindDeliveryStatus(MimeEntity? e... method SubjectIndicatesNdr (line 100) | private static bool SubjectIndicatesNdr(string? subject) { method GetEncryption (line 113) | public static EmailEncryption GetEncryption(MimeMessage message) { method DecryptPgp (line 140) | public static MimeMessage DecryptPgp(MimeMessage message, string priva... method DecryptSmime (line 156) | public static MimeMessage DecryptSmime(MimeMessage message, System.Sec... method VerifyPgpSignature (line 171) | public static bool VerifyPgpSignature(MimeMessage message, string publ... method VerifySmimeSignature (line 186) | public static bool VerifySmimeSignature(MimeMessage message, params Sy... FILE: Sources/Mailozaurr/MimeMessageContent.cs class MimeMessageContent (line 12) | public class MimeMessageContent { method MimeMessageContent (line 15) | public MimeMessageContent(MimeMessage message) { FILE: Sources/Mailozaurr/NativeMailboxBrowserSessions.cs class GraphMailboxBrowserSession (line 11) | public sealed class GraphMailboxBrowserSession : IDisposable { method GraphMailboxBrowserSession (line 20) | public GraphMailboxBrowserSession( method GraphMailboxBrowserSession (line 39) | public GraphMailboxBrowserSession( method CreateWithAccessToken (line 70) | public static GraphMailboxBrowserSession CreateWithAccessToken( method Dispose (line 93) | public void Dispose() { class GmailMailboxBrowserSession (line 102) | public sealed class GmailMailboxBrowserSession : IDisposable { method GmailMailboxBrowserSession (line 112) | public GmailMailboxBrowserSession( method GmailMailboxBrowserSession (line 135) | public GmailMailboxBrowserSession( method CreateWithAccessToken (line 167) | public static GmailMailboxBrowserSession CreateWithAccessToken( method Dispose (line 191) | public void Dispose() { FILE: Sources/Mailozaurr/NativeMailboxThreadingMetadataOperations.cs class NativeMailboxThreadingMetadataOperations (line 11) | public static class NativeMailboxThreadingMetadataOperations { class NativeMailboxThreadingMetadataResult (line 15) | public sealed class NativeMailboxThreadingMetadataResult { method GetGraphThreadingMetadataAsync (line 35) | public static async Task GetGrap... method GetGmailThreadingMetadataAsync (line 57) | public static async Task GetGmai... method Normalize (line 77) | public static NativeMailboxThreadingMetadataResult Normalize( method Normalize (line 96) | public static NativeMailboxThreadingMetadataResult Normalize( method Normalize (line 113) | public static NativeMailboxThreadingMetadataResult Normalize( method NormalizeMessageIdList (line 127) | private static List? NormalizeMessageIdList(IEnumerable string.IsNullOrEmpty(Text) ? Type... FILE: Sources/Mailozaurr/NonDeliveryReports/DsnStatus.cs class DsnStatus (line 6) | public sealed class DsnStatus { method DsnStatus (line 16) | private DsnStatus(DsnStatusClass statusClass, int subject, int detail) { method Parse (line 23) | public static DsnStatus Parse(string value) { method TryParse (line 31) | public static bool TryParse(string? value, out DsnStatus status) { method ToString (line 48) | public override string ToString() => $"{(int)Class}.{Subject}.{Detail}"; FILE: Sources/Mailozaurr/NonDeliveryReports/DsnStatusClass.cs type DsnStatusClass (line 6) | public enum DsnStatusClass { FILE: Sources/Mailozaurr/NonDeliveryReports/GmailNonDeliveryReportService.cs class GmailNonDeliveryReportService (line 11) | public sealed class GmailNonDeliveryReportService : NonDeliveryReportSer... method GmailNonDeliveryReportService (line 21) | public GmailNonDeliveryReportService(GmailApiClient client, string use... method SearchInternalAsync (line 27) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/NonDeliveryReports/GraphNonDeliveryReportService.cs class GraphNonDeliveryReportService (line 11) | public sealed class GraphNonDeliveryReportService : NonDeliveryReportSer... method GraphNonDeliveryReportService (line 21) | public GraphNonDeliveryReportService(GraphCredential credential, strin... method SearchInternalAsync (line 27) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/NonDeliveryReports/ImapNonDeliveryReportService.cs class ImapNonDeliveryReportService (line 12) | public sealed class ImapNonDeliveryReportService : NonDeliveryReportServ... method ImapNonDeliveryReportService (line 22) | public ImapNonDeliveryReportService(ImapClient client, SendLogResolver... method SearchInternalAsync (line 28) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/NonDeliveryReports/NonDeliveryReport.cs class NonDeliveryReport (line 8) | public sealed class NonDeliveryReport { method FromHeaders (line 52) | public static NonDeliveryReport FromHeaders(IDictionary th... method SearchAsync (line 31) | public async Task> SearchAsync( method SearchInternalAsync (line 64) | protected abstract Task> SearchInternalAsync( FILE: Sources/Mailozaurr/NonDeliveryReports/NonDeliveryReportSubjectPatterns.cs class NonDeliveryReportSubjectPatterns (line 3) | internal static class NonDeliveryReportSubjectPatterns { FILE: Sources/Mailozaurr/NonDeliveryReports/NonDeliveryReportType.cs type NonDeliveryReportType (line 6) | public enum NonDeliveryReportType { FILE: Sources/Mailozaurr/NonDeliveryReports/Pop3NonDeliveryReportService.cs class Pop3NonDeliveryReportService (line 12) | public sealed class Pop3NonDeliveryReportService : NonDeliveryReportServ... method Pop3NonDeliveryReportService (line 20) | public Pop3NonDeliveryReportService(Pop3Client client, SendLogResolver... method SearchInternalAsync (line 23) | protected override Task> SearchInternalAsync( FILE: Sources/Mailozaurr/Pop3EmailMessage.cs class Pop3EmailMessage (line 12) | public class Pop3EmailMessage { method Pop3EmailMessage (line 19) | public Pop3EmailMessage(int index, MimeMessage message, IList Message.Subject ?? string.Empty; FILE: Sources/Mailozaurr/Pop3MessageInfo.cs class Pop3MessageInfo (line 14) | public class Pop3MessageInfo { method Pop3MessageInfo (line 19) | public Pop3MessageInfo(Pop3EmailMessage message) { method ToString (line 61) | public override string ToString() => Subject ?? string.Empty; FILE: Sources/Mailozaurr/Receive/FolderOperations.cs class FolderOperations (line 11) | public static class FolderOperations { method MoveFolderAsync (line 20) | public static async Task MoveFolderAsync( method MoveFolderAsync (line 31) | public static async Task MoveFolderAsync( method RenameFolderAsync (line 70) | public static async Task RenameFolderAsync( method RenameFolderAsync (line 81) | public static async Task RenameFolderAsync( method RemoveFolderAsync (line 113) | public static async Task RemoveFolderAsync( method RemoveFolderAsync (line 124) | public static async Task RemoveFolderAsync( FILE: Sources/Mailozaurr/Receive/GraphMessageListener.cs class GraphMessageListener (line 15) | public class GraphMessageListener : IDisposable { method GraphMessageListener (line 29) | public GraphMessageListener(GraphCredential credential, string userPri... method StartAsync (line 48) | public async Task StartAsync(CancellationToken cancellationToken = def... method Stop (line 74) | public void Stop() { method PollLoopAsync (line 91) | private async Task PollLoopAsync() { method Dispose (line 116) | public void Dispose() { FILE: Sources/Mailozaurr/Receive/ImapBulkFlagOperations.cs class ImapBulkFlagOperations (line 12) | public static class ImapBulkFlagOperations { type IImapFolder (line 16) | public interface IImapFolder { method AddFlagsAsync (line 18) | Task AddFlagsAsync(IReadOnlyCollection uids, MessageFlags ... method RemoveFlagsAsync (line 21) | Task RemoveFlagsAsync(IReadOnlyCollection uids, MessageFla... method AddFlagsAsync (line 24) | Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool silent, Ca... method RemoveFlagsAsync (line 27) | Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool silent,... class MailKitFolderAdapter (line 30) | private sealed class MailKitFolderAdapter : IImapFolder { method MailKitFolderAdapter (line 33) | internal MailKitFolderAdapter(IMailFolder folder) { method AddFlagsAsync (line 37) | public Task AddFlagsAsync(IReadOnlyCollection uids, Messag... method RemoveFlagsAsync (line 40) | public Task RemoveFlagsAsync(IReadOnlyCollection uids, Mes... method AddFlagsAsync (line 43) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 46) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... class ImapBulkFlagResultItem (line 53) | public sealed class ImapBulkFlagResultItem { class ImapBulkFlagResult (line 67) | public sealed class ImapBulkFlagResult { method SetFlagsAsync (line 91) | public static async Task SetFlagsAsync( method SetFlagsAsync (line 114) | public static async Task SetFlagsAsync( method Deduplicate (line 186) | private static List Deduplicate(IReadOnlyCollection Cache.R... FILE: Sources/Mailozaurr/Receive/ImapDeleteOperations.cs class ImapDeleteOperations (line 12) | public static class ImapDeleteOperations { type IImapDeleteFolder (line 16) | public interface IImapDeleteFolder : ImapBulkFlagOperations.IImapFolder { method ExpungeAsync (line 21) | Task ExpungeAsync(CancellationToken cancellationToken = default); class MailKitDeleteFolderAdapter (line 24) | private sealed class MailKitDeleteFolderAdapter : IImapDeleteFolder { method MailKitDeleteFolderAdapter (line 27) | internal MailKitDeleteFolderAdapter(IMailFolder folder) { method AddFlagsAsync (line 33) | public Task AddFlagsAsync(IReadOnlyCollection uids, Messag... method RemoveFlagsAsync (line 36) | public Task RemoveFlagsAsync(IReadOnlyCollection uids, Mes... method AddFlagsAsync (line 39) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 42) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... method ExpungeAsync (line 45) | public Task ExpungeAsync(CancellationToken cancellationToken = defau... class ImapDeleteResultItem (line 52) | public sealed class ImapDeleteResultItem { class ImapDeleteResult (line 66) | public sealed class ImapDeleteResult { method DeleteAsync (line 89) | public static Task DeleteAsync( method DeleteAsync (line 105) | public static async Task DeleteAsync( FILE: Sources/Mailozaurr/Receive/ImapIdleListener.cs class ImapIdleListener (line 19) | public class ImapIdleListener : IDisposable, IAsyncDisposable { method ImapIdleListener (line 39) | public ImapIdleListener(ImapClient client, string? folder = null, Sear... method StartAsync (line 58) | public async Task StartAsync(CancellationToken cancellationToken = def... method Stop (line 103) | public void Stop() => _cancel?.Cancel(); method StopAsync (line 108) | public async Task StopAsync() { method IdleLoopAsync (line 131) | private async Task IdleLoopAsync() { method WaitForNewMessagesAsync (line 157) | private async Task WaitForNewMessagesAsync() { method FetchNewMessagesAsync (line 172) | private async Task FetchNewMessagesAsync() { method OnCountChanged (line 192) | private void OnCountChanged(object? sender, EventArgs e) { method OnMessageExpunged (line 197) | private void OnMessageExpunged(object? sender, MessageEventArgs e) { method Dispose (line 209) | public void Dispose() { method DisposeAsync (line 235) | public async ValueTask DisposeAsync() { method Cleanup (line 250) | private void Cleanup() { FILE: Sources/Mailozaurr/Receive/ImapMailboxSearchQueryBuilder.cs class ImapMailboxSearchQueryBuilder (line 10) | public static class ImapMailboxSearchQueryBuilder { method Build (line 14) | public static SearchQuery Build( method Tokenize (line 71) | public static IReadOnlyList Tokenize(string? query) { method NormalizeOptional (line 82) | private static string? NormalizeOptional(string? value) { FILE: Sources/Mailozaurr/Receive/ImapMessageReader.cs type ImapMessageReadRequest (line 16) | public sealed record ImapMessageReadRequest( type ImapMessageAttachmentInfo (line 24) | public sealed record ImapMessageAttachmentInfo( type ImapMessageReadResult (line 31) | public sealed record ImapMessageReadResult( class ImapMessageReader (line 48) | public static class ImapMessageReader method ReadAsync (line 53) | public static async Task ReadAsync( method TruncateUtf8 (line 96) | private static string? TruncateUtf8(string? value, long maxBytes, out ... FILE: Sources/Mailozaurr/Receive/ImapMoveOperations.cs class ImapMoveOperations (line 15) | public static class ImapMoveOperations { type IImapMoveFolder (line 19) | public interface IImapMoveFolder { method OpenAsync (line 30) | Task OpenAsync(FolderAccess access, CancellationToken cancellationTo... method CloseAsync (line 33) | Task CloseAsync(bool expunge, CancellationToken cancellationToken = ... method GetMessageIdHeaderAsync (line 36) | Task GetMessageIdHeaderAsync(UniqueId uid, CancellationToke... method MoveToAsync (line 39) | Task MoveToAsync(UniqueId uid, IImapMoveFolder destination, Cancella... method CopyToWithMapAsync (line 42) | Task?> CopyToWithMapAsync(IReadOnlyC... method CopyToAsync (line 45) | Task CopyToAsync(UniqueId uid, IImapMoveFolder destination, Cancella... method AddFlagsAsync (line 48) | Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool silent, Ca... method ExpungeAsync (line 51) | Task ExpungeAsync(CancellationToken cancellationToken = default); method SearchByMessageIdAsync (line 54) | Task> SearchByMessageIdAsync(string messageId, Cance... class MailKitMoveFolderAdapter (line 57) | private sealed class MailKitMoveFolderAdapter : IImapMoveFolder { method MailKitMoveFolderAdapter (line 60) | internal MailKitMoveFolderAdapter(IMailFolder folder) { method OpenAsync (line 70) | public Task OpenAsync(FolderAccess access, CancellationToken cancell... method CloseAsync (line 73) | public Task CloseAsync(bool expunge, CancellationToken cancellationT... method GetMessageIdHeaderAsync (line 76) | public async Task GetMessageIdHeaderAsync(UniqueId uid, Can... method MoveToAsync (line 81) | public Task MoveToAsync(UniqueId uid, IImapMoveFolder destination, C... method CopyToWithMapAsync (line 84) | public async Task?> CopyToWithMapAsy... method CopyToAsync (line 99) | public Task CopyToAsync(UniqueId uid, IImapMoveFolder destination, C... method AddFlagsAsync (line 102) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method ExpungeAsync (line 105) | public Task ExpungeAsync(CancellationToken cancellationToken = defau... method SearchByMessageIdAsync (line 108) | public Task> SearchByMessageIdAsync(string messageId... method AsMailKitFolder (line 111) | private static IMailFolder AsMailKitFolder(IImapMoveFolder folder) { class ImapMoveResultItem (line 123) | public sealed class ImapMoveResultItem { class ImapMoveResult (line 146) | public sealed class ImapMoveResult { method MoveAsync (line 166) | public static async Task MoveAsync( method MoveAsync (line 191) | public static async Task MoveAsync( method EnsureFolderAccessAsync (line 326) | private static async Task EnsureFolderAccessAsync(IImapMoveFolder fold... method Deduplicate (line 344) | private static List Deduplicate(IReadOnlyCollection EnumerateAsync( FILE: Sources/Mailozaurr/Receive/ImapSentFolderResolver.cs class ImapSentFolderResolver (line 14) | public static class ImapSentFolderResolver { class ImapFolderInfo (line 18) | public sealed class ImapFolderInfo { class ImapSpecialFolderMappings (line 44) | public sealed class ImapSpecialFolderMappings { method ResolveSentFolderNameAsync (line 67) | public static async Task ResolveSentFolderNameAsync( method ResolveSentFolderName (line 103) | public static string ResolveSentFolderName( method ResolveSentFolderName (line 117) | public static string ResolveSentFolderName( method ResolveDraftsFolderName (line 136) | public static string? ResolveDraftsFolderName( method ResolveTrashFolderName (line 154) | public static string? ResolveTrashFolderName( method ResolveArchiveFolderName (line 172) | public static string? ResolveArchiveFolderName( method ResolveJunkFolderName (line 190) | public static string? ResolveJunkFolderName( method ResolveSpecialFolderMappings (line 208) | public static ImapSpecialFolderMappings ResolveSpecialFolderMappings( method ListFoldersInfoAsync (line 231) | public static async Task> ListFoldersInf... method ListFoldersAsync (line 246) | public static async Task> ListFoldersAsync( method GetFoldersInfoAsync (line 261) | private static async Task> GetFoldersInfoAsync(Im... method CollectFoldersInfoAsync (line 277) | private static async Task CollectFoldersInfoAsync(IMailFolder folder, ... method LooksLikeSentFolder (line 312) | private static bool LooksLikeSentFolder(string? value) { method SentFolderHeuristicScore (line 345) | private static int SentFolderHeuristicScore(ImapFolderInfo folder) { method DraftsFolderHeuristicScore (line 369) | private static int DraftsFolderHeuristicScore(ImapFolderInfo folder) { method TrashFolderHeuristicScore (line 391) | private static int TrashFolderHeuristicScore(ImapFolderInfo folder) { method ArchiveFolderHeuristicScore (line 416) | private static int ArchiveFolderHeuristicScore(ImapFolderInfo folder) { method JunkFolderHeuristicScore (line 439) | private static int JunkFolderHeuristicScore(ImapFolderInfo folder) { method LooksLikeDraftsFolder (line 462) | private static bool LooksLikeDraftsFolder(string? value) { method LooksLikeTrashFolder (line 482) | private static bool LooksLikeTrashFolder(string? value) { method LooksLikeArchiveFolder (line 505) | private static bool LooksLikeArchiveFolder(string? value) { method LooksLikeJunkFolder (line 526) | private static bool LooksLikeJunkFolder(string? value) { method ResolveSpecialFolderName (line 547) | private static string? ResolveSpecialFolderName( method ResolveFolderName (line 599) | private static string ResolveFolderName(string? requestedFolder, strin... method NormalizeOptionalFolder (line 614) | private static string? NormalizeOptionalFolder(string? value) { FILE: Sources/Mailozaurr/Receive/ImapSentMessageOperations.cs class ImapSentMessageOperations (line 15) | public static class ImapSentMessageOperations { type IImapSentFolder (line 19) | public interface IImapSentFolder { method OpenAsync (line 30) | Task OpenAsync(FolderAccess access, CancellationToken cancellationTo... method CloseAsync (line 33) | Task CloseAsync(bool expunge, CancellationToken cancellationToken = ... method AppendAsync (line 36) | Task AppendAsync(MimeMessage message, MessageFlags flags, Cancellati... method SearchAsync (line 39) | Task> SearchAsync(SearchQuery query, CancellationTok... method FetchEnvelopeMessageIdAsync (line 42) | Task FetchEnvelopeMessageIdAsync(UniqueId uid, Cancellation... method FetchThreadingMetadataAsync (line 45) | Task FetchThreadingMetadataAsync(Uniqu... class MailKitSentFolderAdapter (line 48) | private sealed class MailKitSentFolderAdapter : IImapSentFolder { method MailKitSentFolderAdapter (line 51) | internal MailKitSentFolderAdapter(IMailFolder folder) { method OpenAsync (line 61) | public Task OpenAsync(FolderAccess access, CancellationToken cancell... method CloseAsync (line 64) | public Task CloseAsync(bool expunge, CancellationToken cancellationT... method AppendAsync (line 67) | public Task AppendAsync(MimeMessage message, MessageFlags flags, Can... method SearchAsync (line 70) | public Task> SearchAsync(SearchQuery query, Cancella... method FetchEnvelopeMessageIdAsync (line 73) | public async Task FetchEnvelopeMessageIdAsync(UniqueId uid,... method FetchThreadingMetadataAsync (line 82) | public async Task FetchThreadingMetada... class ImapSentAppendResult (line 106) | public sealed class ImapSentAppendResult { class ImapSentDuplicateProbeResult (line 117) | public sealed class ImapSentDuplicateProbeResult { class ImapThreadingMetadataResult (line 131) | public sealed class ImapThreadingMetadataResult { method AppendToSentAsync (line 151) | public static async Task AppendToSentAsync( method AppendToSentAsync (line 178) | public static async Task AppendToSentAsync( method FindSentDuplicateAsync (line 200) | public static async Task FindSentDuplica... method FindSentDuplicateAsync (line 233) | public static async Task FindSentDuplica... method GetThreadingMetadataAsync (line 278) | public static async Task GetThreadingMet... method GetThreadingMetadataAsync (line 300) | public static async Task GetThreadingMet... method NormalizeMessageIdToken (line 315) | public static string? NormalizeMessageIdToken(string? value) { method EnsureFolderAccessAsync (line 331) | private static async Task EnsureFolderAccessAsync( method NormalizeOptional (line 352) | private static string? NormalizeOptional(string? value) { FILE: Sources/Mailozaurr/Receive/JunkCleaner.cs class JunkCleaner (line 17) | public static class JunkCleaner { class JunkSkipCriteria (line 18) | private sealed class JunkSkipCriteria { method ClearImapJunkAsync (line 40) | public static async Task ClearImapJunkAsync( method ClearImapJunkAsync (line 68) | public static async Task ClearImapJunkAsync( method GetImapJunkAsync (line 119) | public static async IAsyncEnumerable GetImapJunkAsync( method CreateSkipCriteria (line 143) | private static JunkSkipCriteria CreateSkipCriteria( method NormalizeAttachmentExtensions (line 161) | private static HashSet? NormalizeAttachmentExtensions(IEnumera... method ShouldSkipMessage (line 181) | private static bool ShouldSkipMessage(MimeMessage message, bool skipHa... FILE: Sources/Mailozaurr/Receive/MailboxSearcher.cs class MailboxSearcher (line 23) | public static class MailboxSearcher { method SearchImapAsync (line 41) | public static async Task> SearchImapAsync( method SearchPop3Async (line 116) | public static async Task> SearchPop3Async( method SearchNonDeliveryReportsAsync (line 181) | public static async Task> SearchNonDeliveryRe... method SearchNonDeliveryReportsAsync (line 268) | public static async Task> SearchNonDeliveryRe... method SearchNonDeliveryReportsAsync (line 351) | public static async Task> SearchNonDeliveryRe... method SearchNonDeliveryReportsAsync (line 459) | public static async Task> SearchNonDeliveryRe... method SearchDmarcReportsAsync (line 552) | public static async Task> SearchDmarcReportsAsync( method SearchDmarcReportsAsync (line 639) | public static async Task> SearchDmarcReportsAsync( method SearchDmarcReportsAsync (line 722) | public static async Task> SearchDmarcReportsAsync( method SearchDmarcReportsAsync (line 795) | public static async Task> SearchDmarcReportsAsync( method FilterDmarcReports (line 854) | internal static IList FilterDmarcReports( method AttachmentMatchesDomain (line 890) | private static bool AttachmentMatchesDomain(MimePart part, string doma... method XmlStreamContainsDomain (line 921) | private static bool XmlStreamContainsDomain(Stream stream, string doma... method BuildDmarcReportSearchQuery (line 933) | internal static SearchQuery BuildDmarcReportSearchQuery(DateTime? sinc... method EscapeGmailQueryValue (line 945) | private static string EscapeGmailQueryValue(string value) { method BuildGmailDmarcReportQuery (line 954) | internal static string BuildGmailDmarcReportQuery(DateTime? since, Dat... method IsDmarcAttachment (line 964) | private static bool IsDmarcAttachment(MimeEntity entity) { method FilterNonDeliveryReports (line 989) | internal static IList FilterNonDeliveryReports( method BuildGmailNonDeliveryReportQuery (line 1012) | internal static string BuildGmailNonDeliveryReportQuery(DateTime? sinc... method RecipientMatches (line 1031) | private static bool RecipientMatches(NonDeliveryReport report, string ... method ConvertPriority (line 1041) | private static MimeKit.MessagePriority ConvertPriority(MessagePriority... method AddressMatches (line 1048) | private static bool AddressMatches(InternetAddressList list, string fi... method BuildNonDeliveryReportSearchQuery (line 1058) | internal static SearchQuery BuildNonDeliveryReportSearchQuery(DateTime... class ParsedQuery (line 1073) | internal sealed class ParsedQuery { method ParseQuery (line 1085) | internal static ParsedQuery ParseQuery(string? query) { method NormalizeToUtc (line 1120) | private static DateTime? NormalizeToUtc(DateTime? value) { method SplitTokens (line 1133) | private static IEnumerable SplitTokens(string input) { method Unquote (line 1153) | private static string Unquote(string value) { FILE: Sources/Mailozaurr/Receive/MessageFetcher.cs class MessageFetcher (line 16) | public static class MessageFetcher { method Fetch (line 34) | public static IAsyncEnumerable Fetch( method Fetch (line 67) | public static async IAsyncEnumerable Fetch( method Fetch (line 159) | public static IAsyncEnumerable Fetch( method Fetch (line 188) | public static async IAsyncEnumerable Fetch( method ConvertPriority (line 245) | private static MimeKit.MessagePriority ConvertPriority(MessagePriority... method AddressMatches (line 253) | private static bool AddressMatches(InternetAddressList list, string fi... FILE: Sources/Mailozaurr/Receive/MessageFlagSetter.cs class MessageFlagSetter (line 15) | public static class MessageFlagSetter { type IImapFolder (line 19) | public interface IImapFolder { method AddFlagsAsync (line 25) | Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool silent, Ca... method RemoveFlagsAsync (line 31) | Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool silent,... class FolderWrapper (line 34) | private class FolderWrapper(IMailFolder folder) : IImapFolder { method AddFlagsAsync (line 36) | public Task AddFlagsAsync(UniqueId uid, MessageFlags flags, bool sil... method RemoveFlagsAsync (line 39) | public Task RemoveFlagsAsync(UniqueId uid, MessageFlags flags, bool ... method SetFlagsAsync (line 46) | public static Task SetFlagsAsync(ImapClient client, UniqueId uid, Mess... method SetFlagsAsync (line 52) | public static Task SetFlagsAsync(ImapClient client, UniqueId uid, Mess... method SetFlagsAsync (line 63) | public static Task SetFlagsAsync(IImapFolder folder, UniqueId uid, Mes... method SetFlagsAsync (line 69) | public static Task SetFlagsAsync(IImapFolder folder, UniqueId uid, Mes... method SetReadAsync (line 82) | public static Task SetReadAsync(Pop3Client client, int index, bool rea... method SetReadAsync (line 88) | public static Task SetReadAsync(Pop3Client client, int index, bool rea... method TryGetPop3Read (line 104) | public static bool TryGetPop3Read(Pop3Client client, int index, out bo... FILE: Sources/Mailozaurr/Receive/MessageRemover.cs class MessageRemover (line 13) | public static class MessageRemover { method DeleteAsync (line 21) | public static Task DeleteAsync( method DeleteAsync (line 31) | public static async Task DeleteAsync( method DeleteAsync (line 43) | public static async Task DeleteAsync( method DeleteAsync (line 67) | public static Task DeleteAsync( method DeleteAsync (line 77) | public static async Task DeleteAsync( method DeleteAsync (line 89) | public static async Task DeleteAsync( method DeleteAsync (line 116) | public static Task DeleteAsync( method DeleteAsync (line 125) | public static async Task DeleteAsync( method DeleteAsync (line 142) | public static Task DeleteAsync( method DeleteAsync (line 151) | public static async Task DeleteAsync( FILE: Sources/Mailozaurr/Receive/Pop3AttachmentPayloadBuilder.cs type Pop3AttachmentBuildStatus (line 11) | public enum Pop3AttachmentBuildStatus { type Pop3AttachmentPayload (line 23) | public sealed record Pop3AttachmentPayload( type Pop3AttachmentBuildResult (line 31) | public sealed record Pop3AttachmentBuildResult( class Pop3AttachmentPayloadBuilder (line 42) | public static class Pop3AttachmentPayloadBuilder { method Build (line 46) | public static Pop3AttachmentBuildResult Build(MimeMessage message, int... class SizeLimitedWriteStream (line 112) | private sealed class SizeLimitedWriteStream : Stream { method SizeLimitedWriteStream (line 117) | internal SizeLimitedWriteStream(Stream inner, long maxBytes) { method Flush (line 131) | public override void Flush() => _inner.Flush(); method Read (line 132) | public override int Read(byte[] buffer, int offset, int count) => th... method Seek (line 133) | public override long Seek(long offset, SeekOrigin origin) => throw n... method SetLength (line 134) | public override void SetLength(long value) => throw new NotSupported... method Write (line 136) | public override void Write(byte[] buffer, int offset, int count) { FILE: Sources/Mailozaurr/Receive/Pop3MailboxBrowser.cs class Pop3MailboxBrowser (line 15) | public static class Pop3MailboxBrowser { type Pop3MessageResolveStatus (line 19) | public enum Pop3MessageResolveStatus { type Pop3MessageHeaderSnapshot (line 33) | public sealed record Pop3MessageHeaderSnapshot( type Pop3ListSnapshot (line 45) | public sealed record Pop3ListSnapshot( type Pop3ResolvedMessageSnapshot (line 50) | public sealed record Pop3ResolvedMessageSnapshot( type Pop3MessageResolveResult (line 57) | public sealed record Pop3MessageResolveResult( type Pop3MessageDeleteResult (line 62) | public sealed record Pop3MessageDeleteResult( method ListMessageHeadersAsync (line 74) | public static Task ListMessageHeadersAsync( method ResolveMessageAsync (line 88) | public static Task ResolveMessageAsync( method DeleteMessageAsync (line 102) | public static Task DeleteMessageAsync( type IPop3MailboxClient (line 113) | internal interface IPop3MailboxClient { method GetMessageHeadersAsync (line 115) | Task GetMessageHeadersAsync(int index, CancellationToken... method GetMessageAsync (line 116) | Task GetMessageAsync(int index, CancellationToken cance... method GetMessageUidAsync (line 117) | Task GetMessageUidAsync(int index, CancellationToken cancell... method GetMessageUidsAsync (line 118) | Task> GetMessageUidsAsync(CancellationToken cancellati... method DeleteMessageAsync (line 119) | Task DeleteMessageAsync(int index, CancellationToken cancellationTok... method GetMessageSize (line 120) | long GetMessageSize(int index, CancellationToken cancellationToken); class MailKitPop3MailboxClient (line 123) | internal sealed class MailKitPop3MailboxClient : IPop3MailboxClient { method MailKitPop3MailboxClient (line 126) | internal MailKitPop3MailboxClient(Pop3Client client) { method GetMessageHeadersAsync (line 132) | public Task GetMessageHeadersAsync(int index, Cancellati... method GetMessageAsync (line 135) | public Task GetMessageAsync(int index, CancellationToke... method GetMessageUidAsync (line 138) | public Task GetMessageUidAsync(int index, CancellationToken ... method GetMessageUidsAsync (line 141) | public Task> GetMessageUidsAsync(CancellationToken can... method DeleteMessageAsync (line 144) | public Task DeleteMessageAsync(int index, CancellationToken cancella... method GetMessageSize (line 147) | public long GetMessageSize(int index, CancellationToken cancellation... method ListMessageHeadersCoreAsync (line 151) | internal static async Task ListMessageHeadersCoreAsync( method ResolveMessageCoreAsync (line 189) | internal static async Task ResolveMessageCor... method DeleteMessageCoreAsync (line 235) | internal static async Task DeleteMessageCoreA... method NormalizeOptional (line 249) | internal static string? NormalizeOptional(string? raw) => method NormalizeMessageIdValue (line 252) | internal static string? NormalizeMessageIdValue(string? value) { method ParseHeaderDateUtc (line 263) | private static DateTime ParseHeaderDateUtc(string? raw) { method HasAttachmentHint (line 281) | private static bool HasAttachmentHint(HeaderList headers) { method TryResolveMessageIndexByUidAsync (line 295) | private static async Task TryResolveMessageIndexB... method TryGetMessageUidAsync (line 313) | private static async Task TryGetMessageUidAsync(IPop3MailboxC... method TryGetMessageSize (line 321) | private static long? TryGetMessageSize(IPop3MailboxClient client, int ... type Pop3UidLookupResult (line 329) | private sealed record Pop3UidLookupResult(bool Supported, int? Index); FILE: Sources/Mailozaurr/Receive/Pop3PollListener.cs class Pop3PollListener (line 17) | public class Pop3PollListener : IDisposable, IAsyncDisposable { method Pop3PollListener (line 29) | public Pop3PollListener(Pop3Client client, TimeSpan? interval = null) { method StartAsync (line 47) | public async Task StartAsync(CancellationToken cancellationToken = def... method Stop (line 76) | public void Stop() => StopAsync().GetAwaiter().GetResult(); method StopAsync (line 81) | public async Task StopAsync() { method PollLoopAsync (line 112) | private async Task PollLoopAsync() { method GetMessageCount (line 154) | protected virtual int GetMessageCount() => _client.Count; method GetMessageUidAsync (line 162) | protected virtual Task GetMessageUidAsync(int index, Cancellat... method GetMessageAsync (line 171) | protected virtual Task GetMessageAsync(int index, Cancell... method NoOpAsync (line 179) | protected virtual Task NoOpAsync(CancellationToken cancellationToken) => method DelayAsync (line 188) | protected virtual Task DelayAsync(TimeSpan interval, CancellationToken... method Dispose (line 192) | public void Dispose() { method DisposeAsync (line 198) | public async ValueTask DisposeAsync() { FILE: Sources/Mailozaurr/SendGrid/SendGridAttachment.cs class SendGridAttachment (line 12) | public class SendGridAttachment { method SendGridAttachment (line 36) | public SendGridAttachment(string fileName, byte[] content, string? con... method SendGridAttachment (line 54) | public SendGridAttachment(string filePath) { FILE: Sources/Mailozaurr/SendGrid/SendGridClient.cs class SendGridClient (line 13) | public sealed class SendGridClient : IDisposable { method SendGridClient (line 170) | public SendGridClient() { method ConvertToEmailObject (line 182) | private SendGridEmailAddress? ConvertToEmailObject(object? emailAddres... method ConvertAttachments (line 225) | private static List ConvertAttachments(IEnumerable... method CreateSendGridAttachment (line 256) | private static SendGridAttachment CreateSendGridAttachment(AttachmentD... method CreateMessage (line 281) | public void CreateMessage() { method SendEmailAsync (line 338) | public Task SendEmailAsync() => SendEmailAsync(Cancellatio... method SendEmailAsync (line 344) | public async Task SendEmailAsync(CancellationToken cancell... method QueuePendingMessageAsync (line 448) | private async Task QueuePendingMessageAsync(string apiKey, Cancellatio... method ThrowIfDisposed (line 483) | private void ThrowIfDisposed() { method Dispose (line 492) | public void Dispose() { method Dispose (line 497) | private void Dispose(bool disposing) { FILE: Sources/Mailozaurr/SendGrid/SendGridContent.cs class SendGridContent (line 10) | public class SendGridContent { FILE: Sources/Mailozaurr/SendGrid/SendGridEmailAddress.cs class SendGridEmailAddress (line 10) | public class SendGridEmailAddress { FILE: Sources/Mailozaurr/SendGrid/SendGridMessage.cs class SendGridMessage (line 10) | public class SendGridMessage { FILE: Sources/Mailozaurr/SendGrid/SendGridPersonalization.cs class SendGridPersonalization (line 10) | public class SendGridPersonalization { FILE: Sources/Mailozaurr/SentMessages/FilePendingMessageRepository.cs class FilePendingMessageRepository (line 9) | public sealed class FilePendingMessageRepository : IPendingMessageReposi... method FilePendingMessageRepository (line 22) | public FilePendingMessageRepository(PendingMessageRepositoryOptions? o... method FilePendingMessageRepository (line 29) | public FilePendingMessageRepository(string filePath) { method GetFilePath (line 36) | private static string GetFilePath(PendingMessageRepositoryOptions? opt... method BuildIndex (line 48) | private void BuildIndex() { type LogEntryKind (line 84) | private enum LogEntryKind { type LogEntry (line 89) | private readonly struct LogEntry { method LogEntry (line 90) | public LogEntry(LogEntryKind kind, string messageId, PendingMessageR... method CreateUpsertEnvelope (line 103) | private static PendingMessageLogEnvelope CreateUpsertEnvelope(PendingM... method CreateTombstoneEnvelope (line 109) | private static PendingMessageLogEnvelope CreateTombstoneEnvelope(strin... method SerializeEnvelope (line 114) | private static byte[] SerializeEnvelope(PendingMessageLogEnvelope enve... method AppendEnvelopeAsync (line 116) | private async Task AppendEnvelopeAsync(PendingMessageLogEnvelope... method CompactIfNeededAsync (line 129) | private async Task CompactIfNeededAsync(CancellationToken cancellation... method CompactAsync (line 141) | private async Task CompactAsync(CancellationToken cancellationToken) { method TryParseLogEntry (line 219) | private static bool TryParseLogEntry(string json, out LogEntry entry) { method TryReadMessageId (line 284) | private static bool TryReadMessageId(JsonElement element, out string m... method TryGetPropertyCaseInsensitive (line 294) | private static bool TryGetPropertyCaseInsensitive(JsonElement element,... method SaveAsync (line 307) | public async Task SaveAsync(PendingMessageRecord record, CancellationT... method TryAcquireLeaseAsync (line 337) | public async Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 367) | public async Task GetByMessageIdAsync(string me... method GetByMessageIdCoreAsync (line 383) | private async Task GetByMessageIdCoreAsync(stri... method GetAllAsync (line 409) | public async IAsyncEnumerable GetAllAsync([Enume... method RemoveAsync (line 463) | public async Task RemoveAsync(string messageId, CancellationToken canc... FILE: Sources/Mailozaurr/SentMessages/FileSentMessageRepository.cs class FileSentMessageRepository (line 6) | public sealed class FileSentMessageRepository : ISentMessageRepository { method FileSentMessageRepository (line 16) | public FileSentMessageRepository(string filePath) { method BuildIndex (line 23) | private void BuildIndex() { method TryDeserializeRecord (line 43) | private static bool TryDeserializeRecord(string json, out SentMessageR... method SaveAsync (line 58) | public async Task SaveAsync(SentMessageRecord record, CancellationToke... method GetByMessageIdAsync (line 76) | public async Task GetByMessageIdAsync(string messa... FILE: Sources/Mailozaurr/SentMessages/IPendingMessageProcessorObserver.cs type IPendingMessageProcessorObserver (line 8) | public interface IPendingMessageProcessorObserver { method MessageSkipped (line 10) | void MessageSkipped(PendingMessageRecord record, PendingMessageSkipRea... method MessageAttemptStarted (line 13) | void MessageAttemptStarted(PendingMessageRecord record, int attempt); method MessageSent (line 16) | void MessageSent(PendingMessageRecord record, int attempt, TimeSpan du... method MessageFailed (line 27) | void MessageFailed( method MessageDropped (line 36) | void MessageDropped( type PendingMessageSkipReason (line 46) | public enum PendingMessageSkipReason { type PendingMessageDropReason (line 60) | public enum PendingMessageDropReason { FILE: Sources/Mailozaurr/SentMessages/IPendingMessageRepository.cs type IPendingMessageRepository (line 6) | public interface IPendingMessageRepository { method SaveAsync (line 10) | Task SaveAsync(PendingMessageRecord record, CancellationToken cancella... method TryAcquireLeaseAsync (line 22) | Task TryAcquireLeaseAsync( method GetByMessageIdAsync (line 32) | Task GetByMessageIdAsync(string messageId, Canc... method GetAllAsync (line 37) | IAsyncEnumerable GetAllAsync(CancellationToken c... method RemoveAsync (line 42) | Task RemoveAsync(string messageId, CancellationToken cancellationToken... FILE: Sources/Mailozaurr/SentMessages/IPendingMessageSender.cs type IPendingMessageSender (line 13) | public interface IPendingMessageSender { method SendAsync (line 19) | Task SendAsync(PendingMessageRecord record, CancellationToken ct); FILE: Sources/Mailozaurr/SentMessages/ISentMessageRepository.cs type ISentMessageRepository (line 6) | public interface ISentMessageRepository { method SaveAsync (line 10) | Task SaveAsync(SentMessageRecord record, CancellationToken cancellatio... method GetByMessageIdAsync (line 16) | Task GetByMessageIdAsync(string messageId, Cancell... FILE: Sources/Mailozaurr/SentMessages/LogFileLineReader.cs class LogFileLineReader (line 5) | internal static class LogFileLineReader { type LineRecord (line 6) | internal readonly struct LineRecord { method LineRecord (line 7) | public LineRecord(long offset, string line) { method ReadLinesWithOffsets (line 17) | public static IEnumerable ReadLinesWithOffsets(string file... method ReadLinesWithOffsets (line 24) | private static IEnumerable ReadLinesWithOffsets(FileStream... FILE: Sources/Mailozaurr/SentMessages/NoopPendingMessageSender.cs class NoopPendingMessageSender (line 13) | internal sealed class NoopPendingMessageSender : IPendingMessageSender { method NoopPendingMessageSender (line 19) | private NoopPendingMessageSender() { method SendAsync (line 25) | public Task SendAsync(PendingMessageRecord record, CancellationToken c... FILE: Sources/Mailozaurr/SentMessages/PendingMessageProcessor.cs class PendingMessageProcessor (line 11) | public sealed class PendingMessageProcessor { method PendingMessageProcessor (line 38) | public PendingMessageProcessor( method ProcessAsync (line 72) | public async Task ProcessAsync(CancellationToken cancellationToken = d... method AcquireProcessingLeaseAsync (line 154) | private async Task AcquireProcessingLeaseAsync( method DefaultRetryDelaySelector (line 163) | private static TimeSpan DefaultRetryDelaySelector(int attempt) { method NormalizeDelay (line 170) | private static TimeSpan NormalizeDelay(TimeSpan delay) { method DefaultPermanentFailureDetector (line 178) | private static bool DefaultPermanentFailureDetector(Exception exceptio... method ApplyDelay (line 181) | private static DateTimeOffset ApplyDelay(DateTimeOffset reference, Tim... class NullPendingMessageProcessorObserver (line 194) | private sealed class NullPendingMessageProcessorObserver : IPendingMes... method NullPendingMessageProcessorObserver (line 197) | private NullPendingMessageProcessorObserver() { method MessageSkipped (line 200) | public void MessageSkipped(PendingMessageRecord record, PendingMessa... method MessageAttemptStarted (line 203) | public void MessageAttemptStarted(PendingMessageRecord record, int a... method MessageSent (line 206) | public void MessageSent(PendingMessageRecord record, int attempt, Ti... method MessageFailed (line 209) | public void MessageFailed( method MessageDropped (line 218) | public void MessageDropped( FILE: Sources/Mailozaurr/SentMessages/PendingMessageRecord.cs class PendingMessageRecord (line 9) | public sealed class PendingMessageRecord { method IncrementAttemptCount (line 62) | public int IncrementAttemptCount() => Interlocked.Increment(ref attemp... method ExchangeAttemptCount (line 69) | public int ExchangeAttemptCount(int value) => Interlocked.Exchange(ref... method Clone (line 74) | public PendingMessageRecord Clone() => new() { FILE: Sources/Mailozaurr/SentMessages/PendingMessageRepositoryOptions.cs class PendingMessageRepositoryOptions (line 9) | public sealed class PendingMessageRepositoryOptions { FILE: Sources/Mailozaurr/SentMessages/PendingMessageSenderFactory.cs class PendingMessageSenderFactory (line 9) | public sealed class PendingMessageSenderFactory { method PendingMessageSenderFactory (line 18) | public PendingMessageSenderFactory( method GetSender (line 31) | public IPendingMessageSender GetSender(PendingMessageRecord record) { method Resolve (line 44) | public IPendingMessageSender Resolve(EmailProvider provider) { method CreateMap (line 52) | private static IReadOnlyDictionary method ResolveAsync (line 24) | public async Task ResolveAsync(NonDeliveryReport r... FILE: Sources/Mailozaurr/SentMessages/Senders/GmailPendingMessageSender.cs class GmailPendingMessageSender (line 24) | public sealed class GmailPendingMessageSender : IPendingMessageSender { method GmailPendingMessageSender (line 50) | public GmailPendingMessageSender( method GmailPendingMessageSender (line 61) | [Obsolete("Use the overload accepting a refresh-aware factory.")] method SendAsync (line 70) | public async Task SendAsync(PendingMessageRecord record, CancellationT... method LoadMessageAsync (line 110) | private static async Task LoadMessageAsync(PendingMessage... method BuildCredential (line 119) | private static OAuthCredential BuildCredential(Dictionary pr... method ResolveRefreshToken (line 176) | private static string? ResolveRefreshToken(Dictionary ... method ResolveExpiration (line 196) | private static DateTimeOffset ResolveExpiration(Dictionary prov... method ResolveProtectedString (line 239) | private static string? ResolveProtectedString(Dictionary ex... method RefreshAccessTokenAsync (line 256) | private async Task RefreshAccessTokenAsync(OAuthCredential cre... method ExchangeRefreshTokenAsync (line 288) | private static async Task<(string AccessToken, string? RefreshToken, D... method ExchangeServiceAccountTokenAsync (line 334) | private async Task<(string AccessToken, DateTimeOffset? ExpiresOn)> Ex... method CreateServiceAccountAssertion (line 402) | private static string CreateServiceAccountAssertion(string clientEmail... method CreateRsaFromPrivateKey (line 432) | private static RSA CreateRsaFromPrivateKey(string privateKeyPem) { method Base64UrlEncode (line 465) | private static string Base64UrlEncode(byte[] data) { class GmailRefreshContext (line 470) | private sealed class GmailRefreshContext { method GmailRefreshContext (line 474) | internal GmailRefreshContext( method UpdateStoredCredential (line 501) | internal void UpdateStoredCredential(OAuthCredential credential) { FILE: Sources/Mailozaurr/SentMessages/Senders/GraphPendingMessageSender.cs class GraphPendingMessageSender (line 11) | public sealed class GraphPendingMessageSender : IPendingMessageSender { method GraphPendingMessageSender (line 51) | public GraphPendingMessageSender( method SendAsync (line 59) | public async Task SendAsync(PendingMessageRecord record, CancellationT... method ResolveCredentialAsync (line 74) | private async Task ResolveCredentialAsync( method LoadMessageAsync (line 108) | private static async Task LoadMessageAsync(PendingMessage... method ResolveAccessToken (line 118) | private static string? ResolveAccessToken(Dictionary p... method ResolveExpiration (line 138) | private static DateTimeOffset ResolveExpiration(Dictionary ex... method DefaultAcquireAccessTokenAsync (line 181) | private static async Task DefaultAcquireAccessTokenAsync(Graph... method NormalizeAccessToken (line 190) | private static string NormalizeAccessToken(string authorizationHeaderV... FILE: Sources/Mailozaurr/SentMessages/Senders/MailgunPendingMessageSender.cs class MailgunPendingMessageSender (line 9) | public sealed class MailgunPendingMessageSender : IPendingMessageSender { method MailgunPendingMessageSender (line 22) | public MailgunPendingMessageSender(HttpClient? httpClient = null) { method SendAsync (line 27) | public async Task SendAsync(PendingMessageRecord record, CancellationT... method ResolveEndpoint (line 64) | private static Uri ResolveEndpoint(Dictionary provider... method ResolveApiKey (line 71) | private static string ResolveApiKey(Dictionary provide... FILE: Sources/Mailozaurr/SentMessages/Senders/SendGridPendingMessageSender.cs class SendGridPendingMessageSender (line 9) | public sealed class SendGridPendingMessageSender : IPendingMessageSender { method SendGridPendingMessageSender (line 26) | public SendGridPendingMessageSender(HttpClient? httpClient = null, Uri... method SendAsync (line 32) | public async Task SendAsync(PendingMessageRecord record, CancellationT... method ResolveEndpoint (line 54) | private static Uri ResolveEndpoint(Dictionary provider... method ResolveApiKey (line 61) | private static string ResolveApiKey(Dictionary provide... FILE: Sources/Mailozaurr/SentMessages/Senders/SesPendingMessageSender.cs class SesPendingMessageSender (line 10) | public sealed class SesPendingMessageSender : IPendingMessageSender { method SesPendingMessageSender (line 27) | public SesPendingMessageSender(HttpClient? httpClient = null, Func prov... method ResolveSecretKey (line 87) | private static string ResolveSecretKey(Dictionary prov... method CreateRequest (line 107) | private static HttpRequestMessage CreateRequest(string accessKey, stri... method GetSignatureKey (line 126) | private static byte[] GetSignatureKey(string key, string dateStamp, st... method HmacSha256 (line 133) | private static byte[] HmacSha256(byte[] key, string data) { method Sha256Hex (line 138) | private static string Sha256Hex(string data) { method ToHex (line 144) | private static string ToHex(byte[] bytes) { FILE: Sources/Mailozaurr/SentMessages/Senders/SmtpPendingMessageSender.cs class SmtpPendingMessageSender (line 8) | public sealed class SmtpPendingMessageSender : IPendingMessageSender { method SmtpPendingMessageSender (line 33) | public SmtpPendingMessageSender( method SendAsync (line 51) | public async Task SendAsync(PendingMessageRecord record, CancellationT... method LoadMessageAsync (line 100) | private static async Task LoadMessageAsync(PendingMessage... method ResolveSecureSocketOptions (line 106) | private SecureSocketOptions ResolveSecureSocketOptions(Dictionary providerDat... method ResolveInt (line 133) | private static int? ResolveInt(Dictionary providerData... method DecodePassword (line 142) | internal string DecodePassword(string? password) => CredentialProtecti... FILE: Sources/Mailozaurr/SentMessages/SentMessageRecipients.cs class SentMessageRecipients (line 5) | internal static class SentMessageRecipients { method Serialize (line 6) | public static string Serialize(InternetAddressList? recipients) { method Parse (line 18) | public static IReadOnlyList Parse(string? recipients) { method NormalizeAddress (line 43) | public static string? NormalizeAddress(string? value) { FILE: Sources/Mailozaurr/SentMessages/SentMessageRecord.cs class SentMessageRecord (line 6) | public sealed class SentMessageRecord { FILE: Sources/Mailozaurr/Serialization/JsonDtos.cs class GmailRawRequest (line 8) | public sealed class GmailRawRequest { method GmailRawRequest (line 10) | public GmailRawRequest(string raw) => Raw = raw; class GraphBatchPayload (line 18) | public sealed class GraphBatchPayload { class GraphBatchRequestPayload (line 25) | public sealed class GraphBatchRequestPayload { class GraphSearchPayload (line 48) | public sealed class GraphSearchPayload { class GraphSearchRequest (line 55) | public sealed class GraphSearchRequest { class GraphSearchQuery (line 78) | public sealed class GraphSearchQuery { class GraphDestinationRequest (line 85) | public sealed class GraphDestinationRequest { class GraphMarkReadRequest (line 92) | public sealed class GraphMarkReadRequest { class GraphSetFlagRequest (line 99) | public sealed class GraphSetFlagRequest { class GraphSetFlagRequestFlag (line 106) | public sealed class GraphSetFlagRequestFlag { class GraphFolderRenameRequest (line 113) | public sealed class GraphFolderRenameRequest { class PendingMessageLogEnvelope (line 120) | public sealed class PendingMessageLogEnvelope { FILE: Sources/Mailozaurr/Serialization/MailozaurrJsonContext.cs class MailozaurrJsonContext (line 8) | [JsonSourceGenerationOptions(PropertyNameCaseInsensitive = true, Default... FILE: Sources/Mailozaurr/Serialization/UnixTimeSecondsDateTimeOffsetConverter.cs class UnixTimeSecondsDateTimeOffsetConverter (line 8) | internal sealed class UnixTimeSecondsDateTimeOffsetConverter : JsonConve... method Read (line 9) | public override DateTimeOffset Read(ref Utf8JsonReader reader, Type ty... method Write (line 50) | public override void Write(Utf8JsonWriter writer, DateTimeOffset value... method FromUnix (line 54) | private static DateTimeOffset FromUnix(long value) { FILE: Sources/Mailozaurr/Smtp/ClientSmtp.Disposal.cs class ClientSmtp (line 3) | public partial class ClientSmtp method Dispose (line 17) | protected override void Dispose(bool disposing) FILE: Sources/Mailozaurr/Smtp/ClientSmtp.cs class ClientSmtp (line 12) | public partial class ClientSmtp : SmtpClient { method ClientSmtp (line 72) | public ClientSmtp() { method ClientSmtp (line 78) | public ClientSmtp(ProtocolLogger protocolLogger) : base(protocolLogger) { method GetCapabilitiesSnapshot (line 86) | public virtual SmtpCapabilities GetCapabilitiesSnapshot() => Capabilit... method GetDeliveryStatusNotifications (line 94) | protected override DeliveryStatusNotification? GetDeliveryStatusNotifi... method CreateMessage (line 123) | public void CreateMessage(CancellationToken cancellationToken = defaul... method CreateMessageAsync (line 138) | public async Task CreateMessageAsync(CancellationToken cancellationTok... method AddAddressesToMessage (line 150) | private void AddAddressesToMessage(MimeMessage message) { method SetMessagePriority (line 179) | private void SetMessagePriority(MimeMessage message) { method BuildMessageBodyAsync (line 194) | private async Task BuildMessageBodyAsync(MimeMessage message, Cancella... method AddHeaders (line 270) | private void AddHeaders(MimeMessage message) { method SaveMessage (line 281) | public void SaveMessage(string path) { method SaveMessageAsync (line 294) | public async Task SaveMessageAsync(string path, CancellationToken canc... method ConvertToMailboxAddressesUnique (line 305) | private IEnumerable ConvertToMailboxAddressesUnique(IE... method ConvertToMailboxAddress (line 317) | private IEnumerable ConvertToMailboxAddress(object inp... method ConvertStringToMailboxAddresses (line 342) | private IEnumerable ConvertStringToMailboxAddresses(st... method ConvertDictionaryToMailboxAddresses (line 358) | private IEnumerable ConvertDictionaryToMailboxAddresse... method ConvertListToMailboxAddresses (line 368) | private IEnumerable ConvertListToMailboxAddresses(IEnu... FILE: Sources/Mailozaurr/Smtp/NativeSentMailboxOperations.cs class NativeSentMailboxOperations (line 11) | public static class NativeSentMailboxOperations { class NativeSentAppendResult (line 25) | public sealed class NativeSentAppendResult { class NativeSentDuplicateProbeResult (line 39) | public sealed class NativeSentDuplicateProbeResult { method ResolveGraphSentFolderName (line 56) | public static string ResolveGraphSentFolderName( method ResolveGraphSentFolderSelector (line 66) | public static string ResolveGraphSentFolderSelector( method ResolveGmailSentLabelId (line 77) | public static string ResolveGmailSentLabelId( method ResolveGmailSentFolderName (line 88) | public static string ResolveGmailSentFolderName( method AppendToGraphSentAsync (line 98) | public static async Task AppendToGraphSentAsync( method AppendToGmailSentAsync (line 134) | public static async Task AppendToGmailSentAsync( method FindGraphSentDuplicateAsync (line 163) | public static async Task FindGraphSent... method FindGmailSentDuplicateAsync (line 197) | public static async Task FindGmailSent... method ResolveFolderName (line 228) | private static string ResolveFolderName(string? requestedFolder, strin... method NormalizeOptional (line 243) | private static string? NormalizeOptional(string? value) { method NormalizeMessageIdToken (line 248) | private static string? NormalizeMessageIdToken(string? value) { FILE: Sources/Mailozaurr/Smtp/Smtp.cs class Smtp (line 27) | public class Smtp { method CreateDefaultClient (line 28) | private static ClientSmtp CreateDefaultClient(ProtocolLogger? logger) ... method ResetClientFactory (line 34) | public static void ResetClientFactory() => ClientFactory = CreateDefau... method Smtp (line 307) | public Smtp(LoggingConfigurator? logging = null) { method Smtp (line 325) | public Smtp(string logPath, bool logConsole, bool logObject, bool logT... method TestConnection (line 344) | public static SmtpConnectionInfo TestConnection(string server, int por... method CreateMessage (line 396) | public void CreateMessage(CancellationToken cancellationToken = defaul... method CreateMessageAsync (line 406) | public async Task CreateMessageAsync(CancellationToken cancellationTok... method SaveMessage (line 416) | public void SaveMessage(string path) { method SaveMessageAsync (line 427) | public Task SaveMessageAsync(string path, CancellationToken cancellati... method PrepareInlineAttachments (line 435) | private void PrepareInlineAttachments() { method Connect (line 468) | public SmtpResult Connect(string server, int port, SecureSocketOptions... method ConnectAsync (line 545) | public Task ConnectAsync( method ConnectAsync (line 566) | public async Task ConnectAsync( method ConnectAndAuthenticateAsync (line 651) | public async Task ConnectAndAuthenticat... method Authenticate (line 729) | public SmtpResult Authenticate(ICredentials Credentials, bool isOAuth ... method AuthenticateAsync (line 777) | public async Task AuthenticateAsync(ICredentials Credentia... method AuthenticateDefaultCredentials (line 811) | public SmtpResult AuthenticateDefaultCredentials() { method ConvertSecureStringToPlainString (line 836) | public string ConvertSecureStringToPlainString(string password, bool i... method Authenticate (line 868) | public SmtpResult Authenticate(string username, string password, bool ... method Send (line 923) | public SmtpResult Send() { method SendAsync (line 940) | public async Task SendAsync(CancellationToken cancellation... method ProcessPendingMessagesAsync (line 957) | public async Task ProcessPendingMessagesAsync(CancellationToken cancel... method LogVerbose (line 1070) | private void LogVerbose(string message) { method LogWarning (line 1081) | private void LogWarning(string message) { method CreateProviderDataSnapshot (line 1089) | private Dictionary CreateProviderDataSnapshot() { method GetConnectionPoolIdentity (line 1101) | private string GetConnectionPoolIdentity() { method CalculateRetryDelay (line 1117) | private TimeSpan CalculateRetryDelay(int attempt) { method EnsureMessageId (line 1131) | private string EnsureMessageId() { method SaveSentMessageAsync (line 1139) | private async Task SaveSentMessageAsync(string messageId, Cancellation... method RemovePendingMessageAsync (line 1153) | private async Task RemovePendingMessageAsync(string? messageId, Cancel... method EnqueuePendingMessageAsync (line 1162) | private async Task EnqueuePendingMessageAsync(string messageId, ICrede... method EnsureMessageReadyAsync (line 1186) | private async Task EnsureMessageReadyAsync(CancellationTo... method HasPropertyPayload (line 1225) | private bool HasPropertyPayload() method MessageHasSender (line 1262) | private static bool MessageHasSender(MimeMessage message) method MessageHasContent (line 1277) | private static bool MessageHasContent(MimeMessage message) method PreserveCustomHeaders (line 1298) | private void PreserveCustomHeaders(MimeMessage? message) method HasAddressValue (line 1340) | private static bool HasAddressValue(object? value) method HasRecipientValues (line 1355) | private static bool HasRecipientValues(IEnumerable? recipients) method SendCoreAsync (line 1385) | private async Task SendCoreAsync(CancellationToken cancell... method Disconnect (line 1449) | public void Disconnect() { method Dispose (line 1465) | public void Dispose() { method Encrypt (line 1488) | public SmtpResult Encrypt(string pfxFilePath, string password, bool is... method Encrypt (line 1508) | public SmtpResult Encrypt(string certificateThumbprint) { method Encrypt (line 1531) | public SmtpResult Encrypt(X509Certificate2 certificate) { method Sign (line 1569) | public SmtpResult Sign(X509Certificate2 certificate) { method Sign (line 1607) | public SmtpResult Sign(string pfxFilePath, string password, bool isSec... method Sign (line 1627) | public SmtpResult Sign(string certificateThumbprint) { method Pkcs7Sign (line 1657) | public SmtpResult Pkcs7Sign(string pfxFilePath, string password, bool ... method Pkcs7Sign (line 1677) | public SmtpResult Pkcs7Sign(string certificateThumbprint) { method Pkcs7Sign (line 1700) | public SmtpResult Pkcs7Sign(X509Certificate2 certificate) { method SignAndEncrypt (line 1739) | public SmtpResult SignAndEncrypt(string certificateThumbprint) { method SignAndEncrypt (line 1762) | public SmtpResult SignAndEncrypt(string pfxFilePath, string password, ... method Encrypt (line 1783) | public SmtpResult Encrypt(EmailActionEncryption emailActionEncryption,... method SignAndEncrypt (line 1797) | public SmtpResult SignAndEncrypt(X509Certificate2 certificate) { method PgpEncrypt (line 1816) | public SmtpResult PgpEncrypt(string publicKeyPath) { method PgpSign (line 1857) | public SmtpResult PgpSign(string publicKeyPath, string privateKeyPath,... method PgpSignAndEncrypt (line 1920) | public SmtpResult PgpSignAndEncrypt(string publicKeyPath, string priva... method Encrypt (line 1980) | public SmtpResult Encrypt(EmailActionEncryption emailActionEncryption,... method Encrypt (line 2001) | public SmtpResult Encrypt(EmailActionEncryption emailActionEncryption,... FILE: Sources/Mailozaurr/Smtp/SmtpAppendExecutionResult.cs class SmtpAppendExecutionResult (line 6) | public sealed class SmtpAppendExecutionResult { FILE: Sources/Mailozaurr/Smtp/SmtpAppendPipeline.cs class SmtpAppendPipeline (line 12) | public static class SmtpAppendPipeline { method TryAppendToSentAsync (line 22) | public static async Task TryAppendToSentAsync( FILE: Sources/Mailozaurr/Smtp/SmtpConnectAuthenticateResult.cs class SmtpConnectAuthenticateResult (line 8) | public sealed class SmtpConnectAuthenticateResult { FILE: Sources/Mailozaurr/Smtp/SmtpConnectionInfo.cs class SmtpConnectionInfo (line 8) | public sealed class SmtpConnectionInfo method SmtpConnectionInfo (line 26) | public SmtpConnectionInfo(string server, int port, string? banner, str... FILE: Sources/Mailozaurr/Smtp/SmtpConnectionPool.cs class SmtpConnectionPool (line 12) | public static class SmtpConnectionPool { class PoolEntry (line 13) | private sealed class PoolEntry { method SetMaxPoolSize (line 31) | public static void SetMaxPoolSize(int value) { method SetPoolingEnabled (line 41) | public static void SetPoolingEnabled(bool enabled) { method Configure (line 52) | public static void Configure(bool poolingEnabled, int maxPoolSize) { method OnPoolSizeChanged (line 76) | private static void OnPoolSizeChanged() { method EncodeKeyPart (line 81) | private static string EncodeKeyPart(string? value) { method BuildKey (line 85) | private static string BuildKey(string server, int port, string? identi... method TryRentClient (line 94) | internal static ClientSmtp? TryRentClient(string server, int port, str... method TryRentClient (line 97) | internal static ClientSmtp? TryRentClient(string server, int port, str... method ReturnClient (line 118) | internal static void ReturnClient(string server, int port, ClientSmtp ... method ReturnClient (line 121) | internal static void ReturnClient(string server, int port, ClientSmtp ... method ClearConnectionPool (line 146) | public static void ClearConnectionPool() { method GetSnapshot (line 165) | public static SmtpConnectionPoolSnapshot GetSnapshot() { class SmtpConnectionPoolEntry (line 188) | public sealed class SmtpConnectionPoolEntry { method SmtpConnectionPoolEntry (line 198) | internal SmtpConnectionPoolEntry(string server, int port, int count) { class SmtpConnectionPoolSnapshot (line 206) | public sealed class SmtpConnectionPoolSnapshot { method SmtpConnectionPoolSnapshot (line 213) | internal SmtpConnectionPoolSnapshot(int currentPoolSize, IReadOnlyList... FILE: Sources/Mailozaurr/Smtp/SmtpDuplicateProbeResult.cs class SmtpDuplicateProbeResult (line 6) | public sealed class SmtpDuplicateProbeResult { FILE: Sources/Mailozaurr/Smtp/SmtpResult.cs class SmtpResult (line 10) | public class SmtpResult { method SmtpResult (line 46) | public SmtpResult(bool status, EmailAction emailAction, string sentTo,... method SmtpResult (line 69) | public SmtpResult(bool status, EmailAction emailAction, string sentTo,... FILE: Sources/Mailozaurr/Smtp/SmtpSendExecutionResult.cs class SmtpSendExecutionResult (line 6) | public sealed class SmtpSendExecutionResult { FILE: Sources/Mailozaurr/Smtp/SmtpSendPipeline.cs class SmtpSendPipeline (line 14) | public static class SmtpSendPipeline { method BuildExecutionResult (line 26) | public static SmtpSendExecutionResult BuildExecutionResult( method BuildExecutionResultWithOptionalSentAppendAsync (line 56) | public static async Task BuildExecutionResult... method ApplyThreadingHeaders (line 102) | public static void ApplyThreadingHeaders( method TryFindExistingSentCopyAsync (line 169) | public static async Task TryFindExistingSent... method NormalizeMessageIdToken (line 216) | private static string? NormalizeMessageIdToken(string? value) { FILE: Sources/Mailozaurr/Smtp/SmtpSentFolderSessionPipeline.cs class SmtpSentFolderSessionPipeline (line 13) | public static class SmtpSentFolderSessionPipeline { method TryFindExistingSentCopyAsync (line 25) | public static async Task TryFindExistingSent... method TryAppendToSentAsync (line 75) | public static async Task TryAppendToSentAsync( method TryGetThreadingMetadataAsync (line 121) | public static async Task LoadDomainsFromResource(string resource... method IsDisposableEmail (line 38) | private static bool IsDisposableEmail(string email) { method IsDisposableDomain (line 54) | private static bool IsDisposableDomain(string domain) { method ValidateEmail (line 69) | public static ValidatedEmail ValidateEmail(string emailAddress, bool a...