科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基于控件构架开发访问JavaMail的控件

基于控件构架开发访问JavaMail的控件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  Beehive只是提供了三种访问企业资源的系统控件,现实情况下我们需要访问更多类型的企业资源,所以我们需要自己来开发符合自己需要的控件。在这篇文章里,作者将介绍如何基于控件架构开发访问JavaMail资源的控件,简化对JavaMail资源的访问。

作者:中国IT实验室 来源:中国IT实验室 2007年9月30日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

 

使用JavaMail控件访问JavaMail资源

   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控件,完成邮件发送的
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. }
2.使用Java控件连接到不需要提供安全认证的SMTP服务器

  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

  下载资源

  本文中例子下载地址:

  JMSControlExamples.zip

 作者简介
icon
肖菁
肖菁 是唯J族(www.vivianj.org)创始人,BEA 杭州User Group负责人,自由撰稿人,开源项目BuildFileDesigner(buildfiledesign.sourceforge.net)和V-Security(v-security.sourceforge.net)创始人。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章