Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
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.
// The mailman object is used for receiving (POP3) // and sending (SMTP) email. Chilkat.MailMan mailman = new Chilkat.MailMan(); // Any string argument automatically begins the 30-day trial. bool success; success = mailman.UnlockComponent("30-day trial"); if (success != true) { MessageBox.Show("Component unlock failed"); return; } // Connect to an SSH server and establish the SSH tunnel: string sshHostname; int sshPort; bool 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) { MessageBox.Show(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) { MessageBox.Show(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.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; Chilkat.EmailBundle bundle = null; // 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. MessageBox.Show(mailman.LastErrorText); if (bundle == null ) { MessageBox.Show(mailman.LastErrorText); return; } int i; Chilkat.Email email = null; for (i = 0; i <= bundle.MessageCount - 1; i++) { email = bundle.GetEmail(i); textBox1.Text += email.From + "\r\n"; textBox1.Text += email.Subject + "\r\n" + "\r\n"; } // Close the connection (with both SSH server and POP3 server) mailman.Pop3EndSession(); |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.