Skip to content

Commit

Permalink
Encoding of from and to fields (backport, fixes #480)
Browse files Browse the repository at this point in the history
Backport of #478
  • Loading branch information
marcelmay committed Sep 3, 2022
1 parent 4739e80 commit 2be4a63
Showing 1 changed file with 14 additions and 7 deletions.
Expand Up @@ -6,18 +6,19 @@
*/
package com.icegreen.greenmail.store;


import java.util.*;
import javax.mail.BodyPart;
import javax.mail.MessagingException;
import javax.mail.internet.*;

import com.icegreen.greenmail.mail.MailAddress;
import com.icegreen.greenmail.util.GreenMailUtil;
import com.sun.mail.imap.protocol.INTERNALDATE;
import javax.mail.BodyPart;
import javax.mail.MessagingException;
import javax.mail.internet.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.*;

/**
* Attributes of a Message in IMAP4rev1 style. Message
* Attributes should be set when a message enters a mailbox.
Expand Down Expand Up @@ -371,7 +372,13 @@ private String parseAddress(String address) {

String personal = netAddr.getPersonal();
if (personal != null && (personal.length() != 0)) {
buf.append(Q).append(personal).append(Q);
try {
String encodedPersonal = MimeUtility.encodeWord(personal, StandardCharsets.UTF_8.name(),null);
buf.append(Q).append(encodedPersonal).append(Q);
} catch (UnsupportedEncodingException e) {
log.warn("Failed to encode personal address part "+personal+" for "+netAddr+", using personal 'as is'");
buf.append(Q).append(personal).append(Q);
}
} else {
buf.append(NIL);
}
Expand Down

0 comments on commit 2be4a63

Please sign in to comment.