`
jayung
  • 浏览: 59877 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

解决发送含附件的邮件附件名乱码

    博客分类:
  • mail
 
阅读更多

用commons-email,javax.mail发送邮件,中文附件名乱码。

 

原来需要用MimeUtility.encodeText(fileNameString)转一下就可以不乱码了,记一下。

 

下附完整发送含附件的邮件。

import java.io.UnsupportedEncodingException;

import javax.mail.internet.MimeUtility;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;

public class MailTest {
	public static void sendMultiPartEmail() throws EmailException {
		EmailAttachment attachment = new EmailAttachment();
		// 设置附件路径
		attachment.setPath("C:/test.log");
		attachment.setDisposition(EmailAttachment.ATTACHMENT);
		// 附件描述
		attachment.setDescription("This is Smile picture");
		String fileName = "中文名附件.log";
		try {
			fileName = MimeUtility.encodeText(fileName); // 解决中文附件乱码
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		attachment.setName(fileName);
		// 创建一个含附件的email
		MultiPartEmail multipartemail = new MultiPartEmail();
		multipartemail.setHostName("smtp.qq.com");// 设置主机名称
		multipartemail.setCharset("GBK");// 设置字符编码
		multipartemail.addTo("您的QQ号@qq.com"); // 设置发送邮件目的地址
		// 设置发送源地址和显示名,此处是自己发给自己,可以填任意邮件地址
		multipartemail.setFrom("您的QQ号@qq.com", "邮件里显示的中文名");
		multipartemail.setAuthentication("您的QQ号,不含@qq.com", "您的QQ密码");// 设置用户名和密码
		multipartemail.setSubject("测试发送附件");// 设置主题
		multipartemail.setMsg("暂无");// 设置邮件内容
		multipartemail.attach(attachment);// 添加附件
		
		multipartemail.send();// 发送邮件
	}

	public static void main(String[] args) {
		try {
			MailTest.sendMultiPartEmail();
		} catch (EmailException e) {
			e.printStackTrace();
		}
		System.out.println("send over");
	}
}

 

分享到:
评论

相关推荐

    KETTLE 发送邮件乱码修正

    我当前调试的是kettle 5.4.0.1版本,修复job中发送邮件时候中文乱码问题: 替换 data-integration\lib\kettle-engine-5.4.0.1-130.jar 这个jar包下 data-integration\lib\kettle-engine-5.4.0.1-130.jar\org\...

    利用Java发送邮件(含附件)的例子

    8. 调用`addFileAffix`方法添加附件,该方法创建一个`MimeBodyPart`,设置数据处理器为`FileDataSource`,并编码附件名以防止乱码。 9. 使用`setFrom`方法设置发件人地址。 10. 使用`setTo`方法设置收件人地址。 11....

    mutt 发送附件代码

    linux 使用mutt 发送带附件内容的邮件,将资源写入服务器中

    Opensmtp1.11.0解决附件乱码问题

    本文将深入探讨如何解决OpenSMTP 1.11.0版本中关于附件乱码的问题,以及与之相关的C#编程、SMTP协议和邮件编码知识。 首先,我们需要理解SMTP(Simple Mail Transfer Protocol)协议,它是互联网上用于发送电子邮件...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    Java自带的Java-mail框架 163 邮件发送,支持多附件,没中文乱码

    JavaMail是Java编程语言中的一个开源库,用于处理电子邮件通信,包括发送、接收邮件以及管理邮件附件。在JavaMail框架的帮助下,开发者可以方便地实现SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP...

    SpringBoot mail中文附件乱码的解决方法

    SpringBoot mail中文附件乱码的解决方法 邮件附件中文乱码问题 在使用 SpringBoot 发送邮件时,经常会遇到附件名称中文乱码的问题。本文将详细介绍解决此问题的方法。 问题分析 在发送邮件时,我们需要将附件...

    james和javamail实现邮件收发(带发送附件)

    3. **添加附件**:如果需要发送附件,可以使用`MimeBodyPart`类创建一个包含附件的新部分,并将其添加到`Multipart`对象中。`MimeMultipart`类允许我们组合多个邮件部分,包括文本和附件。 4. **处理中文内容**:...

    perl读取excel内容,并发送html邮件!中文不乱码

    perl读取excel内容,并发送html邮件!中文不乱码,直接下载可用,只需要改一下文件路径,这是已经上生产的脚本

    Delphi XE10 QQ 163 发送邮件

    3. 如果需要发送附件,可以使用TIdAttachment组件,将其添加到TIdMessage的Attachments列表中。 4. 创建一个TIdSMTP对象,设置SMTP服务器地址、端口(QQ 163邮箱通常使用465或587端口,使用SSL/TLS)以及用户名和...

    基于python发送邮件的乱码问题的解决办法

    在本文中,我们将探讨如何解决Python发送邮件时出现的乱码问题。 首先,我们要了解邮件编码的基本概念。电子邮件标准规定了多种编码方式,如ASCII、UTF-8、Base64、Quoted-printable等。对于包含中文字符的邮件,...

    邮件乱码解决办法

    5. **图片和附件**: "安装-1.jpg"、"卸载.jpg"和"安装-2.jpg"可能是处理邮件乱码过程中的相关步骤图解,通过这些图片,用户可以直观地了解如何更改邮件客户端的设置或者使用特定的处理工具。在实际操作中,确保正确...

    TD发邮件乱码问题

    解决TD发送邮件乱码的问题主要集中在修改TD内部处理邮件编码的方式上。根据提供的部分内容,可以得知需要修改的是`C:\Program Files\CommonFiles\MercuryInteractive\DomsInfo\StyleSheets`目录下的`BUG_HTML.xsl`...

    Jmail发送邮件与带附件乱码解决办法分享

    本文将详细介绍如何使用Jmail发送邮件时解决乱码问题,并且介绍如何添加附件。 ### Jmail安装和配置 在使用Jmail之前,需要先下载并安装Jmail组件,Jmail的DLL文件通常命名为jmail.dll。安装之后,需要在使用Jmail...

    java socket发送SMTP邮件,支持SSL,支持发附件,抄送且发送的邮件标题内容都无乱码!

    java socket发送SMTP邮件,支持SSL,支持发附件,抄送且发送的邮件标题内容都无乱码!

    邮件乱码处理

    然而,在实际操作过程中,可能会遇到邮件中的文字或附件显示为乱码的问题,这不仅影响了工作效率,还可能导致信息传递的准确性降低。本文将详细介绍导致电子邮件乱码的原因以及相应的解决方法。 #### 一、系统编码...

    jsp/servlet javamail 发送邮件 可发送多个附件

    在Java Web开发中,JSP(JavaServer ...总的来说,这个JSP/Servlet邮件系统利用JavaMail API实现了发送多附件邮件的功能,但也需要注意编码问题和安全性。通过不断优化和调试,可以构建出稳定且功能丰富的邮件服务。

    解决邮件乱码问题

    "解决邮件乱码问题"这个主题涉及到的是如何通过编程方式,尤其是使用PHPMailer库,确保邮件内容在各种邮箱客户端中都能正确显示,无论它们的默认编码是什么。 PHPMailer是一个流行的PHP邮件发送类库,它允许开发者...

    访问接口得到二进制附件并发送邮件

    接口可能返回一个包含附件二进制数据的响应,我们需要将其保存为临时文件或直接转换为邮件附件。在Python中,可以使用`requests`库获取接口数据,并用`io`模块处理二进制数据。例如: ```python import requests ...

    让phpmailer支持中文名称的附件和邮件标题中文乱码

    假设我们有以下代码片段,该片段展示了如何使用上述解决方案来发送包含中文标题和中文附件名称的邮件: ```php // 创建PHPMailer实例 $mail = new PHPMailer(); $mail->CharSet = "UTF-8"; // 设置编码 // 添加...

Global site tag (gtag.js) - Google Analytics