List of usage examples for org.apache.commons.net.smtp SimpleSMTPHeader SimpleSMTPHeader
public SimpleSMTPHeader(String from, String to, String subject)
From source file:examples.mail.java
public final static void main(String[] args) { String sender, recipient, subject, filename, server, cc; Vector ccList = new Vector(); BufferedReader stdin;/*ww w . j ava 2 s .c o m*/ FileReader fileReader = null; Writer writer; SimpleSMTPHeader header; SMTPClient client; Enumeration en; if (args.length < 1) { System.err.println("Usage: mail smtpserver"); System.exit(1); } server = args[0]; stdin = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("From: "); System.out.flush(); sender = stdin.readLine(); System.out.print("To: "); System.out.flush(); recipient = stdin.readLine(); System.out.print("Subject: "); System.out.flush(); subject = stdin.readLine(); header = new SimpleSMTPHeader(sender, recipient, subject); while (true) { System.out.print("CC <enter one address per line, hit enter to end>: "); System.out.flush(); // Of course you don't want to do this because readLine() may be null cc = stdin.readLine().trim(); if (cc.length() == 0) break; header.addCC(cc); ccList.addElement(cc); } System.out.print("Filename: "); System.out.flush(); filename = stdin.readLine(); try { fileReader = new FileReader(filename); } catch (FileNotFoundException e) { System.err.println("File not found. " + e.getMessage()); } client = new SMTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); client.connect(server); if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) { client.disconnect(); System.err.println("SMTP server refused connection."); System.exit(1); } client.login(); client.setSender(sender); client.addRecipient(recipient); en = ccList.elements(); while (en.hasMoreElements()) client.addRecipient((String) en.nextElement()); writer = client.sendMessageData(); if (writer != null) { writer.write(header.toString()); Util.copyReader(fileReader, writer); writer.close(); client.completePendingCommand(); } fileReader.close(); client.logout(); client.disconnect(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } }
From source file:com.xiangzhurui.util.email.SMTPMail.java
public static void main(String[] args) { String sender, recipient, subject, filename, server, cc; List<String> ccList = new ArrayList<String>(); BufferedReader stdin;//from w w w. j av a2 s.c o m FileReader fileReader = null; Writer writer; SimpleSMTPHeader header; SMTPClient client; if (args.length < 1) { System.err.println("Usage: mail smtpserver"); System.exit(1); } server = args[0]; stdin = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("From: "); System.out.flush(); sender = stdin.readLine(); System.out.print("To: "); System.out.flush(); recipient = stdin.readLine(); System.out.print("Subject: "); System.out.flush(); subject = stdin.readLine(); header = new SimpleSMTPHeader(sender, recipient, subject); while (true) { System.out.print("CC <enter one address per line, hit enter to end>: "); System.out.flush(); cc = stdin.readLine(); if (cc == null || cc.length() == 0) { break; } header.addCC(cc.trim()); ccList.add(cc.trim()); } System.out.print("Filename: "); System.out.flush(); filename = stdin.readLine(); try { fileReader = new FileReader(filename); } catch (FileNotFoundException e) { System.err.println("File not found. " + e.getMessage()); } client = new SMTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.connect(server); if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) { client.disconnect(); System.err.println("SMTP server refused connection."); System.exit(1); } client.login(); client.setSender(sender); client.addRecipient(recipient); for (String recpt : ccList) { client.addRecipient(recpt); } writer = client.sendMessageData(); if (writer != null) { writer.write(header.toString()); Util.copyReader(fileReader, writer); writer.close(); client.completePendingCommand(); } if (fileReader != null) { fileReader.close(); } client.logout(); client.disconnect(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } }
From source file:ca.rmen.android.networkmonitor.app.email.Emailer.java
/** * Sends an e-mail in UTF-8 encoding.//from ww w. j a v a2 s. c o m * * @param protocol this has been tested with "TLS", "SSL", and null. * @param attachments optional attachments to include in the mail. * @param debug if true, details about the smtp commands will be logged to stdout. */ static void sendEmail(String protocol, String server, int port, String user, String password, String from, String[] recipients, String subject, String body, Set<File> attachments, boolean debug) throws Exception { // Set up the mail connectivity final AuthenticatingSMTPClient client; if (protocol == null) client = new AuthenticatingSMTPClient(); else client = new AuthenticatingSMTPClient(protocol); if (debug) client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.setDefaultTimeout(SMTP_TIMEOUT_MS); client.setCharset(Charset.forName(ENCODING)); client.connect(server, port); checkReply(client); client.helo("[" + client.getLocalAddress().getHostAddress() + "]"); checkReply(client); if ("TLS".equals(protocol)) { if (!client.execTLS()) { checkReply(client); throw new RuntimeException("Could not start tls"); } } client.auth(AuthenticatingSMTPClient.AUTH_METHOD.LOGIN, user, password); checkReply(client); // Set up the mail participants client.setSender(from); checkReply(client); for (String recipient : recipients) { client.addRecipient(recipient); checkReply(client); } // Set up the mail content Writer writer = client.sendMessageData(); SimpleSMTPHeader header = new SimpleSMTPHeader(from, recipients[0], subject); for (int i = 1; i < recipients.length; i++) header.addCC(recipients[i]); // Just plain text mail: no attachments if (attachments == null || attachments.isEmpty()) { header.addHeaderField("Content-Type", "text/plain; charset=" + ENCODING); writer.write(header.toString()); writer.write(body); } // Mail with attachments else { String boundary = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 28); header.addHeaderField("Content-Type", "multipart/mixed; boundary=" + boundary); writer.write(header.toString()); // Write the main text message writer.write("--" + boundary + "\n"); writer.write("Content-Type: text/plain; charset=" + ENCODING + "\n\n"); writer.write(body); writer.write("\n"); // Write the attachments appendAttachments(writer, boundary, attachments); writer.write("--" + boundary + "--\n\n"); } writer.close(); if (!client.completePendingCommand()) { throw new RuntimeException("Could not send mail"); } client.logout(); client.disconnect(); }
From source file:edu.nyu.cs.omnidroid.app.controller.external.actions.GMailService.java
/** * Send a GMail// w w w. j a va 2 s. c o m */ private void send() { //Toast.makeText(this, "GMail Service Started", Toast.LENGTH_LONG).show(); SMTPClient client = new SMTPClient("UTF-8"); client.setDefaultTimeout(60 * 1000); client.setRequireStartTLS(true); // requires STARTTLS client.setUseAuth(true); // use SMTP AUTH try { client.connect("smtp.gmail.com", 587); checkReply(client); } catch (IOException e) { //ResultProcessor.process(this, intent, ResultProcessor.RESULT_FAILURE_INTERNET, // getString(R.string.gmail_failed_no_network)); return; } try { client.login("localhost", account.accountName, account.credential); checkReply(client); } catch (IOException e) { ResultProcessor.process(this, intent, ResultProcessor.RESULT_FAILURE_IRRECOVERABLE, getString(R.string.gmail_failed_authentication_error)); return; } try { client.setSender(account.accountName); checkReply(client); client.addRecipient(to); checkReply(client); Writer writer = client.sendMessageData(); if (writer != null) { SimpleSMTPHeader header = new SimpleSMTPHeader(account.accountName, to, subject); writer.write(header.toString()); writer.write(body); writer.close(); client.completePendingCommand(); checkReply(client); } client.logout(); client.disconnect(); } catch (IOException e) { ResultProcessor.process(this, intent, ResultProcessor.RESULT_FAILURE_UNKNOWN, getString(R.string.gmail_failed_server_error)); return; } ResultProcessor.process(this, intent, ResultProcessor.RESULT_SUCCESS, getString(R.string.gmail_sent)); }
From source file:com.adito.notification.smtp.SMTPMessageSink.java
private void send(Message message, Recipient recipient) throws Exception { UserDatabase userDatabase = UserDatabaseManager.getInstance().getUserDatabase(recipient.getRealmName()); User user = userDatabase.getAccount(recipient.getRecipientAlias()); String sender = Property.getProperty(new SystemConfigKey("smtp.senderAddress")); client.setSender(sender);/*from ww w . j a v a 2 s .c o m*/ client.addRecipient(user.getEmail()); Writer writer = client.sendMessageData(); if (writer == null) { if (LOG.isInfoEnabled()) { LOG.info("Failed to send message data to " + user.getEmail()); } return; } SimpleSMTPHeader header = new SimpleSMTPHeader(sender, user.getEmail(), message.getSubject()); writer.write(header.toString()); writer.write(message.getContent()); writer.close(); if (!client.completePendingCommand()) { if (LOG.isInfoEnabled()) { LOG.info("Failed to send message data to " + user.getEmail()); } } }
From source file:adams.core.net.ApacheSendEmail.java
/** * Sends an email./* w w w . ja v a 2s . c om*/ * * @param email the email to send * @return true if successfully sent * @throws Exception in case of invalid internet addresses or messaging problem */ @Override public boolean sendMail(Email email) throws Exception { SimpleSMTPHeader header; int i; Writer writer; String boundary; MediaType mime; byte[] content; String[] lines; if (m_Client == null) throw new IllegalStateException("SMTP session not initialized!"); // header header = new SimpleSMTPHeader(email.getFrom().getValue(), Utils.flatten(email.getTo(), ", "), email.getSubject()); for (i = 0; i < email.getCC().length; i++) header.addCC(email.getCC()[i].getValue()); // create boundary string boundary = EmailHelper.createBoundary(); header.addHeaderField("Content-Type", "multipart/mixed; boundary=" + boundary); // connect m_Client.connect(m_Server, m_Port); if (!SMTPReply.isPositiveCompletion(m_Client.getReplyCode())) { m_Client.disconnect(); getLogger().severe( "SMTP server " + m_Server + ":" + m_Port + " refused connection: " + m_Client.getReplyCode()); return false; } // login if (!m_Client.login()) { m_Client.disconnect(); getLogger().severe("Failed to login to SMTP server " + m_Server + ":" + m_Port + "!"); return false; } // TLS? if (m_UseTLS) { if (!((SMTPSClient) m_Client).execTLS()) { m_Client.logout(); m_Client.disconnect(); getLogger().severe("SMTP server " + m_Server + ":" + m_Port + " failed to start TLS!"); return false; } } // authentication? if (m_RequiresAuth) { if (!((AuthenticatingSMTPClient) m_Client).auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN, m_User, m_Password.getValue())) { m_Client.logout(); m_Client.disconnect(); getLogger() .severe("Failed to authenticate: user=" + m_User + ", pw=" + m_Password.getMaskedValue()); return false; } } // fill in recipients m_Client.setSender(email.getFrom().stringValue()); for (i = 0; i < email.getTo().length; i++) m_Client.addRecipient(email.getTo()[i].getValue()); for (i = 0; i < email.getCC().length; i++) m_Client.addRecipient(email.getCC()[i].strippedValue()); for (i = 0; i < email.getBCC().length; i++) m_Client.addRecipient(email.getBCC()[i].stringValue()); // start message writer = m_Client.sendMessageData(); if (writer == null) { m_Client.logout(); m_Client.disconnect(); getLogger().severe("Cannot send data!"); return false; } writer.write(header.toString()); // body writer.write("--" + boundary + "\n"); writer.write("Content-Type: text/plain; charset=ISO-8859-1\n"); writer.write("\n"); writer.write(email.getBody()); writer.write("\n"); writer.write("\n"); // attachements if (email.getAttachments().length > 0) { for (File file : email.getAttachments()) { writer.write("--" + boundary + "\n"); mime = MimeTypeHelper.getMimeType(file); writer.write("Content-Type: " + mime.toString() + "; name=\"" + file.getName() + "\"\n"); writer.write("Content-Disposition: attachment; filename=\"" + file.getName() + "\"\n"); writer.write("Content-Transfer-Encoding: base64\n"); writer.write("\n"); content = FileUtils.loadFromBinaryFile(file); lines = EmailHelper.breakUp(InternetHelper.encodeBase64(content), 76); for (String line : lines) writer.write(line + "\n"); } } // finish message writer.write("--" + boundary + "--\n"); writer.close(); if (!m_Client.completePendingCommand()) { m_Client.logout(); m_Client.disconnect(); getLogger().severe("Failed to complete pending command!"); return false; } m_Client.logout(); m_Client.disconnect(); return true; }
From source file:com.ironiacorp.email.CommonsNetEmailDispatcher.java
@Override public void sendEmails(Email... emails) { AuthenticatingSMTPClient client = null; boolean result = false; int port = connectionType.port; if (serverPort != 0) { port = serverPort;//from w w w .j a v a2 s . c o m } try { client = new AuthenticatingSMTPClient(); client.connect(serverName, port); if (connectionType == EmailServerConnectionType.SSL || connectionType == EmailServerConnectionType.TLS) { result = client.execTLS(); if (result == false) { throw new IllegalArgumentException("Cannot start secure connection"); } } if (authenticationRequired) { result = client.auth(AUTH_METHOD.PLAIN, username, password); if (result == false) { throw new IllegalArgumentException("Incorrect username or password"); } } // After connection attempt, you should check the reply code to verify success. int reply = client.getReplyCode(); if (!SMTPReply.isPositiveCompletion(reply)) { client.disconnect(); } for (Email email : emails) { SimpleSMTPHeader header; Iterator<Recipient> i = email.getRecipients().iterator(); Writer writer = client.sendMessageData(); String to = null; while (i.hasNext()) { Recipient recipient = i.next(); if (to == null && email.getVisibility(recipient) == Visibility.TO) { to = recipient.getEmail(); } else { client.addRecipient(recipient.getEmail()); } } header = new SimpleSMTPHeader(email.getSender().getEmail(), null, email.getSubject()); writer.write(header.toString()); result = client.completePendingCommand(); if (result == false) { throw new IllegalArgumentException("Could not send the email"); } client.reset(); } } catch (Exception e) { throw new UnsupportedOperationException("Could not send the email", e); } finally { if (client != null && client.isConnected()) { try { client.disconnect(); } catch (IOException e) { } } } }
From source file:net.metanotion.emailqueue.SmtpSender.java
@Override public boolean send(final Connection conn, final MessageStruct msg) throws IOException { logger.trace("Set Sender " + msg.Sender); conn.client.setSender(msg.Sender);//from w ww . j ava 2s. c o m logger.trace("Set Recipient " + msg.Recipient); conn.client.addRecipient(msg.Recipient); final Writer writer = conn.client.sendMessageData(); final SimpleSMTPHeader header = new SimpleSMTPHeader(msg.Sender, msg.Recipient, msg.Subject); logger.trace("Write header"); writer.write(header.toString()); logger.trace("Write message"); writer.write(msg.Message); logger.trace("Close"); writer.close(); logger.trace("Complete command"); return conn.client.completePendingCommand(); }
From source file:ProtocolRunner.java
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed // ok for multiple value dialog: String fromText = fromField.getText(); String subjectText = subjectField.getText(); String variableText = variableField.getText(); String messageText = messageArea.getText(); //from w w w. j a v a 2 s . c om DotTerminatedMessageWriter writer; int selection = tcpSelectionBox.getSelectedIndex(); try{ if(selection == 5) { // means handling NNTP posting of message writer = (DotTerminatedMessageWriter) ((NNTPClient)tcpClient).postArticle(); if(writer == null) { tcpServerResponse.append( ((NNTPClient)tcpClient).getReplyString() + "\r\n"); return; } // create simple NNTP headers SimpleNNTPHeader headers = new SimpleNNTPHeader(fromText, subjectText); headers.addNewsgroup(variableText); // and write the message on writer.write(headers.toString()); writer.write(messageText); writer.close(); ((NNTPClient)tcpClient).completePendingCommand(); tcpServerResponse.append( ((NNTPClient)tcpClient).getReplyString() + "\r\n"); } else if(selection == 7) { // means handling SMTP posting of message ((SMTPClient)tcpClient).setSender(fromText); ((SMTPClient)tcpClient).addRecipient(variableText); writer = (DotTerminatedMessageWriter) ((SMTPClient)tcpClient).sendMessageData(); if(writer == null) { tcpServerResponse.append( ((SMTPClient)tcpClient).getReplyString() + "\r\n"); return; } // create Simple SMTP header SimpleSMTPHeader headers = new SimpleSMTPHeader(fromText, variableText, subjectText); writer.write(headers.toString()); writer.write(messageText); writer.close(); ((SMTPClient)tcpClient).completePendingCommand(); tcpServerResponse.append( ((SMTPClient)tcpClient).getReplyString() + "\r\n"); } }catch(IOException ioex) { showError(ioex.getMessage()); } finally{ fromField.setText(""); subjectField.setText(""); variableField.setText(""); messageArea.setText(""); multipleValueDialog.setVisible(false); } }
From source file:org.apache.common.net.examples.mail.SMTPMail.java
public final static void main(String[] args) { String sender, recipient, subject, filename, server, cc; List<String> ccList = new ArrayList<String>(); BufferedReader stdin;// ww w . j a va 2s . c o m FileReader fileReader = null; Writer writer; SimpleSMTPHeader header; SMTPClient client; if (args.length < 1) { System.err.println("Usage: mail smtpserver"); System.exit(1); } server = args[0]; stdin = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("From: "); System.out.flush(); sender = stdin.readLine(); System.out.print("To: "); System.out.flush(); recipient = stdin.readLine(); System.out.print("Subject: "); System.out.flush(); subject = stdin.readLine(); header = new SimpleSMTPHeader(sender, recipient, subject); while (true) { System.out.print("CC <enter one address per line, hit enter to end>: "); System.out.flush(); cc = stdin.readLine(); if (cc == null || cc.length() == 0) { break; } header.addCC(cc.trim()); ccList.add(cc.trim()); } System.out.print("Filename: "); System.out.flush(); filename = stdin.readLine(); try { fileReader = new FileReader(filename); } catch (FileNotFoundException e) { System.err.println("File not found. " + e.getMessage()); } client = new SMTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.connect(server); if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) { client.disconnect(); System.err.println("SMTP server refused connection."); System.exit(1); } client.login(); client.setSender(sender); client.addRecipient(recipient); for (String recpt : ccList) { client.addRecipient(recpt); } writer = client.sendMessageData(); if (writer != null) { writer.write(header.toString()); Util.copyReader(fileReader, writer); writer.close(); client.completePendingCommand(); } if (fileReader != null) { fileReader.close(); } client.logout(); client.disconnect(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } }