Details
diff --git a/azkaban-common/src/main/java/azkaban/utils/AbstractMailer.java b/azkaban-common/src/main/java/azkaban/utils/AbstractMailer.java
index a9074a7..bf536f2 100644
--- a/azkaban-common/src/main/java/azkaban/utils/AbstractMailer.java
+++ b/azkaban-common/src/main/java/azkaban/utils/AbstractMailer.java
@@ -22,6 +22,7 @@ public class AbstractMailer {
private String clientHostname;
private int clientPort;
private boolean usesSSL;
+ private boolean usesAuth;
private String mailHost;
private String mailUser;
@@ -37,11 +38,12 @@ public class AbstractMailer {
this.mailUser = props.getString("mail.user", "");
this.mailPassword = props.getString("mail.password", "");
this.mailSender = props.getString("mail.sender", "");
-
+ this.usesAuth = props.getBoolean("mail.useAuth",true);
+
this.clientHostname = props.get("server.hostname");
this.clientPort = props.getInt("server.port");
this.usesSSL = props.getBoolean("server.useSSL");
-
+
if (usesSSL) {
referenceURL =
"https://" + clientHostname
@@ -64,6 +66,7 @@ public class AbstractMailer {
message.addAllToAddress(emailList);
message.setMimeType(mimetype);
message.setSubject(subject);
+ message.setAuth(usesAuth);
return message;
}
diff --git a/azkaban-common/src/main/java/azkaban/utils/Emailer.java b/azkaban-common/src/main/java/azkaban/utils/Emailer.java
index 947800a..3dc0354 100644
--- a/azkaban-common/src/main/java/azkaban/utils/Emailer.java
+++ b/azkaban-common/src/main/java/azkaban/utils/Emailer.java
@@ -55,6 +55,7 @@ public class Emailer extends AbstractMailer implements Alerter {
private String mailSender;
private String azkabanName;
private String tls;
+ private boolean usesAuth;
public Emailer(Props props) {
super(props);
@@ -64,7 +65,8 @@ public class Emailer extends AbstractMailer implements Alerter {
this.mailPassword = props.getString("mail.password", "");
this.mailSender = props.getString("mail.sender", "");
this.tls = props.getString("mail.tls", "false");
-
+ this.usesAuth = props.getBoolean("mail.useAuth",true);
+
int mailTimeout = props.getInt("mail.timeout.millis", 10000);
EmailMessage.setTimeout(mailTimeout);
int connectionTimeout =
@@ -110,6 +112,7 @@ public class Emailer extends AbstractMailer implements Alerter {
EmailMessage message = new EmailMessage(mailHost, mailUser, mailPassword);
message.setFromAddress(mailSender);
message.setTLS(tls);
+ message.setAuth(usesAuth);
ExecutionOptions option = flow.getExecutionOptions();
@@ -136,7 +139,8 @@ public class Emailer extends AbstractMailer implements Alerter {
EmailMessage message = new EmailMessage(mailHost, mailUser, mailPassword);
message.setFromAddress(mailSender);
message.setTLS(tls);
-
+ message.setAuth(usesAuth);
+
ExecutionOptions option = flow.getExecutionOptions();
MailCreator mailCreator =
@@ -161,7 +165,8 @@ public class Emailer extends AbstractMailer implements Alerter {
EmailMessage message = new EmailMessage(mailHost, mailUser, mailPassword);
message.setFromAddress(mailSender);
message.setTLS(tls);
-
+ message.setAuth(usesAuth);
+
ExecutionOptions option = flow.getExecutionOptions();
MailCreator mailCreator =
diff --git a/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java b/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java
index c939b13..035df65 100644
--- a/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java
+++ b/azkaban-common/src/main/java/azkaban/utils/EmailMessage.java
@@ -48,6 +48,7 @@ public class EmailMessage {
private String _fromAddress;
private String _mimeType = "text/plain";
private String _tls;
+ private boolean _usesAuth = true;
private StringBuffer _body = new StringBuffer();
private static int _mailTimeout = 10000;
private static int _connectionTimeout = 10000;
@@ -111,6 +112,11 @@ public class EmailMessage {
_tls = tls;
return this;
}
+
+ public EmailMessage setAuth(boolean auth){
+ _usesAuth = auth;
+ return this;
+ }
public EmailMessage addAttachment(File file) throws MessagingException {
return addAttachment(file.getName(), file);
@@ -155,10 +161,14 @@ public class EmailMessage {
public void sendEmail() throws MessagingException {
checkSettings();
Properties props = new Properties();
+ if (_usesAuth){
+ props.put("mail." + protocol + ".auth", "true");
+ props.put("mail.user", _mailUser);
+ props.put("mail.password", _mailPassword);
+ }else{
+ props.put("mail." + protocol + ".auth", "false");
+ }
props.put("mail." + protocol + ".host", _mailHost);
- props.put("mail." + protocol + ".auth", "true");
- props.put("mail.user", _mailUser);
- props.put("mail.password", _mailPassword);
props.put("mail." + protocol + ".timeout", _mailTimeout);
props.put("mail." + protocol + ".connectiontimeout", _connectionTimeout);
props.put("mail.smtp.starttls.enable", _tls);
@@ -194,7 +204,11 @@ public class EmailMessage {
// Transport transport = session.getTransport();
SMTPTransport t = (SMTPTransport) session.getTransport(protocol);
- t.connect(_mailHost, _mailUser, _mailPassword);
+ if (_usesAuth){
+ t.connect(_mailHost, _mailUser, _mailPassword);
+ }else{
+ t.connect();
+ }
t.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
t.close();
}