1. 程式人生 > >java發送郵件

java發送郵件

toc pack tac 設置 use 發送 發件人 qq郵箱 nec

前提:導入發Java郵件的jar包:
activation.jar additionnal.jar(第三方客戶端,沒有時會) mail.jar
additionnal.jar(第三方客戶端,沒有時會出現在什麽路徑下,系統文件找不到)
步驟一:編寫發郵件類
package com.gl.util;


import java.util.Properties

import javax.mail.*;
import javax.mail.internet.*;


public class MailUtil {
//傳入發郵件的地址和郵件激活碼
public static void sendMail(String to,String code){
//發送郵件的服務器
String host = "smtp.qq.com";
//用戶名
String username="[email protected]

/* */";
//第三方客戶端驗證密碼,需要在QQ郵箱的賬戶/SMTP/POP3/IMAP下開啟/SMTP/POP3
//發短信得到第三方客戶端登錄驗證密碼
String password="************";
//Session對象
Properties props = new Properties();
props.put("mail.smtp.host", host);
//發送郵件的端口號
props.put("mail.smtp.port", "465");
/* props.put("mail.transport.protocol", "smtp");*/
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable","true");///使用 STARTTLS安全連接
props.put("mail.debug", "true");
Session session = Session.getDefaultInstance(props);

//Message對象
MimeMessage message = new MimeMessage(session);
// 設置發件人
try {
message.setFrom(new InternetAddress(username));
//設置收件人
message.setRecipients(Message.RecipientType.TO,to);
//設置主題
message.setSubject("來自於xionger商城的賬號激活郵件");

//設置內容
message.setContent("<h1>來自於熊二商城的賬號激活郵件!激活請點擊以下鏈接</h1><br><h3><a href=‘http://localhost:8888/shop/usersActive.action?Users.u_code="+code+"‘>http://localhost:8888/shop/register.action?code="+code+"</a></h3>","text/html;charset=UTF-8");

message.saveChanges(); // implicit with send()

Transport transport = session.getTransport("smtp");

transport.connect(host, username, password);

transport.sendMessage(message, message.getAllRecipients());

transport.close();



} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
第二步:實現類,調用發郵件的方法(註冊等等),此例是struts
public String Reg(){
UsersServiceImpl usersServiceImpl=(UsersServiceImpl) ac.getBean("usersService");
users.setU_state(false);
String u_code = UUID.randomUUID().toString().replace("-","");
System.out.println(u_code);
System.out.println(users.getU_email());
users.setU_code(u_code);
usersServiceImpl.save(users);
MailUtil.sendMail(users.getU_email(),u_code);
return "regOK";
}

java發送郵件