Java Examples for org.apache.commons.net.smtp.AuthenticatingSMTPClient
The following java examples will help you to understand the usage of org.apache.commons.net.smtp.AuthenticatingSMTPClient. These source code samples are taken from different open source projects.
Example 1
Project: smtp-sender-master File: SmtpService.java View source code |
public Set<String> send(InputStream messageStream) throws IOException {
AuthenticatingSMTPClient smtpClient = null;
try {
smtpClient = this.connect();
this.auth(smtpClient);
Set<String> failReceivers = this.processEnvelope(smtpClient);
if (this.rcptTos.size() == failReceivers.size()) {
throw new IOException("not allowed all rcpt to !");
}
this.writeData(smtpClient, messageStream);
return failReceivers;
} catch (Throwable e) {
throw new IOException("send fail ! - " + e.getMessage() + " - RECV:" + this.rcptTos, e);
} finally {
this.close(smtpClient);
}
}
Example 2
Project: network-monitor-master File: Emailer.java View source code |
/** * Sends an e-mail in UTF-8 encoding. * * @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); } else // Mail with attachments { 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(); }