javamail发送附件不通过也不报错

mayanqi 2010-02-24 04:33:33
发送附件的代码如下,使用的是struts,所以附件的上传是使用FormFile(mailForm
public void sendFile(MailForm mailForm,boolean debug) throws Exception
{
String from = mailForm.getFrom();
String to = mailForm.getTo();
String userName = mailForm.getUserName();
String password = mailForm.getPassword();
FormFile file = mailForm.getFile();
String content = mailForm.getContent();

String mailServer = this.getDomain(from);
Properties props = new Properties();
props.put("mail.smtp.host", mailServer);
props.put("mail.smtp.auth", "true");
props.put("mail.transport.protocol", "smtp");

Session session = Session.getInstance(props);
if(debug)
{
session.setDebug(debug);
}

Message msg = new MimeMessage(session);
BodyPart filePart = new MimeBodyPart();
String fileName = mailForm.getFile().getFileName();
//这个ByteDataSource是自己实现的DataSource
ByteDataSource dataSource = new ByteDataSource(file);
filePart.setDataHandler(new DataHandler(dataSource));
filePart.setFileName(fileName);

Multipart mulPart = new MimeMultipart();
mulPart.addBodyPart(filePart);

filePart = new MimeBodyPart();
filePart.setContent(content, "text/html;charset=gb2312");
mulPart.addBodyPart(filePart);

msg.setContent(mulPart);
msg.setSubject(mailForm.getSubject());
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSentDate(new Date());
msg.saveChanges();

Transport transport = session.getTransport();
transport.connect(userName, password);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
}
...全文
173 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayanqi 2010-02-25
  • 打赏
  • 举报
回复
自己搞定了!原来是邮件服务器的问题,只有163的可以收带附件的邮件!折磨了我好久啊!
hnnxzhoujia 2010-02-25
  • 打赏
  • 举报
回复
trying to connect to host "smtp.tom.com", port 25, isSSL false


JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

// 设定 Mail Server
senderImpl.setHost("------");

// SMTP验证时,需要用户名和密码
senderImpl.setUsername("aaa");
senderImpl.setPassword("bbb");
// 不设这个是不能用用户名密码通过验证发的
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
senderImpl.setJavaMailProperties(prop);
// 建立邮件讯息
MimeMessage mailMessage = senderImpl.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
true, "UTF-8");
// 设定收件人、寄件人、主题与内文
messageHelper.setTo("zhoujia@eastcom-sw.com");
messageHelper.setFrom("zhoujia@eastcom-sw.com");
messageHelper.setSubject("信息报告");
messageHelper.setText("<html><head></head><body><h1>消息接收,请您查阅附件"
+ "</h1></body></html>", true);
// 发附件,这里附件可以多个,只要再NEW一个FILE,再ADD一次,即可
File files = new File(path+"\\"+"信息报送"+"_"+date+".xls");
System.out.println("name="+files.getName());

messageHelper.addAttachment(MimeUtility.encodeWord(files.getName()),
files);
// 传送邮件
senderImpl.send(mailMessage);
System.out.println("is ok");
chenpupeng 2010-02-25
  • 打赏
  • 举报
回复
wudinick 2010-02-25
  • 打赏
  • 举报
回复
是不是附件的文件名的有问题呢
小小都不懂 2010-02-25
  • 打赏
  • 举报
回复
友情帮顶 望 高手来解决
chaozeng 2010-02-24
  • 打赏
  • 举报
回复
我以前也试着用过javamail发邮件 ,但没有发送成功, 我也希望有高手来解决 !
mayanqi 2010-02-24
  • 打赏
  • 举报
回复
谢谢你了,各位有钱的捧个钱场,有人的捧个人场啊!
牛叔 2010-02-24
  • 打赏
  • 举报
回复
没弄过
只能给你顶上去了。。。。
mayanqi 2010-02-24
  • 打赏
  • 举报
回复
控制台中显示的Debug如下:
DEBUG: setDebug: JavaMail version 1.4.3
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.tom.com", port 25, isSSL false
220 cnapp12.tom.com KBAS is ready
DEBUG SMTP: connected to host "smtp.tom.com", port: 25

EHLO 192.168.0.10
250-cnapp42
250-LININGPIPE
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
DEBUG SMTP: Found extension "LININGPIPE", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
AUTH LOGIN
334 VXNlcm5hbWU6
eGlhb21heWFucWk=
334 UGFzc3dvcmQ6
MzcyNDYzNTg=
235 Authentication successful
DEBUG SMTP: use8bit false
MAIL FROM:<xiaomayanqi@tom.com>
250 Ok
RCPT TO:<mayanqitony@sohu.com>
250 Ok
DEBUG SMTP: Verified Addresses
DEBUG SMTP: mayanqitony@sohu.com
DATA
354 Send from Rising mail proxy
Date: Wed, 24 Feb 2010 16:21:29 +0800 (CST)
From: xiaomayanqi@tom.com
To: mayanqitony@sohu.com
Message-ID: <31196317.11.1266999689387.JavaMail.mayanqi@mayanqi-PC>
Subject: subject
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_10_16126503.1266999689382"

