javaweb傳送郵箱驗證
阿新 • • 發佈:2019-01-03
不一定成功傳送,不知道啥原因
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); } }