在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ Java Mail 發(fā)送郵件(帶附件) 已成功,但是附件預(yù)覽錯(cuò)誤且無(wú)法下載

Java Mail 發(fā)送郵件(帶附件) 已成功,但是附件預(yù)覽錯(cuò)誤且無(wú)法下載

Java Mail 發(fā)送郵件(帶附件) 已成功,但是附件預(yù)覽錯(cuò)誤且無(wú)法下載

clipboard.png

一開(kāi)始我以為是文件編碼的問(wèn)題,嘗試過(guò)改變文件的編碼,但是依舊如此;但是,當(dāng)我反過(guò)來(lái)從 QQ 郵箱發(fā)送郵件到 yeah 郵箱時(shí),發(fā)現(xiàn)是沒(méi)有問(wèn)題的

下面是我的代碼

/**
     * 發(fā)送帶附件的郵件(多個(gè)+正文)
     */
    @Test
    public void test3() throws AddressException, Exception{
        
        //1)創(chuàng)建Session    - 連接郵件服務(wù)器
        Properties props = new Properties();
        //郵件服務(wù)器地址   // smtp
        props.setProperty("mail.smtp.host", "smtp.yeah.net");
        //是否開(kāi)啟加密驗(yàn)證登錄
        props.setProperty("mail.smtp.auth", "true");
        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("synchronization@yeah.net","hdljd1lzsx");
            }
        });
        
        //開(kāi)啟debug,可以看到發(fā)送郵件的過(guò)程
        session.setDebug(true);
        
        //2)創(chuàng)建一封郵件    -- 設(shè)置郵件內(nèi)容
        MimeMessage mail = new MimeMessage(session);
        //發(fā)件人
        mail.setFrom(new InternetAddress("synchronization@yeah.net"));
        //收件人
        mail.setRecipient(RecipientType.TO, new InternetAddress("1286640174@qq.com"));
        //標(biāo)題
        mail.setSubject("周末遠(yuǎn)程會(huì)議研討");
        
        //裝載郵件數(shù)據(jù)
        MimeMultipart mmp = new MimeMultipart();
        
        MimeBodyPart content = new MimeBodyPart();
        MimeBodyPart attachment1 = new MimeBodyPart();
        
        
        
        String filename = "緩存.txt";
        
        attachment1.attachFile(new File("src\\緩存.txt"));
        
        attachment1.setFileName(MimeUtility.encodeWord(filename));
        
        content.setText("帶附件郵件的正文");
        
        mmp.addBodyPart(content, 0);
        mmp.addBodyPart(attachment1, 1);
        
        mail.setContent(mmp);
        
        //3)發(fā)送郵件 
        Transport.send(mail);
    }

當(dāng)然我也嘗試過(guò)發(fā)送其他文件,如圖片

@Test
    public void test3() throws AddressException, Exception{
        
        //1)創(chuàng)建Session    - 連接郵件服務(wù)器
        Properties props = new Properties();
        //郵件服務(wù)器地址   // smtp
        props.setProperty("mail.smtp.host", "smtp.qq.com");
        //是否開(kāi)啟加密驗(yàn)證登錄
        props.setProperty("mail.smtp.auth", "true");
        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("1286640174@qq.com","kdfaltvozuzybaae");
            }
        });
        
        //開(kāi)啟debug,可以看到發(fā)送郵件的過(guò)程
        session.setDebug(true);
        
        //2)創(chuàng)建一封郵件    -- 設(shè)置郵件內(nèi)容
        MimeMessage mail = new MimeMessage(session);
        //發(fā)件人
        mail.setFrom(new InternetAddress("1286640174@qq.com"));
        //收件人
        mail.setRecipient(RecipientType.TO, new InternetAddress("synchronization@yeah.net"));
        //標(biāo)題
        mail.setSubject("周末遠(yuǎn)程會(huì)議研討");
        
        //裝載郵件數(shù)據(jù)
        MimeMultipart mmp = new MimeMultipart();
        
        MimeBodyPart content = new MimeBodyPart();
        MimeBodyPart attachment1 = new MimeBodyPart();
        
        
        
        String filename = "1.jpg";
        
        attachment1.attachFile(new File("src\\1.jpg"));
        
        attachment1.setFileName(MimeUtility.encodeWord(filename));
        
        content.setText("帶附件郵件的正文");
        
        mmp.addBodyPart(content, 0);
        mmp.addBodyPart(attachment1, 1);
        
        mail.setContent(mmp);
        
        //3)發(fā)送郵件 
        Transport.send(mail);
    }

//下面的是項(xiàng)目目錄結(jié)構(gòu)

----- src
    ---- 緩存.txt
    ---- com.kongzi.test
        ---- MailTest.java

