Chilkat HOME Android™ ASP Visual Basic VB.NET C# iOS (IPhone) Objective-C C++ C Unicode C++ Unicode C MFC Delphi DLL Delphi ActiveX FoxPro Java Perl PHP Extension PHP ActiveX Python PowerShell 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.
import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { // The mailman object is used for receiving (POP3) // and sending (SMTP) email. CkMailMan mailman = new CkMailMan(); // Any string argument automatically begins the 30-day trial. boolean success; success = mailman.UnlockComponent("30-day trial"); if (success != true) { System.out.println("Component unlock failed"); return; } // Connect to an SSH server and establish the SSH tunnel: String sshHostname; int sshPort; boolean bForSmtp; // 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 false 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) { System.out.println(mailman.lastErrorText()); return; } // 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) { System.out.println(mailman.lastErrorText()); return; } // 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.put_MailHost("mail.chilkatsoft.com"); // Set the POP3 login/password. mailman.put_PopUsername("pop3_login"); mailman.put_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.put_MaxCount(5); CkEmailBundle bundle; // Copy the all email from the user's POP3 mailbox // into a bundle object. The email remains on the server. 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. System.out.println(mailman.lastErrorText()); if (bundle == null ) { System.out.println(mailman.lastErrorText()); return; } int i; CkEmail email; for (i = 0; i <= bundle.get_MessageCount() - 1; i++) { email = bundle.GetEmail(i); System.out.println(email.ck_from()); System.out.println(email.subject() + "\r\n"); } // Close the connection (with both SSH server and POP3 server) mailman.Pop3EndSession(); } } |
© 2000-2013 Chilkat Software, Inc. All Rights Reserved.