仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 602|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA编程:利用Spring邮件笼统层发送复杂邮件

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。Spring供应了一个发送电子邮件的初级笼统层,它向用户屏障了底层邮件体系的一些细节,同时卖力低条理的代表客户真个资本处置。Spring邮件笼统层的次要包为org.springframework.mail。它包含了发送电子邮件的次要接口MailSender和封装了复杂邮件的属性如from,to,cc,subject,text的值对象叫做SimpleMailMessage。

  1、我们界说一个发送邮件的接口:OrderManager.java

1publicinterfaceOrderManagerextendsBaseManager{
2 /**
3 *email,要发送的邮件地点;
4 *Code:激活码
5 */
6 publicvoidplaceOrder(Stringemail);
7}

  2、我们必要对该接口举行完成的办法:OrderManagerImpl.java

1importjavax.mail.Message;
2importjavax.mail.MessagingException;
3importjavax.mail.internet.InternetAddress;
4importjavax.mail.internet.MimeMessage;
5importorg.springframework.mail.MailException;
6importorg.springframework.mail.javamail.JavaMailSender;
7importorg.springframework.mail.javamail.MimeMessagePreparator;
8importservice.OrderManager;
9
11publicclassOrderManagerImplextendsBaseManagerImplimplementsOrderManager{
12
13 privateJavaMailSendermailsender;
14 privateMyMailMessagemessage;
15
16
17 publicvoidsetMessage(CityMailMessagemessage)
18 {
19  this.message=message;
20 }
21 publicvoidsetMailsender(JavaMailSendermailsender){
22  this.mailsender=mailsender;
23 }
24 publicvoidplaceOrder(finalStringemail){
25
26
27  MimeMessagePreparatorpreparator=newMimeMessagePreparator(){
28  publicvoidprepare(MimeMessagemimeMessage)throwsMessagingException{
29   mimeMessage.setRecipient(Message.RecipientType.TO,
30   newInternetAddress(email));
31   mimeMessage.setFrom(newInternetAddress(message.getFrom()));
32   /**转换编码为GBK*/
33   mimeMessage.setSubject(message.getSubject(),"GBK");
36   mimeMessage.setText(email+"<br>"+message.getSubject()+message.getText(),"GBK");
37
38  }
39 };
40 try{
41  mailsender.send(preparator);
42 }
43 catch(MailExceptionex){
44  //logitandgoon
45  System.err.println(ex.getMessage());
46 }
47}
48}

  3、spring设置发送email的applicationContext-email.xml

1<?xmlversion="1.0"encoding="UTF-8"?>
2<!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN"
3"http://www.springframework.org/dtd/spring-beans.dtd">
4
5<beans>
6 <beanid="mailSender"class="org.springframework.mail.javamail.JavaMailSenderImpl">
7 <propertyname="host">
8  <value>smtp.163.com</value>
9 </property>
10 <propertyname="username">
11  <value>username</value>
12 </property>
13 <propertyname="password">
14 <value>password</value>
15 </property>
16<propertyname="javaMailProperties">
17 <props>
18  <propkey="mail.smtp.auth">true</prop>
19  <propkey="mail.smtp.timeout">25000</prop>
20 </props>
21</property>
22</bean>
23
24<beanid="mailMessage"class="org.springframework.mail.SimpleMailMessage">
25 <propertyname="from">
26  <value>Email</value>
27 </property>
28 <propertyname="subject">
29  <value>题目</value>
30 </property>
31 <propertyname="text">
32  <value>内容</value>
33 </property>
46</bean>
47
48<beanid="orderManager"class="cn.cityyouth.service.impl.OrderManagerImpl">
49 <propertyname="mailsender">
50  <refbean="mailSender"/>
51 </property>
52 <propertyname="message">
53  <refbean="mailMessage"/>
54 </property>
55</bean>
56
57</beans>

  4、最初设置本人的jsp页面和action

1packagecn.cityyouth.web.action;
2
3importjavax.servlet.http.HttpServletRequest;
4importjavax.servlet.http.HttpServletResponse;
5importorg.apache.struts.action.ActionForm;
6importorg.apache.struts.action.ActionForward;
7importorg.apache.struts.action.ActionMapping;
8importorg.apache.struts.action.ActionMessage;
9importorg.apache.struts.action.ActionMessages;
10importcom.test.service.OrderManager;
11
12publicclassSendMailActionextendsBaseAction{
13
14 /**
15 *Methodexecute
16 *
17 *@parammapping
18 *@paramform
19 *@paramrequest
20 *@paramresponse
21 *@returnActionForward
22 */
23publicActionForwardexecute(ActionMappingmapping,ActionFormform,
24HttpServletRequestrequest,HttpServletResponseresponse){
25 OrderManageromi=(OrderManager)this.getBean("orderManager");
26 Stringuseremail="123@163.com";
27 omi.placeOrder(useremail);
28}
29}

  到此一切的开辟以停止。

  Sring邮件笼统层的次要包是:org.springframework.mail包。它包括叫MailSender为发送邮件的中心接口和包括复杂邮件属性比方from,to,cc,subject,text叫SimpleMailMessage的值对象.这个包也包括一个反省非常的条理,它撑持一个更初级其余笼统凌驾初级其余邮件体系非常陪伴根非常存在MailException.请参考JavaDocs为更多的信息杂邮件非常条理。

  Spring也撑持一个MailSender的公用于JavaMail特性比方MIME动静子接口,定名为org.springframework.javamail.JavaMailer。它也撑持一个为JavaMailMIME信息的筹办回调接口,定名为org.springframework.mail.JavaMail.MimeMessagePreparator.
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
小魔女 该用户已被删除
沙发
发表于 2015-1-21 06:07:59 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
若天明 该用户已被删除
板凳
发表于 2015-1-27 21:25:49 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
兰色精灵 该用户已被删除
地板
 楼主| 发表于 2015-2-5 09:41:34 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
柔情似水 该用户已被删除
5#
发表于 2015-2-11 08:27:10 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
再现理想 该用户已被删除
6#
发表于 2015-2-25 19:40:48 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-5 11:05:21 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
admin 该用户已被删除
8#
发表于 2015-3-12 04:29:46 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
深爱那片海 该用户已被删除
9#
发表于 2015-3-12 11:15:24 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
山那边是海 该用户已被删除
10#
发表于 2015-3-19 21:01:23 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
冷月葬花魂 该用户已被删除
11#
发表于 2015-4-2 06:51:02 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 16:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表