1. 程式人生 > >使用java實現郵件傳送功能(已封裝)

使用java實現郵件傳送功能(已封裝)

現如今,用郵件傳送訊息的人越來越少,可是並不影響我們學習java。

以下給大家帶來自己寫的封裝類,可以直接使用。

首先,需要jar包:

普通javaweb專案:mail.jar

maven管理專案: 
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.5.6</version>
</dependency>

然後開始編寫實體類:

封裝類:

MaiSenderInfo(實體類)

public class MailSenderInfo {
private String addressto; //收件人郵箱
private String addressFrom; //發件人郵箱
private String authCode;        //許可權碼;
private String host; //主機地址
private String port; //埠號 
private boolean auth = false; //是否需要身份驗證,預設為false

private boolean ssl = true;     //是否需要ssl傳輸協議
private String subject;   //標題
private String text; //內容
private String nick; //發件人名稱
/**
* 設定郵箱伺服器
*/
public Properties getProperties(){
Properties p = new Properties();
p.setProperty("mail.smtp.host",this.host); //伺服器地址
p.setProperty("mail.smtp.auth","true");
p.setProperty("mail.smtp.port",this.port); //埠號
p.setProperty("mail.smtp.ssl.enable", "true");
return p;
}

getter,setter方法略過

二:郵件傳送main方法

SimpleMailSender

public class SimpleMailSender {
public boolean sendMail(MailSenderInfo mailSenderInfo){
//發件人郵箱
final String addressFrom = mailSenderInfo.getAddressFrom();
//獲取許可權碼
final String authCode = mailSenderInfo.getAuthCode();
//獲得系統屬性
Properties properties = mailSenderInfo.getProperties();
//獲取預設session物件
Session session = Session.getDefaultInstance(properties, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(addressFrom,authCode);
}
});
try{
//建立預設的MimeMessage物件
MimeMessage message = new MimeMessage(session);
//設定發件人 頭部欄位
message.setFrom(new InternetAddress(MimeUtility.encodeText(mailSenderInfo.getNick())+"<"+addressFrom+">"));
//設定收件人 頭部欄位
message.addRecipient(Message.RecipientType.TO, new InternetAddress(mailSenderInfo.getAddressto()));
//設定主題
message.setSubject(mailSenderInfo.getSubject());
message.setSentDate(new Date());
//設定內容
message.setText(mailSenderInfo.getText());
//傳送訊息
Transport.send(message);
return true;
}catch (Exception e) {
}
return false;


}
}

恭喜您,已經會了郵件傳送