Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
POP3 SSH Tunneling (Port Forwarding)Demonstrates how to connect to a POP3 server through an SSH tunnel. Reads a POP3 mailbox and display the FROM and SUBJECT header fields of each email.
<?php // The mailman object is used for receiving (POP3) // and sending (SMTP) email. $mailman = new COM("Chilkat.MailMan2"); // Any string argument automatically begins the 30-day trial. $success = $mailman->UnlockComponent('30-day trial'); if ($success != true) { print 'Component unlock failed' . "\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.my-ssh-server.com'; $sshPort = 22; // Select POP3 by setting the following variable to 0 $bForSmtp = false; // The 1st argument passed to SshTunnel indicates whether // a tunnel for SMTP or POP3 is being established. $success = $mailman->SshTunnel($bForSmtp,$sshHostname,$sshPort); if ($success != true) { print $mailman->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 POP3 server, it is // for authenticating with the SSH server, which is separate. $success = $mailman->SshAuthenticatePw($bForSmtp,'ssh_login','ssh_password'); if ($success != true) { print $mailman->lastErrorText() . "\n"; exit; } // OK, the SSH tunnel is setup. The mailman may // be used exactly the same as usual, except all communications // are now sent through the SSH tunnel. // Set the POP3 server's hostname $mailman->MailHost = 'mail.chilkatsoft.com'; // Set the POP3 login/password. $mailman->PopUsername = 'pop3_login'; $mailman->PopPassword = 'pop3_password'; // Download a max of 5 messages // To download all email, leave MaxCount unset so it remains at the default value of 0. $mailman->MaxCount = 5; // Copy the all email from the user's POP3 mailbox // into a bundle object. The email remains on the server. // bundle is a Chilkat.EmailBundle2 $bundle = $mailman->CopyMail(); // If you're curious, have a look at LastErrorText after // a successful send. You'll see detailed information that // confirms the SSH tunneling. print $mailman->lastErrorText() . "\n"; if (is_null($bundle)) { print $mailman->lastErrorText() . "\n"; exit; } 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" . "\n"; } // Close the connection (with both SSH server and POP3 server) $mailman->Pop3EndSession(); ?> |
© 2000-2013 Chilkat Software, Inc. All Rights Reserved.