麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

java發送郵件的具體實現

2019-11-26 15:58:00
字體:
來源:轉載
供稿:網友

首先是繼承自javax.mail.Authenticator的一個具體類。getPasswordAuthentication()方法也就是構建一個PasswordAuthentication對象并返回,有點費解JAVA Mail這樣的設計意圖,可能javax.mail.Authenticator為我們提供了附加的保證安全的驗證措施吧。

復制代碼 代碼如下:

package com.mzule.simplemail;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

/**
* 服務器郵箱登錄驗證
*
* @author MZULE
*
*/
public class MailAuthenticator extends Authenticator {

/**
* 用戶名(登錄郵箱)
*/
private String username;
/**
* 密碼
*/
private String password;

/**
* 初始化郵箱和密碼
*
* @param username 郵箱
* @param password 密碼
*/
public MailAuthenticator(String username, String password) {
this.username = username;
this.password = password;
}

String getPassword() {
return password;
}

@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}

String getUsername() {
return username;
}

public void setPassword(String password) {
this.password = password;
}

public void setUsername(String username) {
this.username = username;
}

}

  調用上面的郵箱發送器,可以構建一個工廠類,工廠類可以封裝創建的過程,所以通過讀配置文件獲取郵箱用戶名,密碼都會變得十分方便。下面的代碼是我在寫觀察者模式的時候寫的,只是簡單演示了工廠類。

復制代碼 代碼如下:

package com.mzule.dp.observer.factory;

import com.mzule.dp.observer.constant.MailSenderType;
import com.mzule.simplemail.SimpleMailSender;

/**
* 發件箱工廠
*
* @author MZULE
*
*/
public class MailSenderFactory {

/**
* 服務郵箱
*/
private static SimpleMailSender serviceSms = null;

/**
* 獲取郵箱
*
* @param type 郵箱類型
* @return 符合類型的郵箱
*/
public static SimpleMailSender getSender(MailSenderType type) {
if (type == MailSenderType.SERVICE) {
if (serviceSms == null) {
serviceSms = new SimpleMailSender("[email protected]",
"hidden");
}
return serviceSms;
}
return null;
}

}

  發送郵件,還是觀察者模式DEMO里面的代碼,呼呼。

復制代碼 代碼如下:

package com.mzule.dp.observer.observer;

import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;

import javax.mail.MessagingException;
import javax.mail.internet.AddressException;

import com.mzule.dp.observer.constant.MailSenderType;
import com.mzule.dp.observer.factory.MailSenderFactory;
import com.mzule.dp.observer.po.Product;
import com.mzule.simplemail.SimpleMailSender;

public class ProductPriceObserver implements Observer {

@Override
public void update(Observable obj, Object arg) {
Product product = null;
if (obj instanceof Product) {
product = (Product) obj;
}
if (arg instanceof Float) {
Float price = (Float) arg;
Float decrease = product.getPrice() - price;
if (decrease > 0) {
// 發送郵件
SimpleMailSender sms = MailSenderFactory
.getSender(MailSenderType.SERVICE);
List<String> recipients = new ArrayList<String>();
recipients.add("[email protected]");
recipients.add("[email protected]");
try {
for (String recipient : recipients) {
sms.send(recipient, "價格變動", "您關注的物品"
+ product.getName() + "降價了,由"
+ product.getPrice() + "元降到" + price + "元,降幅達"
+ decrease + "元人民幣。趕快購物吧。");
}
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
}

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品探花在线观看 | 久夜草 | av在线试看 | 亚洲福利在线视频 | 国内久久久久 | 一区二区三区在线观看免费 | h视频免费看| 欧美一级成人一区二区三区 | 久久爽久久爽久久av东京爽 | 久久久久久久久久亚洲精品 | 爱视频福利| 蜜桃传免费看片www 一本色道精品久久一区二区三区 | 精品免费在线视频 | 未成年人在线观看 | 日韩精品一区二区三区中文 | 久久久久久久久久久av | 国产成人在线看 | 麻豆国产一区 | 激情综合婷婷久久 | 精国产品一区二区三区 | 在线看一区二区三区 | 91午夜少妇三级全黄 | 国产精品久久久久影院老司 | 久久精精品 | 国产精品视频不卡 | 色妞欧美 | 韩国精品一区二区三区四区五区 | 中文在线免费观看 | 一级毛片播放 | av免费在线免费观看 | 55夜色66夜色国产精品视频 | 久久久青青草 | 国产99视频在线观看 | av免费在线观看国产 | 久久91精品国产91久久yfo | 中文字幕在线播放视频 | 在线视频观看一区二区 | 久久久久久久久日本理论电影 | 日本一区二区三区视频在线 | 欧美激情综合网 | 国产一级毛片国语版 |