Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
IMAP SSH Tunneling (Port Forwarding)Demonstrates how to setup an SSH tunnel for IMAP.
<?php $imap = new COM("Chilkat.Imap"); // Anything unlocks the component and begins a fully-functional 30-day trial. $success = $imap->UnlockComponent('Anything for 30-day trial'); if ($success != true) { 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 != true) { 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 != true) { 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 != true) { print $imap->lastErrorText() . "\n"; exit; } // Authenticate with the IMAP server via the SSH tunnel. $success = $imap->Login('myLogin','myPassword'); if ($success != true) { print $imap->lastErrorText() . "\n"; exit; } // Select an IMAP mailbox $success = $imap->SelectMailbox('Inbox'); if ($success != true) { print $imap->lastErrorText() . "\n"; exit; } // We can choose to fetch UIDs or sequence numbers. $fetchUids = true; // Get the message IDs of all the emails in the mailbox // messageSet is a Chilkat.MessageSet $messageSet = $imap->Search('ALL',$fetchUids); if (is_null($messageSet)) { print $imap->lastErrorText() . "\n"; exit; } // Fetch the emails into a bundle object: // bundle is a Chilkat.EmailBundle2 $bundle = $imap->FetchBundle($messageSet); if (is_null($bundle)) { print $imap->lastErrorText() . "\n"; exit; } // Loop over the bundle and display the FROM and SUBJECT of each. for ($i = 0; $i <= $bundle->MessageCount - 1; $i++) { // email is a Chilkat.Email2 $email = $bundle->GetEmail($i); print $email->from() . "\n"; print $email->subject() . "\n"; print '--' . "\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.