Added username/password to PutEmail Processor
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/5450a5a2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/5450a5a2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/5450a5a2 Branch: refs/heads/NIFI-250 Commit: 5450a5a2f00626b40b199c2ad551ac0c8cc610e5 Parents: 56cc186 Author: James Owen <[email protected]> Authored: Wed Mar 11 18:29:08 2015 -0400 Committer: James Owen <[email protected]> Committed: Wed Mar 11 18:29:08 2015 -0400 ---------------------------------------------------------------------- .../nifi/processors/standard/PutEmail.java | 28 +++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/5450a5a2/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java index eb6b1cc..d83b100 100644 --- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java +++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java @@ -18,7 +18,6 @@ package org.apache.nifi.processors.standard; import java.io.IOException; import java.io.InputStream; -import java.net.Socket; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -43,6 +42,10 @@ import javax.mail.internet.MimeMultipart; import javax.mail.internet.PreencodedMimeBodyPart; import javax.mail.util.ByteArrayDataSource; +import org.apache.commons.codec.binary.Base64; +import org.apache.nifi.annotation.behavior.SupportsBatching; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.components.ValidationContext; import org.apache.nifi.components.ValidationResult; @@ -54,13 +57,9 @@ import org.apache.nifi.processor.ProcessContext; import org.apache.nifi.processor.ProcessSession; import org.apache.nifi.processor.ProcessorInitializationContext; import org.apache.nifi.processor.Relationship; -import org.apache.nifi.annotation.documentation.CapabilityDescription; -import org.apache.nifi.annotation.behavior.SupportsBatching; -import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.processor.exception.ProcessException; import org.apache.nifi.processor.io.InputStreamCallback; import org.apache.nifi.processor.util.StandardValidators; -import org.apache.commons.codec.binary.Base64; import com.sun.mail.smtp.SMTPTransport; @@ -82,6 +81,19 @@ public class PutEmail extends AbstractProcessor { .defaultValue("25") .addValidator(StandardValidators.PORT_VALIDATOR) .build(); + public static final PropertyDescriptor SMTP_USERNAME = new PropertyDescriptor.Builder() + .name("SMTP Username") + .description("Username for the SMTP account") + .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) + .required(false) + .build(); + public static final PropertyDescriptor SMTP_PASSWORD = new PropertyDescriptor.Builder() + .name("SMTP Password") + .description("Password for the SMTP account") + .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) + .required(false) + .sensitive(true) + .build(); public static final PropertyDescriptor FROM = new PropertyDescriptor.Builder() .name("From") .description("Specifies the Email address to use as the sender") @@ -152,6 +164,8 @@ public class PutEmail extends AbstractProcessor { final List<PropertyDescriptor> properties = new ArrayList<>(); properties.add(SMTP_HOSTNAME); properties.add(SMTP_PORT); + properties.add(SMTP_USERNAME); + properties.add(SMTP_PASSWORD); properties.add(FROM); properties.add(TO); properties.add(CC); @@ -255,7 +269,9 @@ public class PutEmail extends AbstractProcessor { final SMTPTransport transport = new SMTPTransport(mailSession, new URLName(smtpHost)); try { final int smtpPort = context.getProperty(SMTP_PORT).asInteger(); - transport.connect(new Socket(smtpHost, smtpPort)); + final String smtpUsername = context.getProperty(SMTP_USERNAME).getValue(); + final String smtpPassword = context.getProperty(SMTP_PASSWORD).getValue(); + transport.connect(smtpHost, smtpPort, smtpUsername, smtpPassword); transport.sendMessage(message, message.getAllRecipients()); } finally { transport.close();
