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.
import sys import chilkat # The mailman object is used for receiving (POP3) # and sending (SMTP) email. mailman = chilkat.CkMailMan() # Any string argument automatically begins the 30-day trial. success = mailman.UnlockComponent("30-day trial") if (success != True): print "Component unlock failed" sys.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 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): print mailman.lastErrorText() sys.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() sys.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.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) # Copy the all email from the user's POP3 mailbox # into a bundle object. The email remains on the server. # bundle is a CkEmailBundle 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() if (bundle == None ): print mailman.lastErrorText() sys.exit() for i in range(0,bundle.get_MessageCount()): # email is a CkEmail email = bundle.GetEmail(i) print email.ck_from() print email.subject() + "\r\n" # Close the connection (with both SSH server and POP3 server) mailman.Pop3EndSession() |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.