ElektoImapPosh.psd1
|
# # Module manifest for module 'ElektoImapPosh' # # Generated by: JP Negri # # Generated on: 2026-11-03 # @{ # Script module or binary module file associated with this manifest. RootModule = 'ElektoImapPosh.psm1' # Version number of this module. ModuleVersion = '0.9.0' # Supported PSEditions CompatiblePSEditions = @('Core') # ID used to uniquely identify this module GUID = 'b752e21f-27c2-42e3-b621-5b24ccbe8dbb' # Author of this module Author = 'JP Negri' # Company or vendor of this module CompanyName = 'Elekto Produtos Financeiros' # Copyright statement for this module Copyright = '(c) 2026 Elekto Produtos Financeiros. Licensed under the MIT License.' # Description of the functionality provided by this module Description = 'Read email by IMAP from PowerShell, from several accounts (Gmail and Google Workspace first): list folders, search messages and Gmail threads, read them as text, save attachments or a message whole, without marking anything as read. Passwords in the Windows Credential Manager or an owner-only file, or configuration by environment variables. Built on MailKitLite and MimeKitLite.' # Minimum version of the PowerShell engine required by this module (7.6 runs on .NET 10, the target of the mail libraries shipped) PowerShellVersion = '7.6' # Format files (.ps1xml) to be loaded when importing this module FormatsToProcess = @('ElektoImapPosh.Format.ps1xml') # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. FunctionsToExport = @('Get-ImapAccount', 'Set-ImapAccount', 'Remove-ImapAccount', 'Test-ImapAccount', 'Get-ImapPolicy', 'Set-ImapPolicy', 'Remove-ImapPolicy', 'Get-ImapFolder', 'Get-ImapMessage', 'Get-ImapThread', 'Read-ImapMessage', 'Save-ImapAttachment', 'Save-ImapMessage') # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. CmdletsToExport = @() # Variables to export from this module VariablesToExport = @() # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. AliasesToExport = @() # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = @( 'Email', 'IMAP', 'Mail', 'Gmail', 'Google-Workspace', 'Inbox', 'Attachments', 'Automation', 'Accounts', 'MailKit', 'MimeKit', 'Cross-Platform', 'PSEdition_Core', 'Windows', 'Linux', 'macOS' ) # A URL to the license for this module. LicenseUri = 'https://github.com/elekto-com-br/ElektoImapPosh/blob/main/LICENSE' # A URL to the main website for this project. ProjectUri = 'https://github.com/elekto-com-br/ElektoImapPosh' # ReleaseNotes of this module ReleaseNotes = @' ## 0.9.0 - The first version. It reads mail by IMAP and changes nothing in the mailbox: folders are opened read-only and bodies fetched without setting \Seen, so nothing is marked as read. Until 1.0, commands, parameters and settings may still change, as use shows what they should be - Accounts apart from those of ElektoMailPosh, each with an app password of its own, kept in the Windows Credential Manager or in a file only its owner can read: Set-ImapAccount, Get-ImapAccount, Remove-ImapAccount, and Test-ImapAccount, which connects and shows how. Without accounts, the IMAP_* environment variables - Always TLS, unless an account says NoTls, meant for tests; SkipCertificateCheck for a server with a certificate of its own - Get-ImapFolder lists the folders with their counts; Get-ImapMessage searches them by sender, subject, date and unread, newest first, and Gmail by its own search (-Query); Get-ImapThread lists the messages of a Gmail conversation - Read-ImapMessage returns the text of a message without downloading its attachments; Save-ImapAttachment saves its attachments, and with -Inline the images shown in its body, under names safe on every platform and, on Windows, with the Mark of the Web; Save-ImapMessage saves one message whole, as an .eml - Policies, for giving the module to an AI agent: folders that may not be read, senders whose messages and attachments may be read (as authenticated by the receiving server), attachments by type and by name, sizes, age and counts. A message withheld still shows its metadata, and why it is withheld. The README says what a policy does not do - What a sender writes comes back without the characters that drive a terminal or hide text, and cut where it would flood the context of an AI agent - Gmail and Google Workspace first (labels, conversations, the folders whose names Gmail translates), on standard IMAP, so that other servers work too '@ } # End of PSData hashtable } # End of PrivateData hashtable } |