邮件发送时发件人显示中文

helper.setFrom(getFromInternetAddress(from))?

public final String regex1 = ".*[<][^>]*[>].*"; 	//判断是 xxxx <xxx>格式文本
public final String regex2 = "<([^>]*)>";		//尖括号匹配
/**
 * 获取发件人
 * @param from
 * @return
 */
public InternetAddress getFromInternetAddress(String from) {
	String personal = null;
	String address = null;

	if(from.matches(regex1)){
		personal = from.replaceAll(regex2, "").trim();
		Matcher m = Pattern.compile(regex2).matcher(from);
		if(m.find()){
			address = m.group(1).trim();
		}
		try {
			return new InternetAddress(address, personal, "gb2312");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}else{
		try {
			return new InternetAddress(from);
		} catch (AddressException e) {
			e.printStackTrace();
		}
	}
	return null;
}

猜你喜欢

转载自ydlmlh.iteye.com/blog/1050512