Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

PowerShell Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc

IMAP
JSON
Java KeyStore (JKS)
Jwt
MHT / HTML Email
MIME
NTLM
OAuth1
OAuth2
OpenSSL
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
Socket/SSL/TLS
Spider
Stream
Tar Archive
Twitter
XML
XMP
Xero
Zip
curl

 

 

 

(PowerShell) Delete All IMAP Email

Demonstrates two ways to delete all email in a mailbox on an IMAP server.

Chilkat .NET Downloads

Chilkat .NET Assemblies

Chilkat for Mono

Chilkat for Xamarin

[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
}

#  Turn on session logging:
$imap.KeepSessionLog = $true

#  Connect to an IMAP server.
#  Use TLS
$imap.Ssl = $true
$imap.Port = 993
$success = $imap.Connect("imap.someMailServer.com")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

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

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

#  Get the complete set of Uids for email in the selected mailbox.
$messageSet = $imap.GetAllUids()
if ($messageSet -eq $null ) {
    $($imap.LastErrorText)
    exit
}

#  Set the Deleted flag for each message.
#  (ExpungeAndClose must be called to finalize the delete.)
$success = $imap.SetFlags($messageSet,"Deleted",1)
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

#  Alternatively, the Deleted flag may be set for each UID
#  individiually, but this is less efficient:

$n = $messageSet.Count
for ($i = 0; $i -le $n - 1; $i++) {
    $success = $imap.SetFlag($messageSet.GetId($i),$messageSet.HasUids,"Deleted",1)
    if ($success -ne $true) {
        $($imap.LastErrorText)
        exit
    }

}

#  Expunge and close the mailbox.
$success = $imap.ExpungeAndClose()
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

#  Display the session log.
$($imap.SessionLog)

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


 

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