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.
use chilkat; $imap = new chilkat::CkImap(); # Anything unlocks the component and begins a fully-functional 30-day trial. $success = $imap->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # 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) { print $imap->lastErrorText() . "\n"; exit; } # 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) { print $imap->lastErrorText() . "\n"; exit; } # 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) { print $imap->lastErrorText() . "\n"; exit; } # Authenticate with the IMAP server via the SSH tunnel. $success = $imap->Login("myLogin","myPassword"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Select an IMAP mailbox $success = $imap->SelectMailbox("Inbox"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # 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 CkMessageSet $messageSet = $imap->Search("ALL",$fetchUids); if ($messageSet eq null ) { print $imap->lastErrorText() . "\n"; exit; } # Fetch the emails into a bundle object: # bundle is a CkEmailBundle $bundle = $imap->FetchBundle($messageSet); if ($bundle eq null ) { print $imap->lastErrorText() . "\n"; exit; } # Loop over the bundle and display the FROM and SUBJECT of each. for ($i = 0; $i <= $bundle->get_MessageCount() - 1; $i++) { # email is a CkEmail $email = $bundle->GetEmail($i); print $email->ck_from() . "\r\n"; print $email->subject() . "\r\n"; print "--" . "\r\n"; } # Disconnect from the IMAP server. $imap->Disconnect(); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.