Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
|
IMAP SSH Tunneling (Port Forwarding)
Demonstrates how to setup an SSH tunnel for IMAP.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% set imap = Server.CreateObject("Chilkat.Imap") ' Anything unlocks the component and begins a fully-functional 30-day trial. success = imap.UnlockComponent("Anything for 30-day trial") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' Connect to an SSH server and establish the SSH tunnel: ' The SSH hostname may be a hostname or an ' IP address, such as "192.168.1.108". ' The port is typically 22 (the standard port for SSH). sshHostname = "www.mysshserver.com" sshPort = 22 success = imap.SshTunnel(sshHostname,sshPort) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' Authenticate with the SSH server via a login/password ' or with a public key. ' This example demonstrates SSH password authentication. ' Note: This is not authenticating with the IMAP server, it is ' for authenticating with the SSH server, which is separate. success = imap.SshAuthenticatePw("mySshLogin","mySshPassword") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' OK, the SSH tunnel is setup. The IMAP component may ' be used exactly the same as usual, except all communications ' are sent through the SSH tunnel. ' Connect to an IMAP server via the SSH tunnel. ' Because the SSH tunnel has been previously setup, ' this does not establish a direct connection with the IMAP ' server. It directs the SSH server to establish the connection. success = imap.Connect("mail.chilkatsoft.com") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' Authenticate with the IMAP server via the SSH tunnel. success = imap.Login("myLogin","myPassword") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' Select an IMAP mailbox success = imap.SelectMailbox("Inbox") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' We can choose to fetch UIDs or sequence numbers. fetchUids = 1 ' Get the message IDs of all the emails in the mailbox ' messageSet is a Chilkat.MessageSet Set messageSet = imap.Search("ALL",fetchUids) If (messageSet Is Nothing ) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' Fetch the emails into a bundle object: ' bundle is a Chilkat.EmailBundle2 Set bundle = imap.FetchBundle(messageSet) If (bundle Is Nothing ) Then Response.Write "<pre>" & Server.HTMLEncode(imap.LastErrorText) & "</pre>" End If ' Loop over the bundle and display the FROM and SUBJECT of each. For i = 0 To bundle.MessageCount - 1 ' email is a Chilkat.Email2 Set email = bundle.GetEmail(i) Response.Write "<pre>" & Server.HTMLEncode( email.From) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( email.Subject) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "--") & "</pre>" Next ' Disconnect from the IMAP server. imap.Disconnect %> </body> </html> |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.