Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

Quick Start
Unicode
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
SFTP
Signatures
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
Upload
XML
XMP
Zip

More Examples...
Email Object
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Icon

 

 

 

 

 

 

 

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.

Download Chilkat Java Library

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();
  }
}

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.