导航:首页 > 编程语言 > javamail附件名乱码

javamail附件名乱码

发布时间:2023-02-05 01:54:00

javamail发送附件,接收方附件名不符

fileName = MimeUtility.decodeText(fileName);

Ⅱ javamail 收邮件时收件人别名乱码怎么解决

先判断带别名邮箱是什么编码,然后用javaMail API 自带的MimeUtility.decodeText(“别名”)方法处理下别名就OK了、

满意请采纳

Ⅲ JavaMail怎么彻底解决发送出的邮件中 附件名 乱码问题 MimeUtility.encodeText(fileName1)这个方法不顶用

这样可以解决,试试吧:回答:

BodyPart bp = new MimeBodyPart();
int indexof =filename.lastIndexOf("/");

String fileNameNew=MimeUtility.encodeText(filename.substring(indexof),"utf-8",null);
DataSource dataSourse=new FileDataSource(filename);
bp.setDataHandler(new DataHandler(dataSourse));
bp.setFileName(fileNameNew);

mp.addBodyPart(bp);

Ⅳ JAVAmail加入附件后正文乱码,主要功能代码如下,标题其它都正常,就正文乱码,求高手解答

设置编码格式

Ⅳ 如何解决JAVAMAIL发送html格式邮件时的乱码问题

是由抄于编码不同造成的乱码,应首先试一试转换编码的方法。因为这种编码大多出现在中文邮件上。因此,当乱码出现时首先应当检查编码方式是否为“简体中文(GB2312)”,如果不是可用鼠标点取“查看”菜单下的“编码”选项,选中“简体中文(GB2312)”编码方式,如果不行,切换成其他编码试试,通常问题都能得到解决。

Ⅵ 邮箱下载附件时文件名显示为乱码怎么办

用ie登录winmail邮箱下载附件时文件名总是显示为乱码,还得手动改回来怎么办?下面我告诉你解决方法!

邮箱下载附件时文件名显示为乱码的解决方法

打开浏览器,然后在命令栏上点击“工具”,再单击“兼容性视图设置”选项。(如果找不到命令栏,请见下面唤出命令栏的方法。)

在添加此网站下的输入框中输入目标邮箱站点地址,然后点击”确定“键。

确定邮箱地址在兼容性视图网站列表中,且”在兼容性视图中显示internet站点“单选框被选中。

IE唤出命令栏的方法:如图所示。

END

Ⅶ 有关javamail的邮件附件的路径和文件名中文乱码问题

你可以试试javamail包中自复带的编码解码制方法
import javax.mail.internet.MimeUtility; 包
// 解决文件名的中文问题
MimeUtility.decodeText(“attachment”);
// 解决标题的中文问题
MimeUtility.encodeText(”subject“);
这两个方法应该可以解决你的问题,我就是用的这两个方法

Ⅷ 关于javamail读取中文路径和文件名乱码的问题

你的这行代码attachName=new String(attachName.getBytes("gb2312"),"ISO8859-1");应该修改成attachName=new String(attachName.getBytes("ISO8859-1"),"gb2312");还有就是邮件中文乱码问题。在界面传递时,中文通过一定编码格式编码后在传给另外一个界面,接收界面如果要正确的显示中文,应该正确的解码。可以使用jdk1.6提供MimeUtility类。将 FileDataSource fds=new FileDataSource(filename);修改为:
FileDataSource fds=new FileDataSource(MimeUtility.encodeText(filename));这样的话应该能解决附件乱码问题。这只是自己肤浅的认识,可能有些地方还有漏洞,往高手看后指点!!
=====================================================================
下面是敝人一段中文处理的代码,可以做参考
public class Demo3
{
/**
* 复杂邮件含附件+中文附件名_回信地址_友好名称
* @param args
*/
public static void main(String[] args) throws Exception
{

//配置环境
Properties pros = new Properties();
pros.setProperty("mail.smtp.auth", "true");
pros.setProperty("mail.transport.protocol", "smtp");
Session session = Session.getInstance(pros);
session.setDebug(true);
//创建卫星
Message msg = new MimeMessage(session);
//设置msg的一些信息--发件人、主题、内容..
msg.setFrom(new InternetAddress("\""+MimeUtility.encodeText("超越")+"\" <[email protected]>"));
msg.setRecipients(RecipientType.TO,
InternetAddress.parse(MimeUtility.encodeText("毕老师")+" <[email protected]>,"+MimeUtility.encodeText("王老师")+" <[email protected]>")
);
msg.setReplyTo(InternetAddress.parse("[email protected]"));

MimeMultipart bodyMultipart = new MimeMultipart("mixed");
msg.setContent(bodyMultipart);

MimeBodyPart appurt1 = new MimeBodyPart();
MimeBodyPart appurt2 = new MimeBodyPart();
MimeBodyPart contentPart = new MimeBodyPart();

bodyMultipart.addBodyPart(appurt1);
bodyMultipart.addBodyPart(appurt2);
bodyMultipart.addBodyPart(contentPart);

appurt1.setDataHandler(new DataHandler(new FileDataSource("")));
appurt1.setFileName("");//重要

appurt2.setDataHandler(new DataHandler(new FileDataSource("")));
appurt2.setFileName("");

MimeMultipart contentMultipart = new MimeMultipart("related");
contentPart.setContent(contentMultipart);

MimeBodyPart picPart = new MimeBodyPart();
MimeBodyPart htmlPart = new MimeBodyPart();
contentMultipart.addBodyPart(picPart);
contentMultipart.addBodyPart(htmlPart);

picPart.setDataHandler(new DataHandler(new FileDataSource("")));
picPart.setHeader("Content-Location", "www.sohu.com/log.jpg");
htmlPart.setText("图片<img src=www.sohu.com/log.jpg/>", "text/html;charset=gbk");

msg.saveChanges();

//创建火箭
Transport transport = session.getTransport();
transport.connect("smtp.sina.com", 25, "[email protected]", "*****");

//火箭发送卫星
transport.sendMessage(msg, InternetAddress.parse("aa,aaa"));

transport.close();
}
}

