1. 程式人生 > >EmailUtil

EmailUtil


import java.security.Security;
import java.util.Date;
import java.util.Properties;

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

/**
 * javaMail的郵件工具類
 *
 */
public class EmailUtils {
	
    /**
     * 使用加密的方式,利用465埠進行傳輸郵件,開啟ssl
     * @param to    為收件人郵箱
     * @param content    傳送的訊息
     */
	public static void sendEmail(String to, String title, String content) {
		try {
            Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
            final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
            //設定郵件會話引數
            Properties props = new Properties();
            //郵箱的傳送伺服器地址
            props.setProperty("mail.smtp.host", "smtp.163.com");
            props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
            props.setProperty("mail.smtp.socketFactory.fallback", "false");
            //郵箱傳送伺服器埠,這裡設定為465埠
            props.setProperty("mail.smtp.port", "465");
            props.setProperty("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.auth", "true");
            final String username = "admin";
            final String password = "1234";
            //獲取到郵箱會話,利用匿名內部類的方式,將傳送者郵箱使用者名稱和密碼授權給jvm
            Session session = Session.getDefaultInstance(props, new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(username, password);
                }
            });
            //通過會話,得到一個郵件,用於傳送
            Message msg = new MimeMessage(session);
            //設定發件人
           //設定自定義發件人暱稱  
            String from = "
[email protected]
.com"; String nick=""; nick = MimeUtility.encodeText("ADMIN_100"); msg.setFrom(new InternetAddress(nick+" <"+from+">")); //msg.setFrom(new InternetAddress("[email protected]")); //設定收件人,to為收件人,cc為抄送,bcc為密送 msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false)); //msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(to, false)); //msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(to, false)); msg.setSubject(title); //設定郵件內容 msg.setText(content); //設定傳送的日期 msg.setSentDate(new Date()); //呼叫Transport的send方法去傳送郵件 Transport.send(msg); } catch (Exception e) { e.printStackTrace(); } } }