------=_Part_10_16126503.1266999689382
Content-Type: image/pjpeg; name=27474342.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=27474342.jpg
7O97kHn1x4cT0e8rrllC+E7g+1se8okhy6prDPCrGUalA6DoPf1wsUFalNRRmSS7HnYG1sW8yzSn
iWGZGB/7TimoG5YSrgz7WtK06iYLGoJbSOl8B+IZo5IFgBsCbkg9MS5jWwKUaSVmmYljYG2FrNZ2
N5S5ZQLm3kMZ6qSwjhPEX+K6o/Exwp4NO4Xyxt3CBZeEqBp2A1UybnkBbHO9XO1VVtM5/E17+mOg
ZVWZjmf/2S8qICB8eEd2MDB8MTY0MzRjMWZhOGEwNzRiOGU4MGRkZWI2MTRkODk2YWYgKi8=
------=_Part_10_16126503.1266999689382
Content-Type: text/html;charset=gb2312
Content-Transfer-Encoding: 7bit

ffff
------=_Part_10_16126503.1266999689382--
.
250 QUIT
DEBUG SMTP: EOF: [EOF]
不多说,懂得人看名字就能知道,挺好的一套案例,包含讲解视频和完整案例。 内容: 『课程目录』: ├─众筹项目-第01天《Atcrowdfunding》3 n7 ]2 w M, M1 ^ ^& P │ ├─代码 - G( G, ]4 n, n! y3 k! o │ ├─笔记 │ └─视频# w6 }: r+ B& @" Q& \' \! J │ 2. 互联网金融介绍 │ 3. 众筹介绍 │ 4. 尚筹网-项目范围-项目简单介绍 │ 5. 尚筹网-人员组织结构-周期5 f: j* \5 W9 _ │ 6. 项目需求分析 │ 7.物理数据模型(PDM) -- 数据库设计 (PowerDesigner) │ 8.UML建模语言,-开发设计工具Rational_Rose │ 9.Maven项目模块划分-说明 │ 10.Maven项目模块划分-创建项目 │ 11.Maven项目模块划分-引用依赖包( f- {5 L4 F2 i8 z+ c* U │ 12.项目环境搭建细节-监听器 │ 13.项目环境搭建细节-过滤器 │ 14.项目环境搭建细节-核心控制器 │ 15.项目环境搭建细节-spring-springmvc相关配置-创建包结构% y& q( J; t$ J; t' ^5 t │ 16.项目环境搭建-跑通整个流程4 n. \. k! \1 r. s │ , b2 `. m2 c0 O5 H; Z1 z/ D ├─众筹项目-第02天《Atcrowdfunding》 │ ├─代码 │ ├─笔记! L K( i5 j2 w7 P& F0 J- ]& g │ └─视频 │ 1.问题一箩筐-开发规范- |7 z6 a. H$ Y2 X │ 2.问题一箩筐-Bean对象依赖异常 │ 3.问题一箩筐-扫描包,以及spring配置文件标签报错) h5 O# v1 e1 U# N │ 4.问题一箩筐-jdbc.properties属性文件设置错误,无法连接数据库, Q) {; h4 t( ?: r& ^ │ 5.问题一箩筐-关于url扩展名称问题 │ 6.问题一箩筐-关于打印日志log4j问题5 y: }- e: Z$ p6 X9 d0 A9 @ │ 7.问题一箩筐-生产环境模拟, y; v4 Z% p0 }& I+ X* B) t# j │ 8.问题一箩筐-相对路径和绝对路径 │ 9.问题一箩筐-自定义监听器,解决上下文路径使用问题 │ 10.问题一箩筐-重载-笔试题+ i4 I$ j6 d/ [- j: d │ 11.问题一箩筐-悲观锁和乐观锁7 L; ^; s& i# h/ l8 O$ m/ \' F │ 12.登录业务介绍-界面介绍! Z9 ?( h9 e$ s, L. Z │ 13.登录业务流程-代码 │ 14.Bootstrap介绍 │ 15.登录功能分析-时序图+ \0 D3 j3 D; V │ 16.登录功能-创建组件(bean,mapper,service,controller) │ 17.登录功能-同步请求方式) B+ ?3 A S/ A │ 18.将代码提交到SVN │ ) H4 U& n2 P) M+ P7 \ ├─众筹项目-第03天《Atcrowdfunding》 │ ├─代码 " A! H. }6 I. b! C │ ├─笔记 │ └─视频 │ 1-项目功能介绍.( A$ d B; a6 G' j) x2 k │ 2-字体图标 z8 P" l7 b* p% @. E% K │ 3-登录功能-异步请求开发方式 │ 4-trim()-表单数据校验 │ 5-解决回显数据问题 │ 6-异步开发原理-解决页面闪烁问题 │ 7-登录功能异步开发总结 │ 8

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