javamail做用户密码找回功能出现的问题解决结果。

来源:互联网 发布:淘宝进货货源 编辑:程序博客网 时间:2024/06/08 05:36

我做的是用户找回密码的功能 当我引入SendMail.java就出错java.lang.reflect.InvocationTargetException 解决方法是mail.jar和activation.jar没有导入

Java code
SendMail send = new SendMail();int count=send.sand(userVO.getEmail(),"密码找回",content,path);


Java code
/* * Sendmain.java * 2007.6.19:15:07 @ in pnetp.com */package com.util;import java.util.Date;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;public class SendMail{ //Smtp服务IP; private String host = null; //发送者邮箱; private String from = null; //接收者邮箱; private String to = null; //本地附件; private String fileAttachment = null; //邮件主题; private String subject = null; //邮件内容; private String text = null; public String getFileAttachment() { return fileAttachment; } public void setFileAttachment(String fileAttachment) { this.fileAttachment = fileAttachment; } public String getFrom() { return from; } public void setFrom(String from) { this.from = from; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getTo() { return to; } public void setTo(String to) { this.to = to; } public boolean sendM(){ try{ // system properties java.security.Security .addProvider(new com.sun.net.ssl.internal.ssl.Provider()); final Properties props = new Properties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.starttls.enable","true"); props.put("mail.smtp.host", host); props.put("mail.smtp.port", "465"); props.put("mail.smtp.timeout","25000"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false"); // 获取 session Session sendMailSession = Session.getInstance(props,new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("jilinchuangxin@gmail.com", "sinew2009"); } }); // 声名 message MimeMessage message = new MimeMessage(sendMailSession); message.setFrom( new InternetAddress(from)); message.addRecipient( Message.RecipientType.TO, new InternetAddress(to)); message.setSubject(subject); message.setSentDate(new Date()); // 建立 message part MimeBodyPart messageBodyPart = new MimeBodyPart(); //内容; messageBodyPart.setText(text); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // 附件; messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(fileAttachment); messageBodyPart.setDataHandler( new DataHandler(source)); messageBodyPart.setFileName(fileAttachment); multipart.addBodyPart(messageBodyPart); message.setContent(multipart); // 发送邮件; Transport.send(message); return true; }catch(MessagingException m){ m.printStackTrace(); return false; } } public int sand(String to,String title,String text,String fujian){ SendMail sm = new SendMail(); sm.setFileAttachment(fujian); //本地附件; sm.setFrom("jilinchuangxin@gmail.com"); //发送者邮箱; sm.setTo(to); //接收者邮箱; sm.setHost("smtp.gmail.com"); //Smtp服务IP; sm.setSubject(title); //邮件主题 sm.setText(text); //邮件内容 int i=-1; if(sm.sendM()){ i=1; }else{ i=2; } return i;} }
原创粉丝点击