怎样用javamail发送带附件的邮件(100分相送)(100分)

  • 主题发起人 主题发起人 qhf21cn
  • 开始时间 开始时间
Q

qhf21cn

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用javamail发送带附件的邮件(此javamail程序需要部署到应用服务器上,由客户端上传附件后,再由javamail将附件发送到邮件服务器中),请提供具体代码,谢谢!!
 
Properties props = System.getProperties();
// -- 连接一个缺省会话,或新建一个 --
props.put("mail.smtp.host","smtp.qq.com");
props.put("mail.smtp.auth","true");//同时通过验证
Session newsession = Session.getDefaultInstance(props,null);
newsession.setDebug(true);
// -- 创建一个新消息 --
MimeMessage msg = new MimeMessage(newsession);
// -- 设置 FROM 和 TO 域 --
msg.setFrom(new InternetAddress("105122033@qq.com"));
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse("105122033@qq.com",false));
// --我们也可以包含 CC 收件人 --群发
// if (cc != null)
// msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc, false));
// -- 设置 subject 和 body 文本 --
msg.setSubject("测试");

//带附件
File file=new File("C://test.txt");

MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText("测试内容。");
MimeBodyPart mbp2 = new MimeBodyPart();
FileDataSource fds = new FileDataSource(file);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);
msg.setContent(mp);


// -- 设置其他一些标头信息--
msg.setHeader("X-Mailer","JavaMail");
msg.setSentDate(new java.util.Date());
// -- 发送消息 --
Transport transport=newsession.getTransport("smtp");
transport.connect("smtp.qq.com","105122033@QQ.com","chengang");//以smtp方式登录邮箱
transport.sendMessage(msg,msg.getAllRecipients());//发送邮件,其中第二个参数是所有
transport.close();
System.out.println("Message sent OK.");
 

Similar threads

D
回复
0
查看
827
DelphiTeacher的专栏
D
D
回复
0
查看
782
DelphiTeacher的专栏
D
后退
顶部