JAvamail htmlメール送信
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 = "[email protected]";//
private String sendEmailPw = "XXX";//
private String toEmail = "[email protected]";
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を使えばいいです.