Spring Email抽象的核心是MailSender接口,MailSender的實(shí)現(xiàn)能夠通過(guò)連接Email服務(wù)器實(shí)現(xiàn)郵件發(fā)送的功能,如下圖:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

Spring自帶一個(gè)MailSender的實(shí)現(xiàn)就是JavaMailSenderImpl,它也是使用JavaMail API來(lái)發(fā)送Email,在使用之前,必須先將JavaMailSenderImpl裝配為Spring應(yīng)用上下文中的一個(gè)bean,如下所示:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

@Beanpublic MailSender mailSender (Environment env) {
    JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
    mailSender.setHost(env.getProperty("mailserver.host"));    
    return mailSender;
}

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

默認(rèn)情況下,JavaMailSenderImpl假設(shè)郵件服務(wù)器監(jiān)聽(tīng)25端口,如果郵件服務(wù)器監(jiān)聽(tīng)不同的端口,可以使用port屬性指定其端口號(hào),在上面的mailSender()方法中添加:

mailSender.setPort(env.getProperty("mailserver.port"));

如果郵件服務(wù)器需要認(rèn)證的話,還需要設(shè)置username和password:

mailSender.setUsername(env.getProperty("mailserver.username"));
mailSender.setPassword(env.getProperty("mailserver.password"));

這樣JavaMailSenderImpl已經(jīng)配置完成,到此可以創(chuàng)建自己的郵件會(huì)話,如果已經(jīng)在JNDI中配置了javax.mail.MailSession的話就沒(méi)有必要為JavaMailSenderImpl配置詳細(xì)的服務(wù)器細(xì)節(jié)了,可以配置它使用JNDI中已就緒的MailSession。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式