Skip to content

Header can be empty #123

@mcix

Description

@mcix

When converting a mimeMessage to Email abject I get the following stack trace.

java.lang.IllegalArgumentException: value is required
	at org.simplejavamail.internal.util.Preconditions.checkNonEmptyArgument(Preconditions.java:15)
	at org.simplejavamail.email.EmailPopulatingBuilder.withHeader(EmailPopulatingBuilder.java:1194)
	at org.simplejavamail.email.EmailPopulatingBuilder.withHeaders(EmailPopulatingBuilder.java:1178)
	at org.simplejavamail.converter.EmailConverter.buildEmailFromMimeMessage(EmailConverter.java:255)
	at org.simplejavamail.converter.EmailConverter.mimeMessageToEmailBuilder(EmailConverter.java:64)
	at org.simplejavamail.converter.EmailConverter.mimeMessageToEmail(EmailConverter.java:55)

One of the headers is in the MimeMessage is an empty string, I found this related issue:
#109

It seems to be the same problem, but in a different case when converting from a mimeMessage.

See (in EmailPopulatingBuilder.java)

public EmailPopulatingBuilder withHeader(@Nonnull String name, @Nonnull Object value) {
        Preconditions.checkNonEmptyArgument(name, "name");
        Preconditions.checkNonEmptyArgument(value, "value");
        this.headers.put(name, String.valueOf(value));
        return this;
    }

Should be

public EmailPopulatingBuilder withHeader(@Nonnull final String name, @Nullable final Object value) {
		checkNonEmptyArgument(name, "name");
		//checkNonEmptyArgument(value, "value");
		headers.put(name, value != null ? String.valueOf(value) : "");
		return this;
	}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions