Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
IMAP SSH Tunneling (Port Forwarding)Demonstrates how to setup an SSH tunnel for IMAP. LOCAL loImap LOCAL lnSuccess LOCAL lcSshHostname LOCAL lnSshPort LOCAL loMessageSet LOCAL lnFetchUids LOCAL loBundle LOCAL i LOCAL loEmail loImap = CreateObject('Chilkat.Imap') * Anything unlocks the component and begins a fully-functional 30-day trial. lnSuccess = loImap.UnlockComponent("Anything for 30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * 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). lcSshHostname = "www.mysshserver.com" lnSshPort = 22 lnSuccess = loImap.SshTunnel(lcSshHostname,lnSshPort) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * 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. lnSuccess = loImap.SshAuthenticatePw("mySshLogin","mySshPassword") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * 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. lnSuccess = loImap.Connect("mail.chilkatsoft.com") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * Authenticate with the IMAP server via the SSH tunnel. lnSuccess = loImap.Login("myLogin","myPassword") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * Select an IMAP mailbox lnSuccess = loImap.SelectMailbox("Inbox") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * We can choose to fetch UIDs or sequence numbers. lnFetchUids = 1 * Get the message IDs of all the emails in the mailbox loMessageSet = loImap.Search("ALL",lnFetchUids) IF (loMessageSet = NULL ) THEN =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * Fetch the emails into a bundle object: loBundle = loImap.FetchBundle(loMessageSet) IF (loBundle = NULL ) THEN RELEASE loMessageSet =MESSAGEBOX(loImap.LastErrorText) QUIT ENDIF * Loop over the bundle and display the FROM and SUBJECT of each. FOR i = 0 TO loBundle.MessageCount - 1 loEmail = loBundle.GetEmail(i) ? loEmail.From ? loEmail.Subject ? "--" RELEASE loEmail NEXT * Disconnect from the IMAP server. loImap.Disconnect() RELEASE loMessageSet RELEASE loBundle |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2009 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser