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を使えばいいです.