java无法下载附件_Java Mail 发送邮件(带附件) 已成功,但是附件预览错误且无法下载...

Java Mail 发送邮件(带附件) 已成功,但是附件预览错误且无法下载

d081856fcae8f4342ed0d449c8ddcc20.png

一开始我以为是文件编码的问题,尝试过改变文件的编码,但是依旧如此;但是,当我反过来从 QQ 邮箱发送邮件到 yeah 邮箱时,发现是没有问题的

下面是我的代码

/**

* 发送带附件的邮件(多个+正文)

*/

@Test

public void test3() throws AddressException, Exception{

//1)创建Session - 连接邮件服务器

Properties props = new Properties();

//邮件服务器地址 // smtp

props.setProperty("mail.smtp.host", "smtp.yeah.net");

//是否开启加密验证登录

props.setProperty("mail.smtp.auth", "true");

Session session = Session.getInstance(props, new Authenticator() {

@Override

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("synchronization@yeah.net","hdljd1lzsx");

}

});

//开启debug,可以看到发送邮件的过程

session.setDebug(true);

//2)创建一封邮件 -- 设置邮件内容

MimeMessage mail = new MimeMessage(session);

//发件人

mail.setFrom(new InternetAddress("synchronization@yeah.net"));

//收件人

mail.setRecipient(RecipientType.TO, new InternetAddress("1286640174@qq.com"));

//标题

mail.setSubject("周末远程会议研讨");

//装载邮件数据

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)发送邮件

Transport.send(mail);

}

当然我也尝试过发送其他文件,如图片

@Test

public void test3() throws AddressException, Exception{

//1)创建Session - 连接邮件服务器

Properties props = new Properties();

//邮件服务器地址 // smtp

props.setProperty("mail.smtp.host", "smtp.qq.com");

//是否开启加密验证登录

props.setProperty("mail.smtp.auth", "true");

Session session = Session.getInstance(props, new Authenticator() {

@Override

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("1286640174@qq.com","kdfaltvozuzybaae");

}

});

//开启debug,可以看到发送邮件的过程

session.setDebug(true);

//2)创建一封邮件 -- 设置邮件内容

MimeMessage mail = new MimeMessage(session);

//发件人

mail.setFrom(new InternetAddress("1286640174@qq.com"));

//收件人

mail.setRecipient(RecipientType.TO, new InternetAddress("synchronization@yeah.net"));

//标题

mail.setSubject("周末远程会议研讨");

//装载邮件数据

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)发送邮件

Transport.send(mail);

}

//下面的是项目目录结构

----- src

---- 缓存.txt

---- com.kongzi.test

---- MailTest.java

但是出现长时间的等待,控制台一堆乱码

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)

.......

希望大神们能够指点一二

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值