首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Struts+邮件发送系统(增添附件)

2012-12-28 
Struts+邮件发送系统(添加附件)2011/01/04实现邮件发送功能:1.Struts配置以及jar包导入2.mail.jar,activat

Struts+邮件发送系统(添加附件)

2011/01/04

实现邮件发送功能:

1.Struts配置以及jar包导入

2.mail.jar,activation.jar导入(邮寄发送需要这两个jar)

3.创建EMAIL.properties文件存放参数文件

serverSend=smtp.126.com
serverReceive=smtp.qq.com

4.读取配置文件,实现发送邮件,代码:

?

??public static void sendEmail(EmailBean eb){
???? try {
???? ?//String pash = System.getProperty("user.dir");
???? ?Properties p=new Properties();
????? FileInputStream? in = new? FileInputStream("D:/workspaces/Email/src/com/email/EMAIL.properties");
????? p.load(in);
????? serverSend = p.getProperty("serverSend");
????? serverReceive = p.getProperty("serverReceive");
????? userName = p.getProperty("userName");
????? userPass = p.getProperty("userPass");
????? sendEmail = p.getProperty("sendEmail");
???? ?String title = eb.getTitle();
???? ?String content = eb.getContent();
???? ?String filef = eb.getFilef();
???? ?String filenames[] = filef.split("\\\");
???? ?String filename = filenames[filenames.length-1];
????? title = new String(title.getBytes("GBK"));
????? content = new String(content.getBytes("GBK"));
????? filename = new String(filename.getBytes("GBK"),"ISO-8859-1");
???? ?Properties props = new Properties();
???? ?props.put("mail.smtp.host",serverSend);//指定SMTP服务器??
??????props.put("mail.smtp.auth","true");//指定是否需要SMTP验证
??????Session mailSession = Session.getDefaultInstance(props);
??????mailSession.setDebug(true);//是否在控制台显示debug信息????
??????Message message=new MimeMessage(mailSession);??
??????message.setFrom(new InternetAddress(sendEmail));//发件人??
??????message.addRecipient(Message.RecipientType.TO,new InternetAddress(eb.getEmail()));//收件人?????
??????message.setSubject(title);//邮件主题??
??????//message.setText(content);//邮件内容??
????????????
???????MimeBodyPart messageBodyPart = new MimeBodyPart();
???????messageBodyPart.setText(content);? //发送普通内容邮件

???????messageBodyPart.setDataHandler(new DataHandler("<hr><hr><table><tr><td>测试</td><td>111</td></tr></table>","text/html;charset=GBK"));?? //发送HTML格式邮件????????????
???????Multipart multipart = new MimeMultipart();
???????multipart.addBodyPart(messageBodyPart);

???????messageBodyPart = new MimeBodyPart();
???????DataSource source =? new FileDataSource(filef);//附件地址
???????messageBodyPart.setDataHandler(new DataHandler(source));
???????messageBodyPart.setFileName(filename);//显示附件时显示的名字
???????multipart.addBodyPart(messageBodyPart);
????????????
???????message.setContent(multipart);
???????message.setSentDate(new Date());
???????message.saveChanges();??
?????????
???????Transport?? transport =?? mailSession.getTransport("smtp");??
???????transport.connect(serverSend,userName,userPass);????
???????transport.sendMessage(message,message.getAllRecipients());??
???????transport.close();?
???? } catch (Exception e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}
??
?}

?

EmailBean主要存放发送邮件地址,主题,内容,添加附件……

注意:附件名称显示中文乱码显示问题,要用new String(filename.getBytes("GBK"),"ISO-8859-1")进行转码……

发送HTML邮件和发送普通文本邮件不能共存……

热点排行