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; } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章