導航:首頁 > 編程語言 > 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附件名亂碼相關的資料

熱點內容
c語言12位的數據應該怎麼存儲 瀏覽:953
將ape導入iphone 瀏覽:107
js組合快捷鍵 瀏覽:174
linux系統盤默認掛在的文件夾 瀏覽:667
淘寶數據包如何操作上架 瀏覽:567
vb編程中輸入cls是什麼意思 瀏覽:81
linuxtime服務 瀏覽:184
瘋狂安卓講義第二版代碼 瀏覽:420
老炮兒三小時版本下載 瀏覽:313
matlab怎麼調試程序 瀏覽:2
winxp升級win7的危害 瀏覽:496
網路沒連上卻不可用是怎麼回事 瀏覽:752
社區版本 瀏覽:738
怎麼查微信公眾號什麼時候開通的 瀏覽:717
安裝三菱編程閃退怎麼回事 瀏覽:488
手機怎麼創建word文件格式 瀏覽:694
c語言連接資料庫 瀏覽:887
數據線粉色和白色哪個是正 瀏覽:775
vb編程應注意什麼 瀏覽:855
js循環添加控制項 瀏覽:615

友情鏈接