扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月30日
关键字:
在本页阅读全文(共4页)
JavaMail控件本身并不能直接用于发送邮件,控件使用者必须继承该控件,提供对应的注释后才能够完成邮件发送的工作,本章节中将给大家讲解如何继承JavaMail控件来完成邮件发送的工作。
1.使用JavaMail控件连接到需要提供安全认证的SMTP服务器网易(NEASE)公司是我个人比较喜欢的提供免费邮箱服务的网络公司。网易(NEASE)公司提供的免费邮箱对应的SMTP服务器(smtp.163.com)需要提供安全认证才能够发送邮件。
我们将编写一段代码,调用已经完成的JavaMail控件,访问需要提供安全信息的网易公司的SMTP服务器--smtp.163.com。为了简化例子,我们假设仅仅需要通过这段代码将邮件发送给唯一的一个接收者,不需要暗送或者抄送给其他人,要发送的邮件也没有附件。
清单3 中显示了符合要求的一个例子。
清单3 src\org\vivianj\beehive\controls\examples\
NeaseJavaMailControl.java
1. package org.vivianj.beehive.controls.examples; 2. 3. import org.apache.beehive.controls.api.bean.ControlExtension; 4. import org.vivianj.beehive.controls.examples.javamail.JavaMailControl; 5. 6. /** 7. * NeaseJavaMailControl 用于继承JavaMail控件,完成邮件发送的2.使用Java控件连接到不需要提供安全认证的SMTP服务器
8. * 功能,使用smtp.163.com邮件服务器
9. * 使用该SMTP服务器需要提供安全信息 10. */ 11. @ControlExtension 12. @JavaMailControl.SMTPServer(serverAddress = "smtp.163.com", 13. authorizationRequired = true, principal = "principal", 14. credentials = "credentials") 15. public interface NeaseJavaMailControl 16. extends JavaMailControl { 17. 18. /** 19. * 完成发送邮件的功能
20. * 邮件发送者的邮箱是principal@163.com
21. * 邮件接收者的邮箱是principal@163.com
22. * 邮件主题是hello
23. * 邮件的内容由控件使用者在调用时使用参数body传入
24. * 25. * @param body 26. * 邮件的内容 27. */ 28. @JavaMailControl.Message(from = "principal@163.com", 29. to = "principal@163.com", subject = "hello") 30. public void sendMail(String body); 31. }
www.vivianj.org是我创建的唯J族组织负责维护的一个网站,它同时能够为唯J族组织的部分用户提供SMTP服务,它所使用的SMTP服务器(mail.vivianj.org)在发送邮件时不需要用户提供安全认证信息。
我们将编写一段代码,调用已经完成的JavaMail控件,连接到不需要提供安全信息的SMTP服务器―mail.vivianj.org后发送邮件。为了简化例子,我们假设仅仅需要通过这段代码将邮件发送给唯一的一个接收者,不需要暗送或者抄送给其他人,要发送的邮件也没有附件。
清单4 中显示了符合要求的一个例子。
清单4 src\org\vivianj\beehive\controls\examples\
VivianjJavaMailControl.java
1. package org.vivianj.beehive.controls.examples; 2. 3. import org.apache.beehive.controls.api.bean.ControlExtension; 4. import org.vivianj.beehive.controls.examples.javamail.JavaMailControl; 5. 6. /** 7. * VivianjJavaMailControl 用于继承JavaMail控件
8. * 实现通过mail.vivianj.org邮件服务器发送邮件的功能
9. * 使用该SMTP服务器不需要提供安全信息 10. */ 11. @ControlExtension 12. @JavaMailControl.SMTPServer( 13. serverAddress = "mail.vivianj.org", 14. authorizationRequired = false, principal = "username", 15. credentials = "password") 16. public interface VivianjJavaMailControl 17. extends JavaMailControl { 18. 19. /** 20. * 完成发送邮件的功能
21. * 邮件发送者的邮箱是principal@vivianj.org
22. * 邮件接收者的邮箱是principal@163.com
23. * 邮件主题是hello
24. * 邮件的内容由控件使用者在调用时使用参数body传入
25. * 26. * @param body 27. * 邮件的内容 28. */ 29. @JavaMailControl.Message(from = "principal@vivianj.org", 30. to = "principal@163.com", subject = "hello") 31. public void sendMail(String body); }
Beehive1.0发布的时候,只是提供了三种系统控件:JDBC控件、EJB控件和JMS控件,分别用于访问JDBC数据源、EJB和JMS。然而实际应用情况下,我们通常需要访问更多类型的企业资源,所以我们必须要根据实际情况编写符合实际要求的控件。
本文中,作者选择J2EE中常见的JavaMail资源作为例子,详细地介绍了如何基于控件架构分析、设计、实现和访问JavaMail控件的过程。读者可以根据上面的步骤,结合自己的实际需求,编写更多的控件,简化企业应用开发。
参考资源
Beehive在线资源:
http://beehive.apache.org/documentation.html
下载资源
本文中例子下载地址:
作者简介 | |
肖菁 |
肖菁 是唯J族(www.vivianj.org)创始人,BEA 杭州User Group负责人,自由撰稿人,开源项目BuildFileDesigner(buildfiledesign.sourceforge.net)和V-Security(v-security.sourceforge.net)创始人。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者