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

我做的是用户找回密码的功能 当我引入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( " [email protected] " , " 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( " [email protected] " ); // 发送者邮箱; 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; } }

你可能感兴趣的:(javamail做用户密码找回功能出现的问题解决结果。)