From 44d6308fdceeebc42724ee4e6ac473b3a1005508 Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Tue, 16 Nov 2010 16:16:38 +0000 Subject: [PATCH] [LMS-1890] YeastX: cannot send confirmation email after unarchiving fix: make the MailClient not request SMTP authentication if it obviously hasn't got valid credentials: deal with the typical Spring injection artefacts like an empty value "" or something like "${propval}" gracefully SVN: 18746 --- .../java/ch/systemsx/cisd/common/mail/MailClient.java | 3 ++- .../cisd/common/mail/MailClientParameters.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java b/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java index 255f81df3f2..3a28e070840 100644 --- a/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java +++ b/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java @@ -40,6 +40,7 @@ import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; @@ -135,7 +136,7 @@ public final class MailClient extends Authenticator implements IMailClient { properties.put(JavaMailProperties.MAIL_SMTP_HOST, smtpHost); } - if (smtpPassword != null && smtpUsername != null) + if (StringUtils.isNotBlank(smtpPassword) && StringUtils.isNotBlank(smtpUsername)) { properties.put(JavaMailProperties.MAIL_SMTP_AUTH, Boolean.TRUE.toString()); } diff --git a/common/source/java/ch/systemsx/cisd/common/mail/MailClientParameters.java b/common/source/java/ch/systemsx/cisd/common/mail/MailClientParameters.java index b7d155c68ca..231c5f80800 100644 --- a/common/source/java/ch/systemsx/cisd/common/mail/MailClientParameters.java +++ b/common/source/java/ch/systemsx/cisd/common/mail/MailClientParameters.java @@ -52,6 +52,11 @@ public class MailClientParameters implements Serializable public final void setSmtpUser(String smtpUser) { + // Check for Spring injection artefact + if (smtpUser != null && smtpUser.startsWith("${")) + { + this.smtpUser = null; + } this.smtpUser = smtpUser; } @@ -62,6 +67,11 @@ public class MailClientParameters implements Serializable public final void setSmtpPassword(String smtpPassword) { + // Check for Spring injection artefact + if (smtpPassword != null && smtpPassword.startsWith("${")) + { + this.smtpPassword = null; + } this.smtpPassword = smtpPassword; } -- GitLab