List of usage examples for org.apache.commons.net.smtp SMTPSClient getReplyCode
public int getReplyCode()
From source file:com.clustercontrol.port.protocol.ReachAddressSMTPS.java
/** * SMTPS????????/* ww w. j a v a2 s .c om*/ * * @param addressText * @return SMTPS */ @Override protected boolean isRunning(String addressText) { m_message = ""; m_messageOrg = ""; m_response = -1; boolean isReachable = false; try { long start = 0; // long end = 0; // boolean retry = true; // ????(true:??false:???) StringBuffer bufferOrg = new StringBuffer(); // String result = ""; InetAddress address = InetAddress.getByName(addressText); bufferOrg.append("Monitoring the SMTPS Service of " + address.getHostName() + "[" + address.getHostAddress() + "]:" + m_portNo + ".\n\n"); SMTPSClient client = new SMTPSClient(true); for (int i = 0; i < m_sentCount && retry; i++) { try { bufferOrg.append(HinemosTime.getDateString() + " Tried to Connect: "); client.setDefaultTimeout(m_timeout); start = HinemosTime.currentTimeMillis(); client.connect(address, m_portNo); end = HinemosTime.currentTimeMillis(); m_response = end - start; result = client.getReplyString(); int reply = client.getReplyCode(); if (SMTPReply.isPositiveCompletion(reply)) { if (m_response > 0) { if (m_response < m_timeout) { result = result + ("\n" + "Response Time = " + m_response + "ms"); } else { m_response = m_timeout; result = result + ("\n" + "Response Time = " + m_response + "ms"); } } else { result = result + ("\n" + "Response Time < 1ms"); } retry = false; isReachable = true; } else { retry = false; isReachable = false; } } catch (SocketException e) { result = (e.getMessage() + "[SocketException]"); retry = true; isReachable = false; } catch (IOException e) { result = (e.getMessage() + "[IOException]"); retry = true; isReachable = false; } finally { bufferOrg.append(result + "\n"); if (client.isConnected()) { try { client.disconnect(); } catch (IOException e) { m_log.warn("isRunning(): " + "socket disconnect failed: " + e.getMessage(), e); } } } if (i < m_sentCount - 1 && retry) { try { Thread.sleep(m_sentInterval); } catch (InterruptedException e) { break; } } } m_message = result + "(SMTPS/" + m_portNo + ")"; m_messageOrg = bufferOrg.toString(); return isReachable; } catch (UnknownHostException e) { m_log.warn("isRunning(): " + MessageConstant.MESSAGE_FAIL_TO_EXECUTE_TO_CONNECT.getMessage() + e.getMessage(), e); m_message = MessageConstant.MESSAGE_FAIL_TO_EXECUTE_TO_CONNECT.getMessage() + " (" + e.getMessage() + ")"; return false; } }
From source file:org.apache.james.protocols.smtp.AbstractStartTlsSMTPServerTest.java
@Test public void testStartTLS() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/*w ww .j a va 2 s . c om*/ try { server = createServer(createProtocol(new ProtocolHandler[0]), address, Encryption.createStartTls(BogusSslContextFactory.getServerContext())); server.bind(); SMTPSClient client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertTrue(SMTPReply.isPositiveCompletion(client.getReplyCode())); client.sendCommand("EHLO localhost"); assertTrue(SMTPReply.isPositiveCompletion(client.getReplyCode())); boolean startTLSAnnounced = false; for (String reply : client.getReplyStrings()) { if (reply.toUpperCase(Locale.UK).endsWith("STARTTLS")) { startTLSAnnounced = true; break; } } assertTrue(startTLSAnnounced); assertTrue(client.execTLS()); // TODO: Add back once commons-net 3.1.0 was released. // See: NET-421 // //client.quit(); //assertTrue("Reply="+ client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); } finally { if (server != null) { server.unbind(); } } }
From source file:repl.simple.mathematica.ErrorReporter.java
/** * Sends the information to mail server. * * @param model of bug report// ww w . j av a 2 s .c om */ 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(); } }