PowerShell
PowerShell
POP3 using HTTP Proxy
Demonstrates how to communicate with a POP3 server through an HTTP proxy.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# The mailman object is used for receiving (POP3)
# and sending (SMTP) email.
$mailman = New-Object Chilkat.MailMan
# To connect through an HTTP proxy, set the HttpProxyHostname
# and HttpProxyPort properties to the hostname (or IP address)
# and port of the HTTP proxy. Typical port numbers used by
# HTTP proxy servers are 3128 and 8080.
$mailman.HttpProxyHostname = "www.my-http-proxy.com"
$mailman.HttpProxyPort = 3128
# Important: Your HTTP proxy server must allow non-HTTP
# traffic to pass. Otherwise this does not work.
# Set the POP3 server's hostname
$mailman.MailHost = "pop.example.com"
# Set the POP3 login/password.
$mailman.PopUsername = "myLogin"
$mailman.PopPassword = "myPassword"
# Copy the all email from the user's POP3 mailbox
# into a bundle object. The email remains on the server.
#
# NOTE: All methods that communicate with a POP3 server
# will automatically connect and authenticate (i.e. login)
# if not already connected. The connection will remain
# open after the method call returns so that subsequent
# calls do not need to re-establish the connection.
# In this case, the connection is established via the HTTP
# proxy.
$bundle = New-Object Chilkat.EmailBundle
$keepOnServer = $true
$headersOnly = $false
# Irrelevent because we are not downloading headers-only
$numBodyLines = 0
$success = $mailman.FetchAll($keepOnServer,$headersOnly,$numBodyLines,$bundle)
if ($success -eq $false) {
$($mailman.LastErrorText)
exit
}
$email = New-Object Chilkat.Email
$i = 0
while ($i -lt $bundle.MessageCount) {
$bundle.EmailAt($i,$email)
$("From: " + $email.From)
$("Subject: " + $email.Subject)
$i = $i + 1
}
$success = $mailman.Pop3EndSession()