1. 程式人生 > >javamail傳送郵件的時候附件變成bin

javamail傳送郵件的時候附件變成bin

報錯:tcmime.1278.1278.1724.bin或ATT00001.bin,總之出現這個錯誤的原因是由於編碼格式不適合引起的錯誤
這個是我今天下午遇到的問題,搞了一下午,沒有解決,晚上下班回到宿舍決絕了這個問題,我測試了一下午,有可能是你的檔案沒有設定成為utf-8:

  BodyPart messageBodyPart = new MimeBodyPart(); 

                // 訊息 
                messageBodyPart.setText("233333333333333"); 

                // 建立多重訊息 
                Multipart multipart = new
MimeMultipart(); // 設定文字訊息部分 multipart.addBodyPart(messageBodyPart); // 附件部分 messageBodyPart = new MimeBodyPart(); //設定要傳送附件的檔案路徑 /*String filename = "D:/總結.docx"; */ DataSource source = new
FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); //messageBodyPart.setFileName(filename); //處理附件名稱中文(附帶檔案路徑)亂碼問題 gb2312MimeUtility.encodeText(filename) messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); ```這個是成功的 但是我下午是這麼幹的 <div
class="se-preview-section-delimiter"></div>

這裡寫程式碼片
“`

“`
BodyPart messageBodyPart = new MimeBodyPart();

            // 訊息 
            messageBodyPart.setText("233333333333333"); 

            // 建立多重訊息 
            Multipart multipart = new MimeMultipart(); 

            // 設定文字訊息部分 
            multipart.addBodyPart(messageBodyPart); 

            // 附件部分 
            messageBodyPart = new MimeBodyPart(); 
            //設定要傳送附件的檔案路徑 
            /*String filename = "D:/總結.docx"; */
            DataSource source = new FileDataSource(filename); 
            messageBodyPart.setDataHandler(new DataHandler(source)); 

            //messageBodyPart.setFileName(filename); 
            //處理附件名稱中文(附帶檔案路徑)亂碼問題 gb2312
            messageBodyPart.setFileName(MimeUtility.encodeText(filename)); 
            multipart.addBodyPart(messageBodyPart); 