但是出現(xiàn)長(zhǎng)時(shí)間的等待,控制臺(tái)一堆亂碼
9qgaQxM0cYMKglGIyM98/gfxrkTqzIZQZSyFDsUkkBieT+PFIt4s5XgF22gYO0ZPHJJ4qHWkTGgr
HcSvZtJ5EU8Vyy7gHikBGAPfnpTRYwSSYEmD5mEZ3wpGCMdO/FcZHdyyuQgMbxE7g0nIAOO/etW3
uZlYW22WSQShAXQhVOCcMe3APU1zTrSLVBG9Po0aShZJPJjC7ndVLjq3TA64A49q24NFEAljhl8w
DftZVyQQPcccDNcmtyjx+VKWik4CruCrvY4Kkk8da0LbUokKBJbl25MZeckjhc8Z4AxjNcrqu+pL
os2buCWCSJYonminVSJSoUEEcnjtkH8qxbq1lcFo41STY2WQbAWI46g45P6Vbt7/AH3MUc0jvJLO
E+YBVQc49gB/nmrskyeahhlkQgjJRsA9fb1A/Ku6hV7mfs2noQOJBCxhWOSUIREjDALYOPm28Dn9
KnksY5os7FVmiAfsSOcLnHPJ6Vbe3RVQIZnaZ2Zf3mdqD1GOSc9e2KuwQyK0UlrcMkgwyFXIZTnj
kDrXpQlF6lRTTMmKW50+O3eyRoPKmJjVHwXJVhySvTOCa9X8GfG/xf4W1G98m5v7i0W2HnWF5c7L
edtpCiNwpZGA3AY4BOSOlec6hEWijiZmd+xOCAo6VzModAXcvtywKyKVwQSCcf1r0aVfkR206sY7
n60eA/2gfDWv22nxX01ro2vSBU1XS7oeWkDI+GjjkYKZSQc7mCkZ+7XvFpriajJKtvc/a2WREVbZ
AUQjf8yuBhieO54Ar8MoNRupEt1iaZoYJBcoVY+S7EoQQd3O7Zg8cgV7f4K+NmveGYoYLW61aOKa
4kY20swk2jIby9yfcBTcNxzjHvXfQzaVF6msuSauj9eI1DyXDvFb2d3HE5umwquzAE/dwecucD/a
qV7p0WWENaEyKFkkO0BQRnDED0Yce4r5M8O/tP8AhfVNLmt76We3nu9xN/bQjZJHtyNsYDEbcD5j
1ycV7To3xJ8F+IEhga9juheRAy290qxq0cgwqnPB+8n4H619Lhc4o1t2ctXR2TPRZIbsARyMVQGR
gUTaGbC89SQMsas29kIrV5pZ9txLarEPk2SKqcDliSxyxOenNXLW60+cLdW8odHtQu2C9BJRnALb
MgFRxz3zxUwis7eFBG0mPNAVfODkAkIWyzdAK9uGKpTjozmcZXMMxyQpFEI5Z5doRp5GUtICTkkl
QAAM1tWk08ccTySIiJMHCR8kk7gytkcDnIIPU01klQFbC2s3jaXEss4VWB3A4JByCcnj8axSbx1j
1W5t5vsjT3KyIuVj4kcJnCghdo4x1HSk5czKTS3Oij1jyYZUghWRORJ9ojLsVBwcgkZGM1gSeJ8y
KqtarOsQbfHD8hUkFiig56E/TNZ/2V49hjHmfMwkMcb4U7iSQCAckZ55HNMgs5Fja5uobN7gSh4V
htiqouBtyGZssDk5GBzwK0i0i01JFs621zEsq3Ak3yiOyEUJ3SR7GO7PO5cA8nt0qx/pOYSVZ98p
XyyzMDxjLZPAGCcjFXYJbKOeIzadblo7WUfafsofa7E5K/LlS2eQOtWVitoZJJlXysk8RDBA2seh
Xk7sfnUylcylAyoImSEXE93aLDIkcLzMcF2UEqR1IGT0J7itmya1LSvZ31lciWUBhDGzMpG7ALFB
gc5wPWs6fUEgtl8tdkmZHXT5mIkUkMzABEYZLY9ByMVajmEBhtlS1tzNKzIN/wA+4nc4ZAMAYI+b
java.net.SocketException: Connection reset by peer: socket write error

at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
.......

希望大神們能夠指點(diǎn)一二

回答
編輯回答
舊城人

你好,試過(guò)了,發(fā)郵件的代碼是沒(méi)問(wèn)題的,我發(fā)了張圖片是可以正常打開(kāi)的,至于文中提到的問(wèn)題可以參考以下文章
https://blog.csdn.net/cui2107...
還有一點(diǎn)建議:看異常建議優(yōu)先查看Caused by那一段
希望對(duì)你有所幫助,謝謝

2017年11月24日 08:03