diff --git a/src/main/java/org/apache/commons/mail/Email.java b/src/main/java/org/apache/commons/mail/Email.java index 688f71e..d451d45 100644 --- a/src/main/java/org/apache/commons/mail/Email.java +++ b/src/main/java/org/apache/commons/mail/Email.java @@ -1200,15 +1200,14 @@ public abstract class Email } /** - * Set the email subject. + * Sets the email subject. Replaces end-of-line characters with spaces. * * @param aSubject A String. * @return An Email. * @since 1.0 */ - public Email setSubject(String aSubject) - { - this.subject = aSubject; + public Email setSubject(final String aSubject) { + this.subject = EmailUtils.replaceEndOfLineCharactersWithSpaces(aSubject); return this; } diff --git a/src/main/java/org/apache/commons/mail/EmailUtils.java b/src/main/java/org/apache/commons/mail/EmailUtils.java index 5b4b0b3..e8f7f1f 100644 --- a/src/main/java/org/apache/commons/mail/EmailUtils.java +++ b/src/main/java/org/apache/commons/mail/EmailUtils.java @@ -271,6 +271,16 @@ final class EmailUtils return buffer.toString(); } + /** + * Replaces end-of-line characters with spaces. + * + * @param input the input string to be URL scanned. + * @return a clean string + */ + static String replaceEndOfLineCharactersWithSpaces(final String input) { + return input == null ? null : input.replace('\n', ' ').replace('\r', ' '); + } + /** * Encodes an input string according to RFC 2392. Unsafe characters are escaped. *