Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# WinRTDelphi ActiveXDelphi DLLVisual FoxProJavaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerShellPythonRubySQL ServerUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET WinRTVBScript

PowerShell Examples

Certificates
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
MHT / HTML Email
PFX/P12
Java KeyStore (JKS)
POP3
RSA Encryption
MIME
SMTP
Socket/SSL/TLS
SSH Key
SSH
SFTP
Tar Archive
XML
XMP
Zip

More Examples...
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
NTLM

 

 

 

 

 

 

 

(PowerShell) Read IMAP Email Headers

Call FetchHeaders to download only the email headers.

Chilkat .NET Downloads

Chilkat .NET Assemblies

Chilkat for Mono

Chilkat for Xamarin

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

$imap = New-Object 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("imap.someMailServer.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-2014 Chilkat Software, Inc. All Rights Reserved.