Example usage for org.apache.commons.net.smtp SMTPSClient connect

List of usage examples for org.apache.commons.net.smtp SMTPSClient connect

Introduction

In this page you can find the example usage for org.apache.commons.net.smtp SMTPSClient connect.

Prototype

public void connect(InetAddress host) throws SocketException, IOException 

Source Link

Document

Opens a Socket connected to a remote host at the current default port and originating from the current host at a system assigned port.

Usage

From source file:repl.simple.mathematica.ErrorReporter.java

/**
 * Sends the information to mail server.
 *
 * @param model of bug report/*from  www. j a  v a  2s  . co m*/
 */
private static synchronized void sendBugData(BugReportModel model) {
    String subject;
    Writer writer;
    SimpleSMTPHeader header;
    SMTPSClient client;
    //
    subject = MathREPLBundle.message("reportSubject");
    try {
        header = new SimpleSMTPHeader(model.mailuser, model.to, subject);

        client = new SMTPSClient();
        client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true));

        client.connect(model.mailserver);
        if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) {
            client.disconnect();
            throw new ConnectException(MathREPLBundle.message("smtpFailure"));
        }
        client.helo("localhost");
        if (client.execTLS()) {

            client.login();
            client.setSender(model.mailuser);
            client.addRecipient(model.to);

            writer = client.sendMessageData();

            if (writer != null) {
                writer.write(header.toString());
                writer.write(model.message);
                writer.close();
                client.completePendingCommand();
            }
        }
        client.logout();
        client.disconnect();
    } catch (IOException e) {
        e.printStackTrace();
    }
}