1. 程式人生 > >javaweb傳送郵箱驗證

javaweb傳送郵箱驗證

不一定成功傳送,不知道啥原因

package foreiger.utils;

import java.security.Security;
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.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.sun.net.ssl.internal.ssl.Provider;

public class MailUtils {
	private static final String username="";//郵箱使用者名稱,即QQ賬號
	private static final String password="";//郵箱授權碼
	private static String text="請點選下面的連結啟用您的郵箱<br><a href=http://zifurj.natappfree.cc/Foreigner/updatetx?yzm=#&email=;>"
			+ "http://zifurj.natappfree.cc/Foreigner/updatetx?yzm=#</a>";
	private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
	private static final String smtpHost="smtp.qq.com";//QQ郵箱伺服器
	private static final String from = "";//自己的郵箱
	public static void sendMail(String to,String emailMsg) throws AddressException, MessagingException {
		Security.addProvider(new Provider());
        Transport transport;
        MimeMessage message;
        Properties props = new Properties();
        props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
        props.setProperty("mail.smtp.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.port", "465");
        props.setProperty("mail.smtp.auth", "true");
        props.put("mail.smtp.host",smtpHost);
        props.put("mail.smtp.username", username);
        props.put("mail.smtp.password", password);
        props.put("mail.debug", "true");//沒什麼用
        Session session = Session.getDefaultInstance(props,  new Authenticator() {
            //身份認證
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });
        InternetAddress[] addresses = {new InternetAddress(to)};
        message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.setRecipients(Message.RecipientType.TO,addresses);
        message.setSubject("歪果仁外語交流平臺使用者郵箱啟用");
        message.setSentDate(new Date());
        String content=text.replaceAll("#", emailMsg).replaceFirst(";", to);
        message.setContent(content,"text/html;charset=utf-8");
        transport = session.getTransport("smtp");
        transport.connect(smtpHost, username, password);
        transport.send(message);
    }
}