天天看點

Java Mail最基本的發送郵件例子

  simplesendmaildemo.java

package com.steven.mail;

import java.util.properties;

import javax.mail.address;

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;

/**

* 最基本的郵件發送代碼

*

* @author steven

*/

public class simplesendmaildemo {

public static void main(string[] args) throws exception {

// 建立郵件的發送過程中用到的主機和端口号的屬性檔案

properties pro = new properties();

// 設定郵件發送方的主機位址如果是163郵箱,則為smtp.163.com

// 如果是其他的郵箱可以參照http://wenku.baidu.com/link?url=cf-1ggew3e7rm9kwfz47ul7vvkrppxakblyotsgpnk4hxpjdiq0a4lropdncmlcmivupen6pd0aobgm5zjam7aogkrdccsx6hdh2fswkxiq這個文檔

pro.put("mail.smtp.host", "smtp.qq.com");

// 設定發送郵件端口号

pro.put("mail.smtp.port", "25");

// 設定郵件發送需要認證

pro.put("mail.smtp.auth", "true");

// 建立郵件驗證資訊,即發送郵件的使用者名和密碼

authenticator authenticator = new authenticator() {

@override

protected passwordauthentication getpasswordauthentication() {

// 重寫驗證方法,填寫使用者名,密碼

return new passwordauthentication("[email protected]", "123");

}

};

// 根據郵件會話 建構一個郵件的session

session sendmailsession = session

.getdefaultinstance(pro, authenticator);

// 建立一個郵件消息

message message = new mimemessage(sendmailsession);

// 建立郵件發送者位址

address sourceaddress = new internetaddress("[email protected]");

// 将原位址設定到消息的資訊中

message.setfrom(sourceaddress);

// 建立郵件的接收者位址

address destaddress = new internetaddress("[email protected]");

// 将接收者的位址設定到消息的資訊中

message.setrecipient(message.recipienttype.to, destaddress);

// 設定郵件的主題

message.setsubject("merry christmas!");

// 設定郵件的發送内容

message.settext("你好,聖誕節快樂!");

// 可以設定郵件的發送時間(就是對方看郵件發送的時間)

// string senddate = "2013-12-23 17:55:00";

// date date = new

// simpledateformat("yyyy-mm-dd hh:mm:ss").parse(senddate);

// message.setsentdate(date);

// 發送郵件

transport.send(message);

這個例子是完全沒有封裝後的源代碼,如果進行封裝的話,可以考慮将發送的郵箱資訊封裝成一個郵件資訊的類,然後驗證可以通過一個類繼承authenticator然後複寫方法getpasswordauthentication(),接着發送的主要業務邏輯可以封裝成一個類,這樣在使用的時候,就可以通過建立郵件資訊,進行驗證,通過主要的業務邏輯調用發送郵件。

  然後發送的最終效果如下圖1所示:

Java Mail最基本的發送郵件例子

圖1

最新内容請見作者的github頁:http://qaseven.github.io/