“`錯了一下午
但是這個是沒有錯誤的,通過MimeUtility.encodeText(filename)這個方法會解決你福建裡面的可解決這個附件亂碼的問題,兩個都沒有錯誤,至於問題在於你的設定問題,實在不可以你可以將兩個都進行試一下

相關推薦

javamail傳送郵件的時候附件變成bin

報錯:tcmime.1278.1278.1724.bin或ATT00001.bin,總之出現這個錯誤的原因是由於編碼格式不適合引起的錯誤 這個是我今天下午遇到的問題,搞了一下午,沒有解決,晚上下班回到

使用javamail傳送郵件(文字+附件

java發動郵件其實很簡單,這是使用Javamail來實現,使用maven管理 1.導包:這兩個包缺一不可 <dependency> <groupId>javax.mail</groupId>

javaMail傳送郵件,標題/發件人/附件名稱亂碼

javaMail傳送郵件subject會亂碼。 解決辦法: 方法一 在設定主題message.setSubject("なにがありましたら、伝えてくださいね"); 之前設定System.setProperty("mail.mime.charset","UTF-8"); 方法

通過javaMail傳送郵件,可選新增多個收件人,密送,抄送,多個附件,超實用

        自己通過學習多人的程式碼,並整理了一個簡單,呼叫方便的通過javaMail傳送郵件。只需填寫發件郵箱地址,密碼;收件人地址,附件,選擇是否儲存,設定自己傳送郵件時的暱稱就ok了。程式碼自動匹配設定smtp服務地址和埠。    傳送郵件需要郵箱地址和密碼,開啟P

javamail傳送郵件附件名顯示為亂碼的解決

在使用javamail api開發郵件服務系統時,我們常常會碰到中文亂碼問題。傳送名稱含中文的附件到郵件伺服器,用別的郵件接收程式接收到的附件名顯示為亂碼解決辦法:在呼叫MimeBodyPart的setFileName()時使用MimeUtility進行編碼。例如:// mb

JavaMail傳送郵件(帶附件)

import javax.mail.*; import javax.mail.internet.*; import java.util.*; import javax.activation.*; public class SendMail2 {     private String host = ""

JavaMail傳送郵件時出現MailSSLSocketFactory異常問題

昨天晚上在調畢業設計程式的時候,系統中有一個傳送郵件的功能,但是在點擊發送後,程式報了錯,異常資訊是 java.lang.ClassNotFoundException: com.sun.mail.util.MailSSLSocketFactory,然後第一反應是jar包中沒有這個類,然後在ma

Spring JavaMail傳送郵件

JavaMail的介紹      JavaMail,顧名思義,提供給開發者處理電子郵件相關的程式設計介面。它是Sun釋出的用來處理email的API。它可以方便地執行一些常用的郵件傳輸。    雖然JavaMail是Sun的A

SpringBoot整合JavaMail傳送郵件 --轉載

JavaMail是SUN提供給廣大Java開發人員的一款郵件傳送和接受的一款開源類庫,支援常用的郵件協議,如:SMTP、POP3、IMAP,開發人員使用JavaMail編寫郵件程式時,不再需要考慮底層的通訊細節如:Socket而是關注在邏輯層面。JavaMail可以傳送各種複雜MIME格式的郵件內容

java使用javamail傳送郵件

1.pom.xml檔案配置 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.

利用JavaMail傳送郵件:smtp.163.com

一、利用JavaMail傳送郵件案例: 1、maven專案結構: 2、先在pom.xml裡邊加入Javamail依賴,系統會根據座標自動下載mail包(前提是配置好了maven): 3、配置email.properties屬性檔案,主要是為了不更改程式碼的前提下,該改變傳送郵件的一些基本資訊:

Android 使用javamail傳送郵件

專案需要activation.jar,additionnal.jar,mail.jar 下載三個包 編寫郵件傳送步驟: 設定伺服器 新增郵箱認證 設定認證的Session(重要) 根據Session獲取郵件物件(MimeMessage) 郵件物件的填充(發件人,收

JavaMail 傳送郵件的程式

JavaMail01:  package com.yuming.test; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail

JavaMail傳送郵件API簡單介紹

主要API: 1、Message類:建立解析郵件的內容 2、Transport類:傳送郵件的API 3、Store類:接收郵件的API 4、Session類:配置郵件伺服器的主機名,埠號,採用的郵件傳送和接收的協議。 JavaMail傳送郵件相關的jar包: 1、activ

利用JavaMail傳送郵件示例

    最近閒來無事,為了鞏固一下知識點,寫了一個利用JavaMail傳送郵件的例子。只寫了一個傳送的例子,以後有時間再寫下接收的例子。 1、簡單介紹一下JavaMail的傳送步驟 根據郵件會話屬性和密碼驗證器構造一個傳送郵件的session會話 通過session會話

使用javamail傳送郵件

在java web專案我們經常會使用到傳送郵件,比如傳送告警通知,對實時性要求不太高的專案就可以發郵件,畢竟是免費的嘛,這裡寫了幾段java傳送郵件的程式碼,參考http://www.iteye.com/topic/352753,自己又改了一下,比如傳送附件,多個抄送人等。

android javamail傳送郵件zip壓縮包在qq郵箱不顯示字尾名問題

其實這就是zip包名中文亂碼, MimeBodyPart attachmentPart = new MimeBodyPart();           FileDataSource fds = new FileDat

airflow EmailOperator 傳送郵件 附件檔名丟失或亂碼問題

開始使用airflow 最早開始使用airflow是因為公司的服務過度 依賴crontab了,完全通過時間進行任務排程,而且不便於追蹤任務執行情況,也不好處理任務之間的依賴關係。更不要說管理多伺服器的crontab問題了。 於是自己進行軟體選型,查閱相關資料。因為本身是做資料工作的,

Jenkins+jmeter 分散式執行並對生成的Html結果壓縮後傳送郵件附件

Jenkins+jmeter 分散式執行,Html結果壓縮後傳送郵件附件 1. 在構建模組中的window命令欄填入Jmeter No Mode命 “@echo off jmeter -n -t F:\apache-jmeter-3.2\apache-

spring boot 用javaMail傳送郵件,很多坑

直接傳送總是報錯 554 dt:spm 被163攔截,認為非法,抄送一份給自己就解決了。但是顯示抄送人,很煩。 service層 package com.llong.email.mail; import org.springframework.beans.factory.anno