List of usage examples for org.apache.commons.net.pop3 POP3SClient POP3SClient
public POP3SClient(SSLContext context)
From source file:com.google.gerrit.server.mail.receive.Pop3MailReceiver.java
/** * handleEmails will open a connection to the mail server, remove emails where deletion is * pending, read new email and close the connection. * * @param async Determines if processing messages should happen asynchronous. *//*from ww w . j a va 2 s . c o m*/ @Override public synchronized void handleEmails(boolean async) { POP3Client pop3; if (mailSettings.encryption != Encryption.NONE) { pop3 = new POP3SClient(mailSettings.encryption.name()); } else { pop3 = new POP3Client(); } if (mailSettings.port > 0) { pop3.setDefaultPort(mailSettings.port); } try { pop3.connect(mailSettings.host); } catch (IOException e) { log.error("Could not connect to POP3 email server", e); return; } try { try { if (!pop3.login(mailSettings.username, mailSettings.password)) { log.error("Could not login to POP3 email server. Check username and password"); return; } try { POP3MessageInfo[] messages = pop3.listMessages(); if (messages == null) { log.error("Could not retrieve message list via POP3"); return; } log.info("Received " + messages.length + " messages via POP3"); // Fetch messages List<MailMessage> mailMessages = new ArrayList<>(); for (POP3MessageInfo msginfo : messages) { if (msginfo == null) { // Message was deleted continue; } try (BufferedReader reader = (BufferedReader) pop3.retrieveMessage(msginfo.number)) { if (reader == null) { log.error("Could not retrieve POP3 message header for message {}", msginfo.identifier); return; } int[] message = fetchMessage(reader); MailMessage mailMessage = RawMailParser.parse(message); // Delete messages where deletion is pending. This requires // knowing the integer message ID of the email. We therefore parse // the message first and extract the Message-ID specified in RFC // 822 and delete the message if deletion is pending. if (pendingDeletion.contains(mailMessage.id())) { if (pop3.deleteMessage(msginfo.number)) { pendingDeletion.remove(mailMessage.id()); } else { log.error("Could not delete message " + msginfo.number); } } else { // Process message further mailMessages.add(mailMessage); } } catch (MailParsingException e) { log.error("Could not parse message " + msginfo.number); } } dispatchMailProcessor(mailMessages, async); } finally { pop3.logout(); } } finally { pop3.disconnect(); } } catch (IOException e) { log.error("Error while issuing POP3 command", e); } }
From source file:com.clustercontrol.port.protocol.ReachAddressPOP3S.java
/** * POP3S????????/*from ww w. ja v a2 s .c o m*/ * * @param addressText * @return POP3S */ @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 POP3S Service of " + address.getHostName() + "[" + address.getHostAddress() + "]:" + m_portNo + ".\n\n"); POP3SClient client = new POP3SClient(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(); 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; } 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 + "(POP3S/" + m_portNo + ")"; m_messageOrg = bufferOrg.toString(); return isReachable; } catch (UnknownHostException e) { m_log.debug("isRunning(): " + MessageConstant.MESSAGE_FAIL_TO_EXECUTE_TO_CONNECT.getMessage() + e.getMessage()); m_message = MessageConstant.MESSAGE_FAIL_TO_EXECUTE_TO_CONNECT.getMessage() + " (" + e.getMessage() + ")"; return false; } }
From source file:me.schiz.jmeter.protocol.pop3.sampler.POP3Sampler.java
private SampleResult sampleConnect(SampleResult sr) { POP3Client client;//from ww w. j a va 2 s .c o m if (getUseSSL()) { client = new POP3SClient(true); // } else if(getUseSTARTTLS()) { // client = new POP3SClient(false); } else { client = new POP3Client(); } StringBuilder requestBuilder = new StringBuilder(); try { //String request = "CONNECT \n"; requestBuilder.append("CONNECT\n"); requestBuilder.append("Host : " + getHostname() + ":" + getPort() + "\n"); requestBuilder.append("Connect Timeout: " + getConnectionTimeout() + "\n"); requestBuilder.append("Socket Timeout: " + getSoTimeout() + "\n"); requestBuilder.append("Client : " + getClient() + "\n"); if (getUseSSL()) requestBuilder.append("SSL : true\n"); else requestBuilder.append("SSL : false\n"); // if(getUseSTARTTLS()) request += "STARTTLS : true\n"; // else request += "STARTTLS : false\n"; sr.setRequestHeaders(requestBuilder.toString()); sr.sampleStart(); client.setConnectTimeout(getConnectionTimeout()); client.connect(getHostname(), getPort()); if (client.isConnected()) { SessionStorage.proto_type protoType = SessionStorage.proto_type.PLAIN; if (getUseSSL()) protoType = SessionStorage.proto_type.SSL; // if(getUseSSL() && !getUseSTARTTLS()) protoType = SessionStorage.proto_type.SSL; // if(!getUseSSL() && getUseSTARTTLS()) protoType = SessionStorage.proto_type.STARTTLS; SessionStorage.getInstance().putClient(getSOClient(), client, protoType); client.setSoTimeout(getSoTimeout()); client.setTcpNoDelay(getTcpNoDelay()); sr.setResponseCode(RC_200); sr.setResponseData(client.getReplyString().getBytes()); sr.setSuccessful(true); } else { sr.setResponseCode(RC_500); sr.setSuccessful(false); } } catch (SocketException se) { sr.setResponseMessage(se.toString()); sr.setSuccessful(false); sr.setResponseCode(se.getClass().getName()); log.error("client `" + client + "` ", se); } catch (IOException ioe) { sr.setResponseMessage(ioe.toString()); sr.setSuccessful(false); sr.setResponseCode(ioe.getClass().getName()); log.error("client `" + client + "` ", ioe); } sr.sampleEnd(); return sr; }
From source file:ob.PO.TaskPO.java
@Override public void run() { setTaskLog(""); if (thistype == 0) {// Date tasktime;/*from w ww.j a v a 2s . co m*/ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss"); //???? try { tasktime = sdf.parse(thisstr1 + thisstr2); //if(cl.) } catch (ParseException ex) { setTaskLog(""); return; } Date nowtime = new Date(); if (nowtime.after(tasktime)) { setTaskLog("??"); return; } while (nowtime.before(tasktime)) { long deltaminute = (tasktime.getTime() - nowtime.getTime()) / (1000 * 60); // long day = deltaminute / (24 * 60); long hour = (deltaminute / 60) % 24; long minute = deltaminute % 60; setTaskLog("\n" + day + "" + hour + "" + minute + ""); try { Thread.sleep(5000); } catch (InterruptedException ex) { setTaskLog(""); return; } nowtime = new Date(); } if (nowtime.getTime() - tasktime.getTime() > 60 * 1000) {//? setTaskLog("?"); return; } setTaskLog(""); } else if (thistype == 1) {// int lastmessage_num = -1; POP3SClient pop3 = new POP3SClient(true); POP3MessageInfo[] messages; pop3.setDefaultTimeout(600000); while (true) { try { pop3.connect("pop." + thisstr1.split("@")[1]);//pop. + domain if (!pop3.login(thisstr1, AESUtil.Decryptor(thisstr2))) { pop3.disconnect(); setTaskLog("?."); return; } messages = pop3.listMessages(); if (lastmessage_num < 0) {//? lastmessage_num = messages.length;//? setTaskLog("?" + lastmessage_num); } else if (lastmessage_num < messages.length) {// break; } setTaskLog("?" + messages.length); Thread.sleep(10000); } catch (Exception ex) { setTaskLog(""); return; } } setTaskLog(""); } else if (thistype == 2) {//? setTaskLog("??"); while (true) { try { String Access_token; if ((Access_token = Sina.getToken(thisstr1, AESUtil.Decryptor(thisstr2)) .getAccessToken()) == null) { setTaskLog("???"); return; } String lasttimeline = GetUserTimeline.getTimeline(Access_token); if (lasttimeline == null) { } else { if (lasttimeline.contains(thistext)) {//? break; } } setTaskLog("??"); Thread.sleep(10000); } catch (Exception ex) { ex.printStackTrace(); setTaskLog("??"); return; } } setTaskLog("???"); } if (thattype == 1) {//? setTaskLog("??"); SimpleEmail email = new SimpleEmail(); Properties props = new Properties(); String user, pass; try { props.load( Thread.currentThread().getContextClassLoader().getResourceAsStream("adminmail.properties")); if ((user = (String) props.get("user")) == null || (pass = (String) props.get("pass")) == null) { setTaskLog("?"); return; } email.setHostName("smtp." + user.split("@")[1]);//? smtp. + domain email.setAuthentication(user, pass);//smtp???? email.setSSLOnConnect(true); email.addTo(thatusername, "JAVA IFTTT RECEIVER");// email.setFrom(user, "JAVA IFTTT SENDER");//? email.setSubject("JAVA IFTTT SEND EMAIL");// email.setCharset("UTF-8");//?? email.setMsg(thattext);// email.send();//?? } catch (Exception ex) { setTaskLog("??"); return; } setTaskLog("????"); } else if (thattype == 0) {//?? setTaskLog("???"); try { String Access_token; if ((Access_token = Sina.getToken(thatusername, AESUtil.Decryptor(thatpassword)) .getAccessToken()) == null) { setTaskLog("???"); return; } UpdateStatus.Update(Access_token, thattext); } catch (Exception ex) { ex.printStackTrace(); setTaskLog("???"); return; } setTaskLog("?????"); } }