Ⅸ java:附件中文名称乱码。。。

将以下各项统一编码为utf-8

  1. 德国服务器编码

  2. 项目编码

  3. jsp及其它文件头的编码

Ⅹ java 接收邮件附件乱码

imeUtility.encodeWord是进行编码,MimeUtility.encodeWord是进行解码
无论附件中文件是什么样的字符,都可以进行正确的解码,但是当文件都是英文
文字的时候却会包错,为null,英文这个时候不支持全英文,所以这个时候应该:
if(!part_FileName.endsWith("?=")) //是全英文
{
直接赋值
}
else
{
MimeUtility.decodeWord(文件名字);
}
messageBodyPart.setFileName(MimeUtility.encodeWord(fileName));
同样收中文附件时,以MimeUtility.decodeWord()将编码后的字符串解码。

字符编码及字符集转换问题
前面提到MIME要解决的另外一个问题就是将SMTP协议不支持的字节流转换成
为SMTP 协议支持的字节流。比如我们要通过邮件传输一个附件文档,该附件文档就
是一个8bit 字节流,如果简单的直接通过SMTP 发送,其最高位信息将被丢失。MIME
规定可以用两种编码方式将8bit 的字节流编码成为低于8bit 的字节流,它们分别是
BASE64 编码(BASE64 将8bit 字节流编码成6bit 字节流)和QP 编码。这两种编码
方式同样应用在对中文的编码上。例如如果邮件中文题目叫做“CVS 介绍”,那么其
编码后的形式可能为:
Subject: =?gb2312?B?Q1ZTLS3QpMX0LnBwdA==?=
标题字符串以”=?”开始,以”?=”结束。”gb2312”表示字符串的字符集,而以”?”分
隔的”B”就表示此字符串的编码方式为BASE64。我们处理此标题时就要先将BASE64
编码的6bit 字节流转换为原来的8bit 字节流,再根据字符集”gb2312”转换为Java 中的
String 类型。这里可以简单的使用JavaMail 提供的MimeUtility.decodeWord()静态方法
将编码后的字符串解码。

文章出处:http://www.diybl.com/course/3_program/java/javashl/20071118/86782.html

阅读全文

与javamail附件名乱码相关的资料

热点内容
access数据库最新内容怎么调 浏览:203
上古世纪新版本跑商 浏览:267
iphone5国际漫游设置 浏览:107
ipodwatch如何安装app 浏览:114
谁有微信抢红包的群号 浏览:872
word07页码从任意页开始 浏览:791
js禁止滑动事件 浏览:800
苹果查序号怎么看不是 浏览:61
linux在txt文件 浏览:568
ps如何导入文件匹配 浏览:201
转转app怎么把自己的账号租出去 浏览:828
福昕阅读器合并照片pdf文件 浏览:591
vhd文件有什么用 浏览:482
编程小朋友看什么书 浏览:623
经营如何让数据说话 浏览:258
如何在手机上升级opop 浏览:614
coreldrawx5免费视频教程 浏览:725
网站引导页面源码 浏览:234
个人简历范文word 浏览:220
uc下载的视频怎样提取到文件 浏览:499

友情链接