|
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.net.URI;/*** 读取邮件模板** @author wangzi6hao**/public class ReadTemplate { /** * 读取邮件模板 * * @param path * 模板网址路径 * @return */ public String readTemplate(String path) { String template = null; try { File file = new File(path); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis,"utf-8"); StringBuffer sb = new StringBuffer(); BufferedReader in = new BufferedReader(isr); while ((template = in.readLine()) != null) { sb.append(template); } template = sb.toString(); } catch (Exception e) { System.out.println("读取邮件模版文件出错!"); e.printStackTrace(); } return template; } public static void main(String[] args) throws ClassNotFoundException { ReadTemplate rt = new ReadTemplate(); Class theClass = ReadTemplate.class; String path = theClass.getResource("/").toString(); path = path.substring(0, path.indexOf("WEB-INF")); path = path + "emailTemplet/getUserPwd/index.html"; System.out.println(path); System.out.println(rt.readTemplate(path)); }} import java.util.Date;import java.util.Properties;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;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;import com.sun.mail.smtp.SMTPTransport;/*** 邮件发送类** @author wangzi6hao**/public class SendMail { // 以下为设置默认邮件内容 private String smtp = "XXX.XXX.com";// 发送服务器 private String sendEmail = "XXX@XXX.com";// 发送邮件邮箱 private String sendEmailPw = "XXX";// private String toEmail = "XXX@XXX.com"; private String mailTitle = "XXXX密码找回(请勿回复此邮件)"; private String mailContent = "没有定义邮件内容!";// 邮件内容 private String contentType = "text/html;charset=gb2312"; public boolean sendmail() { boolean isSend = false; try { Session sendMailSession = null; SMTPTransport transport = null; Properties props = new Properties(); // 与服务器建立Session的参数设置 props.put("mail.smtp.host", smtp); // SMTP服务器。 props.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证。 SMTPAuthenticator auth = new SMTPAuthenticator(sendEmail, sendEmailPw); // ,用户名,密码。 sendMailSession = Session.getInstance(props, auth); // 建立连接。 // SMTPTransport用来发送邮件。 transport = (SMTPTransport) sendMailSession.getTransport("smtp"); transport.connect(); // 创建邮件。 Message newMessage = new MimeMessage(sendMailSession); newMessage.setFrom(new InternetAddress(sendEmail)); newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));// 设置发送目标邮件 newMessage.setSubject(mailTitle);// 设置 newMessage.setSentDate(new Date()); // 使用MimeMultipart和MimeBodyPart才能发HTML格式邮件。 BodyPart bodyPart = new MimeBodyPart(); bodyPart.setContent(mailContent, contentType); // 发一个HTML格式的 Multipart mp = new MimeMultipart(); mp.addBodyPart(bodyPart); newMessage.setContent(mp); Transport.send(newMessage); isSend = true; } catch (MessagingException e) { System.out.println("error" + e.getMessage()); } return isSend; } public void setSmtp(String smtp) { this.smtp = smtp; } public void setSendEmail(String sendEmail) { this.sendEmail = sendEmail; } public void setSendEmailPw(String sendEmailPw) { this.sendEmailPw = sendEmailPw; } public void setToEmail(String toEmail) { this.toEmail = toEmail; } public void setMailTitle(String mailTitle) { this.mailTitle = mailTitle; } public void setMailContent(String mailContent) { this.mailContent = mailContent; } public void setContentType(String contentType) { this.contentType = contentType; } public static void main(String[] args) { ReadTemplate rt = new ReadTemplate(); Class theClass = ReadTemplate.class; String path = theClass.getResource("/").toString(); path = path.substring(0, path.indexOf("WEB-INF")); path = path + "emailTemplet/getUserPwd/index.html"; String emailContent = rt.readTemplate(path); System.out.println(emailContent); System.out.println("发送完成"); }} import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;public class SMTPAuthenticator extends Authenticator { private String user; private String password; public SMTPAuthenticator(String s, String s1) { user = s; password = s1; } public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user, password); }} 请到java.sun.com/products/javamail/ 下载javamail.我的版本是javamail-1.4.1
使用mail.jar 就可以了 |
|