您的位置:首页 > 编程语言 > Java开发

java 发送邮件

2015-07-21 18:53 645 查看
import java.util.Date;  
import java.util.Properties;  

import javax.mail.Authenticator;  
import javax.mail.Message;  
import javax.mail.MessagingException;  
import javax.mail.PasswordAuthentication;  
import javax.mail.Session;  
import javax.mail.Transport;  
import javax.mail.internet.InternetAddress;  
import javax.mail.internet.MimeMessage;  

/** 
 *  
 * @author Qixuan.Chen 
 */ 
public class SendEmail {  
     /*
      * 发件人的@后一定要和服务器的一致
      * 例如
      * smtp.126.com
      ***********@126.com
      * smtp.163.com
      ***********@163.com
      * smtp.qq.com
      * **********@qq.com

      *
      */

    public static final String HOST = "smtp.126.com";  
    public static final String PROTOCOL = "smtp";     
    public static final int PORT = 25;  
    public static final String FROM = "**********@126.com";//发件人的email  
    public static final String PWD = "**********";//发件人密码  

    /** 
     * 获取Session 
     * @return 
     */ 
    private static Session getSession() {  
        Properties props = new Properties();  
        props.put("mail.smtp.host", HOST);//设置服务器地址  
        props.put("mail.store.protocol" , PROTOCOL);//设置协议  
        props.put("mail.smtp.port", PORT);//设置端口  
        props.put("mail.smtp.auth" , true);  

        Authenticator authenticator = new Authenticator() {  

            @Override 
            protected PasswordAuthentication getPasswordAuthentication() {  
                return new PasswordAuthentication(FROM, PWD);  
            }  

        };  
        Session session = Session.getDefaultInstance(props , authenticator);  

        return session;  
    }  

    /*
     * @parameter title  邮件的主题
     * @parameter toEmail  收件人的邮箱
     * @parameter content 发送的内容
     * */
    public static void send(String title,String toEmail , String content) {  
        Session session = getSession();  
        try {  
            System.out.println("--send--"+content);  
            // Instantiate a message  
            Message msg = new MimeMessage(session);  

            //Set message attributes  
            msg.setFrom(new InternetAddress(FROM));  
            InternetAddress[] address = {new InternetAddress(toEmail)};  
            msg.setRecipients(Message.RecipientType.TO, address);  
            msg.setSubject(title);  
            msg.setSentDate(new Date());  
            msg.setContent(content , "text/html;charset=utf-8");  

            //Send the message  
            Transport.send(msg);  
        }  
        catch (MessagingException mex) {  
            mex.printStackTrace();  
        }  
    }  
  public static void main(String[] args) {
  send("激活信息","**********@163.com" , "http://**********/ftcms");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: