import java.util.Properties; import javax.mail.Address; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendEmailUtil { public static boolean sendMail(String emailAddress, String emailMsg) { // 誰發送(發送方) String from = ""; // 發給誰 String to = emailAddress; // 發送者的用戶名和密碼(郵箱登錄用) final String username = ""; // 此處填寫發送的郵箱名 final String password = ""; // 此處填寫登錄的郵箱密碼 // 定義properties對象,設置環境信息 Properties properties = new Properties(); /* * mail.smtp.host :指定連接的郵件服務器的主機名。如:163郵箱就填寫smtp.163.com * 若在本地測試的話,需要在本地安裝smtp服務器 */ properties.setProperty("mail.smtp.host", "smtp.163.com"); // mail.smtp.auth:指定客戶端是否要向郵件服務器提交驗證 properties.setProperty("mail.smtp.auth", "true"); /* * mail.transport.protocol:指定郵件發送協議:smtp。smtp:發郵件;pop3:收郵件 * mail.store.protocol:指定郵件接收協議 */ properties.setProperty("mail.transport.protocol", "smtp"); // 獲取session對象 Session session = Session.getInstance(properties); // 當設置為true,JavaMail AP就會將其運行過程和郵件服務器的交互命令信息輸出到console中,用於JavaMail的調試 session.setDebug(true); try { // 創建郵件對象 MimeMessage message = new MimeMessage(session); // 設置郵件發送方 message.setFrom(new InternetAddress(from)); // 設置郵件發送的主題<郵件標題> message.setSubject("郵件發送設置"); // 設置郵件發送的內容 message.setContent(emailMsg,"text/html;charset=utf-8"); Transport transport=session.getTransport(); // 連接郵件服務器,“”中填寫郵件服務器主機名 transport.connect("",25, username, password); transport.sendMessage(message,new Address[]{new InternetAddress(to)}); transport.close(); return true; } catch (MessagingException e) { e.printStackTrace(); return false; } }