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 就可以了