Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP 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.
LOCAL loMailman LOCAL lnSuccess LOCAL lcSshHostname LOCAL lnSshPort LOCAL lnBForSmtp LOCAL loBundle LOCAL i LOCAL loEmail * The mailman object is used for receiving (POP3) * and sending (SMTP) email. loMailman = CreateObject('Chilkat.MailMan2') * Any string argument automatically begins the 30-day trial. lnSuccess = loMailman.UnlockComponent("30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX("Component unlock failed") QUIT ENDIF * 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). lcSshHostname = "www.my-ssh-server.com" lnSshPort = 22 * Select POP3 by setting the following variable to 0 lnBForSmtp = 0 * The 1st argument passed to SshTunnel indicates whether * a tunnel for SMTP or POP3 is being established. lnSuccess = loMailman.SshTunnel(lnBForSmtp,lcSshHostname,lnSshPort) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loMailman.LastErrorText) QUIT ENDIF * 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. lnSuccess = loMailman.SshAuthenticatePw(lnBForSmtp,"ssh_login","ssh_password") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loMailman.LastErrorText) QUIT ENDIF * 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 loMailman.MailHost = "mail.chilkatsoft.com" * Set the POP3 login/password. loMailman.PopUsername = "pop3_login" loMailman.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. loMailman.MaxCount = 5 * Copy the all email from the user's POP3 mailbox * into a bundle object. The email remains on the server. loBundle = loMailman.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(loMailman.LastErrorText) IF (loBundle = NULL ) THEN =MESSAGEBOX(loMailman.LastErrorText) QUIT ENDIF FOR i = 0 TO loBundle.MessageCount - 1 loEmail = loBundle.GetEmail(i) ? loEmail.From ? loEmail.Subject + CHR(13)+CHR(10) RELEASE loEmail NEXT RELEASE loBundle * Close the connection (with both SSH server and POP3 server) loMailman.Pop3EndSession() |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser