Get-IMAP Cmdlet

Parameters   Output Objects   Configuration Settings  

The Get-IMAP component is used to retrieve electronic mail from Internet Message Access (IMAP) servers.

Syntax

Get-IMAP [parameters]

Remarks

This cmdlet implements a standard Internet Message Access Protocol (IMAP) client as specified in RFC 1730 and RFC 2060 for retrieving email and listing mail folders (mailboxes).

To use the cmdlet to retrieve email, you must specify a mail Server, User, and Password. Specify the Folder for the mailbox you wish to connect to. The email message (or range of messages) to download is given by View.

Retrieved email messages will be returned in one or more EmailMessages. Brief information (Id, From, Subject, and size) about each retrieved email will be returned in one or more MessageHeaderss.

You may also list all of your mailboxes by setting the ListFolders switch. Folders will be returned in one or more MailBoxObjects.

To use SSL-enabled (RFC 2595) IMAP, set the SSL switch.

This cmdlet handles retrieving emails and listing email folders. To send an email, see the SEND-EMAIL cmdlet. To delete a message or manage IMAP mail folders, use the SET-IMAP cmdlet.

The cmdlets support pipeline input for some of their parameters. Prebuilding an object and piping it to the cmdlet is very useful, but should be used with caution to prevent security conflicts. Steps have been taken to decrease the risk of a possibly accidental pipe to the cmdlet, for instance, the Credential parameter cannot be piped to the cmdlet and must be specified manually.


# get a list of the mailboxes
get-imap -server mailserver -credential $cred -listfolders
# list the last 5 messages to arrive from the default mailbox (INBOX)
get-imap -server mailserver -credential $cred -list 5
# view message number 8320 in the "Archive" mailbox
get-imap -server mailserver -credential $cred -folder "INBOX.Archive" -view 8320

Connection Handling

This cmdlet supports persistent connections through the Connection parameter. To establish a new IMAP connection, use the Connect-IMAP cmdlet. To close the connection, use the Disconnect-IMAP cmdlet.

Parameter List


The following is the full list of the parameters of the cmdlet with short descriptions. Click on the links for further details.

ConnectionAn already established connection.
LogFileThe location of a file to which debug information is written.
ACLIndicates whether or not to list the mailbox ACLs.
AttachmentDirectorySpecifies the directory where attachments are downloaded.
AuthMechanismThe authentication mechanism to be used when connecting to the mail server.
CertPasswordThe password to the certificate store.
CertStoreThe name of the certificate store for the client certificate.
CertStoreTypeThe type of certificate store for the client certificate.
CertSubjectThe subject of the certificate used for client authentication.
ConfigSpecifies one or more configuration settings.
CredentialThe PSCredential object to use for user/password authentication.
FirewallHostName or IP address of firewall.
FirewallPasswordA password if authentication is to be used when connecting through the firewall.
FirewallPortThe port of the firewall to which to connect.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
FolderThe IMAP folder to which to connect.
ForceForces the component to accept the default behavior instead of querying the user.
HeadersOnlyIf true, only message headers will be fetched.
ListNumber of messages to list.
ListFoldersIndicates whether or not to perform a List Mailboxes operation on the IMAP server.
LocalFilePart is stored here if this property is set.
LocalIPThe IP address of the local interface to use.
LogFileThe location of a file to which debug information is written.
OverwriteIndicates whether the LocalFile may be overwritten.
PartIf set, the component will retrieve the content of the part from the server.
PasswordThe password to use for authentication.
PortThe TCP port in the remote host to which to connect.
ServerThe address of the Server.
SSLDetermines how the component starts SSL negotiation.
SSLAcceptThe encoded public key of the certificate which is to be trusted explicitly.
TimeoutThe maximum time allowed for the operation.
UserThe username to use for authentication.
ViewThe message number to view.

Output Objects


The following is the full list of the output objects returned by the cmdlet with short descriptions. Click on the links for further details.

ACLObject containing the access control rights for a specific mailbox.
IMAPEmailMessageObject containing the entire text of the email message.
MailBoxThese objects are returned in response to a ListFolders .
MessageInfoObject containing brief information about the returned email.
MessagePartReturned for the part specified by Part .

Configuration Settings


The following is a list of configuration settings for the cmdlet with short descriptions. Click on the links for further details.

MessageCountNumber of messages in the mailbox.
AlwaysReturnUIDsInstructs the server to return UIDs even if not in UIDMode.
AppendToMailboxDateTimeSpecifies the date-time parameter used in the initial APPEND request.
AuthorizationIdentityThe value to use as the authorization identity when SASL authentication is used.
AutoDecodeSubjectInstructs the component to automatically decode message subjects.
AutoDecodeTextWhether to decode MessageText when AutoDecodeParts is True.
FetchAfterSearchDetermines if messages matching the SearchCriteria are fetched after calling SearchMailbox.
FetchTextAndHeadersSpecifies whether the message body and headers are fetched in a single request.
IncludeHeadersInstructs the component to include the headers in the LocalFile.
MaskSensitiveWhether sensitive properties should be masked when logging.
SendIDCommandInstructs component to send the ID command if the server advertises support for it.
UTF7MailboxNamesSpecifies whether or not to automatically encode and decode UTF-7 mailbox names.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
ProxyExceptionsListA semicolon separated list of hosts and IPs to bypass when using a proxy.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
TcpNoDelayWhether or not to delay when sending packets.
UseIPv6Whether to use IPv6.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
BuildInfoInformation about the product's build.
CodePageThe system code page used for Unicode to Multibyte translations.
LicenseInfoInformation about the current license.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2022 /n software inc. - All rights reserved.
NetCmdlets 2020 - Version 20.0 [Build 8319]