Spring Email抽象的核心是MailSender接口,MailSender的實現(xiàn)能夠通過連接Email服務器實現(xiàn)郵件發(fā)送的功能,如下圖:
Spring自帶一個MailSender的實現(xiàn)就是JavaMailSenderImpl,它也是使用JavaMail API來發(fā)送Email,在使用之前,必須先將JavaMailSenderImpl裝配為Spring應用上下文中的一個bean,如下所示:
@Beanpublic MailSender mailSender (Environment env) { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost(env.getProperty("mailserver.host")); return mailSender; }
默認情況下,JavaMailSenderImpl假設郵件服務器監(jiān)聽25端口,如果郵件服務器監(jiān)聽不同的端口,可以使用port屬性指定其端口號,在上面的mailSender()方法中添加:
mailSender.setPort(env.getProperty("mailserver.port"));
如果郵件服務器需要認證的話,還需要設置username和password:
mailSender.setUsername(env.getProperty("mailserver.username")); mailSender.setPassword(env.getProperty("mailserver.password"));
這樣JavaMailSenderImpl已經(jīng)配置完成,到此可以創(chuàng)建自己的郵件會話,如果已經(jīng)在JNDI中配置了javax.mail.MailSession的話就沒有必要為JavaMailSenderImpl配置詳細的服務器細節(jié)了,可以配置它使用JNDI中已就緒的MailSession。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26