PowerShell Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CUnicode C++Unicode CMFCDelphi DLLDelphi ActiveXFoxProJavaPerlPHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

PowerShell Examples

Bounced Email
Digital Certificates
Digital Signatures
DSA
Email Object
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
POP3
RSA
MIME
SMTP
Socket
SOCKS Proxy
Spider
SSH Key
SSH
SFTP
Tar
Upload
XML
XMP
Zip


More Examples...
Amazon S3
NTLM
RSS
Atom
PPMD
Deflate
Bzip2
LZW
Diffie-Hellman
Bz2
Character Encoding
CSV

 

 

 

 

 

 

 

 

(PowerShell) Read IMAP Email Headers

Call FetchHeaders to download only the email headers.

Download: Chilkat .NET Assemblies

[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll")

$imap = New-Object Chilkat.Imap

#  Anything unlocks the component and begins a fully-functional 30-day trial.
$success = $imap.UnlockComponent("Anything for 30-day trial")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

#  Connect to an IMAP server.
$success = $imap.Connect("mail.chilkatsoft.com")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

#  Login
$success = $imap.Login("****","****")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

#  Select an IMAP mailbox
$success = $imap.SelectMailbox("Inbox")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

#  We can choose to fetch UIDs or sequence numbers.
$fetchUids = $true
#  Get the message IDs of all the emails in the mailbox
$messageSet = $imap.Search("ALL",$fetchUids)
if ($messageSet -eq $null ) {
    $($imap.LastErrorText)
    exit
}

#  When downloading headers, each email object contains
#  (obviously) the headers, but the body will be missing.
#  Also, attachments will not be included.  However, it is
#  possible to get information about the attachments
#  as well as the complete size of the email.

$bundle = $imap.FetchHeaders($messageSet)
if ($bundle -eq $null ) {

    $($imap.LastErrorText)
    exit
}

#  Loop over the email objects and display information
#  about each:

for ($i = 0; $i -le $bundle.MessageCount - 1; $i++) {

    $email = $bundle.GetEmail($i)

    #  Display the From and Subject
    $($email.From)
    $($email.Subject)

    #  Display the recipients:

    for ($j = 0; $j -le $email.NumTo - 1; $j++) {
        $name = $email.GetToName($j)
        $addr = $email.GetToAddr($j)
        $($name + ", " + $addr)
    }

    for ($j = 0; $j -le $email.NumCC - 1; $j++) {
        $name = $email.GetCcName($j)
        $addr = $email.GetCcAddr($j)
        $($name + ", " + $addr)
    }

    #  Show the total size of the email, including body and attachments:
    $($email.Size)

    #  When a full email is downloaded, we would use the
    #  email.NumAttachments property in conjunction with the
    #  email.GetMailAttach* methods.
    #  However, when an email object contains only the header,
    #  we need to access the attachment info differently:
    $numAttach = $imap.GetMailNumAttach($email)
    for ($j = 0; $j -le $numAttach - 1; $j++) {
        $($imap.GetMailAttachFilename($email,$j))
        $attachSize = $imap.GetMailAttachSize($email,$j)
        $("    size = " + $attachSize + " bytes")
    }

    $("--")

}

#  Disconnect from the IMAP server.
$imap.Disconnect()


© 2000-2013 Chilkat Software, Inc. All Rights Reserved.