Properties props= new Properties();
props.put("mail.smtp.auth", "true");
Session session= Session.getDefaultInstance( props);
Transport transport= session.getTransport("smtp");
MimeMessage msg= new MimeMessage( session);
msg.setFrom( new InternetAddress( "james.hu@chinacodeline.com", "foxgem"));
msg.setRecipient( MimeMessage.RecipientType.TO
, new InternetAddress("foxgem_magic@yahoo.com.cn"));
msg.setSubject("mail with single file");
//把邮件内容看作多个组成部分,每部分分别组织自己的内容。最后
//通过这个类组合起来一起发出。
MimeMultipart content= new MimeMultipart();
MimeBodyPart part1= new MimeBodyPart();
part1.setText("pls check the file");
MimeBodyPart part2= new MimeBodyPart();
//附件如果是文件,一般都是使用FileDataSource
//如果是从其他方面获得,那么使用对应的DataSource。
//如,若是来自url,那么就使用URLDataSource
DataHandler dh= new DataHandler( fileDs);
part2.setDataHandler( dh);
//标记为附件,否则当邮件客户端(如OE)收到后,直接在邮件中显示内容。
part2.setDisposition( MimeBodyPart.ATTACHMENT);
//设置附件的文件名
part2.setFileName( "test.txt");
content.addBodyPart( part1);
content.addBodyPart( part2);
msg.setContent( content);
msg.saveChanges();
transport.connect("mail.chinacodeline.com", "james.hu@chinacodeline.com", "密码");
transport.sendMessage( msg, msg.getAllRecipients());
transport.close();
DataSource fileDs= new FileDataSource( "d:/test.txt");
|