网站重构,一部分用户动作需要发送邮件通知给相关人员,但是通过spring发送的邮件在信箱里接收后会显示乱码,google了一下找了解决方法,记录一下。
发件人参数
mail.from=OECP社区 <webmaster@po-soft.com>
原本使用
helper.setFrom(from.getBytes("GBK"),"ISO-8859-1");
邮箱里打开邮件后,发件人显示显示乱码
修改后
helper.setFrom(javax.mail.internet.MimeUtility.encodeText(from , "utf-8","B"))
收件人显示正常,但是发件人内包含回复地址。
继续修改
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;
}
邮件发件人显示正常了
- 大小: 6.8 KB
- 大小: 10.9 KB
- 大小: 7.4 KB
分享到:
相关推荐
解决方法:解决中文乱码问题的方法有两种,一种是使用POST方式,另一种是使用GET方式。 1、POST方式:在POST方式中,我们可以使用request.setCharacterEncoding("UTF-8")来指定解码方式为UTF-8。这将使服务器使用...
Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...
### Spring框架中注解出现中文乱码的问题解析与解决方案 #### 问题背景 在Spring框架的应用开发中,尤其是在处理HTTP请求时,经常会遇到通过JSON格式传递数据的情况。然而,在某些场景下,开发者可能会遇到中文...
下面我们将详细介绍 SpringMVC 中解决中文乱码问题的思路和方法。 配置文件中的字符编码 在 SpringMVC 中,我们可以在 web.xml 文件中配置字符编码。例如,我们可以在 web.xml 文件中添加以下配置: ```xml ...
解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...
在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。...然而,当涉及到非英文字符,...通过上述方法,可以有效地解决Freemarker中出现的中文乱码问题,提高Web应用的稳定性和用户体验。
为了解决这个问题,本文将详细介绍SpringBoot乱码问题解决方案,并提供详细的示例代码和配置方法。 一、乱码问题的原因 乱码问题的原因是由于字符编码的不匹配,导致文字无法正确显示。在SpringBoot项目中,默认...
"拦截器解决中文乱码问题"这个主题,主要关注的是如何通过使用拦截器(Interceptor)这一技术手段来预防或解决乱码现象。拦截器是Spring MVC框架中的一个重要组件,它可以对HTTP请求进行预处理和后处理,从而在数据...
#### 方法一:与Spring集成解决中文乱码问题 针对与Spring框架集成的应用,可以通过在`web.xml`文件中进行相应的配置来解决中文乱码问题。具体步骤如下: 1. **修改Web配置文件**: 在`web.xml`文件中加入以下...
### JSP中解决中文乱码的万能方法 在JSP开发过程中,中文乱码问题是一个常见的技术难题,尤其在处理客户端与服务器之间的数据交互时更为突出。本文将详细介绍几种有效的解决方案,帮助开发者应对各种场景下的乱码...
然而,在使用过程中可能会遇到字符编码的问题,特别是中文乱码的情况,这不仅会影响日志的可读性,还可能导致难以追踪的问题。本文将详细介绍如何通过修改`log4j.properties`配置文件来解决log4j中的乱码问题。 ###...
### 如何在Spring中解决中文乱码的方法 #### 背景介绍 在Web开发过程中,中文乱码问题经常困扰开发者。特别是在早期的Java Web框架(例如本案例中提到的Spring 1.2.4、Struts 1.1、Hibernate 3.0.5等)中,这一问题...
### Java解决GET请求中文乱码问题详解 在Java Web开发中,经常遇到的一个问题是处理GET请求中的中文参数时出现乱码。这个问题主要是因为浏览器发送GET请求时,参数默认使用ISO-8859-1编码格式,而服务器端通常采用...
本篇将详细介绍如何解决JSP传值过程中出现的中文乱码问题。 首先,我们需要理解乱码产生的原因。在网页中,数据的编码和解码过程需要保持一致。如果服务器和客户端之间使用的字符编码不同,就可能出现乱码。例如,...
Spring Boot 使用 i18n 时 properties 文件中文乱码问题的解决方法 Spring Boot 是一个流行的 Java 框架,用于快速开发 Web 应用程序。然而,在使用 Spring Boot 时,遇到中文乱码问题的可能性很高,特别是在使用 ...
进一步分析发现,使用MyEclipse 6.5重新生成Hibernate和Spring的配置后,中文乱码问题得到了解决。这暗示了问题可能源于MyEclipse 5.5生成的SSH配置包与6.5版本的不同。开发者列出了两个版本生成的SSH包,发现5.5...
### 解决Struts2.1.6 + Spring + Hibernate 中文乱码问题 在Web开发过程中,特别是使用Java EE框架时,字符编码问题一直是开发者关注的重点之一。对于使用Struts2.1.6、Spring以及Hibernate这三个框架组合的项目而...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...
通过以上步骤,你就可以在Spring MVC项目中成功整合IReport并解决中文乱码问题。记住,对于任何Web开发,良好的代码组织和清晰的文档都是至关重要的,这将使你的项目更易于维护和扩展。在实际操作中,可能还会遇到...