Email开发初始总结

Email开发初步总结

          早就听说Java MailJavaEE的规范之一,是为发送接受邮件而制定的规范。从这里就可以看出邮件在这个邮件行业,更或所有行业所起着举足轻重的作用。在公司中,工作中对邮件的使用,就好比我们日常生活中对电话的使用一样。


         首先谈一下本人对邮件使用的认识吧!不可否认,电话,QQ,飞信,微信等工具的普及使人与人之间的沟通交流没有了距离的障碍,大大拉近了人与人之间的关系,于是乎是这个硕大的世界,瞬间变的特别的“渺小”。但是在这个沟通方便,交流无障碍的聊天工具中,email能够占有一席之地,必有它自身独有的优势。看一下它的生存之本吧:


          1,文本的表达本来就比话语的表达更加准确,尤其是大量信息,内容比较丰富时,例如有图片,视频,音频等。因此在相对大,相对丰富的数据量传输上,Email还是处于优势的地位。


          2,对于历史的保存,无论发送的邮件内容是宝贵资料,是交流历史,是情感见证,还是纠纷中的证据等等,通过Email传送的资料都能够很好的保存下来,而且寻找特别方便。而通过QQ等传送的数据,如果需要长期保存,需要我们特别有心来整理保管这些资料。这和Email相比就又体现出Email的优势了。


          3,当今社会是个飞速发展的社会,对时间的高效使用是现在每个人的追求。而外界的打扰和时间的利用率占据了很大的因素。而QQ,飞信,电话等这些都是及时工具,是我们被动来接受的,对我们工作学习有很大的影响作用,尤其是在使用番茄学习法等一些更加高效的方法时,可能这些工具就不被受我们欢迎了。而邮件的查看通常都是我们主动来收取查看的,每天可以固定几个时间点进行查看。从而看来Email的使用是既保证了工作效率,又保证了事情的处理。所以说还是非常有优势的。


          …………


        综上,可以看出Email的使用可以给我们带来非常大的好处,尤其是在公司中。所以在开发的项目软件中,加入Eamil的接受,发送还是非常有必要的。

 

        首先了解一下邮件服务器 163,新浪,QQ126gmailhotmail等等网上的服务器,当然我们也可以搭建属于自己的邮件服务器,这里推荐一个apachejames3,通过配置此服务器,可以创建各种账号,供我们使用,这样创建的不需要外网,有一个局域网就可以使用了。其中SMTP为发送协议,默认端口为25POP3接受协议,默认端口为110。有了账号以后我们可以通过outlookfoxmail等邮件客户端进行配置使用。自我认为foxmail还是非常强大的,它的很多功能值的我们挖掘,其创始人张小龙,一个人开发的foxmail,而且当今的微信也是其带队研发的,是非常厉害的,是我们学习的榜样。

 

          由于项目是采用SSH三大框架进行开发的,所以这里直接使用Spring框架提供的JavaMailSender进行邮件的发送。当然使用JavaEE规范自己直接写也可以比较麻烦,毕竟这些框架实现了这些规范我们直接使用就可以的。另外需要推荐的apachecommons email,也是非常不错的。好,这里简单看一个注册账号后,发送电子邮件的功能:

 

          一,首先需要在Spring的配置文件引入支持邮件发送的实现类,注意其中服务器的编写,这里填写了本机,因为使用james3自己搭建了服务器,供练手使用:


	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
			<property name="host" value="localhost"/>
		</bean>

    然后,我们在保存用户时进行发送电子邮件即可:


	//发送电子邮件 begin
	SimpleMailMessage simpleMessage = new SimpleMailMessage();//获取发送邮件对象
	simpleMessage.setFrom("service@local.com");//发件人邮箱
	simpleMessage.setTo(user.getEmail());//收件人邮箱
	simpleMessage.setSubject(user.getName() + ",您的系统账号");//主题
	simpleMessage.setText("账号:" + user.getLoginacct() + "\n密码:" + user.getPassword() + "\n这是系统邮件请勿回复.");//文本的设置
	mailSender.send(simpleMessage);//进行发送
	//发送电子邮件 end

          这样这个简单功能就算实现了,还是比较简单的。


          二,下边在看一个在工作流JBPME4.4中对邮件发送的支持。这里看一个再任务到达时给其发送一个邮件作为提醒,

        首先,需要引入名为jbpm.mail.properties的配置文件,放到src目录下,内容配上如下:


	mail.smtp.host=邮件服务器主机
	mail.smtp.port=端口号
	mail.from=发件人的邮箱

           然后在JPDL文件中加入发送邮件的节点即可:

	<process name="领物单审批流程" xmlns="http://jbpm.org/4.4/jpdl">
	
	   <start g="463,8,48,48" name="开始">
	      <transition g="-71,-17" name="to 发送邮件给田七审批" to="发送邮件给田七审批"/>
	   </start>
	
	   <mail name="发送邮件给田七审批" g="410,95,161,40">
	   	  <to addresses="tianqi@ljh.com"/>
	   	  <subject>田七,你有领物单审批任务</subject>
	          <transition g="-71,-17" name="to 田七审批" to="田七审批"/>
	   </mail>
	
	   <task assignee="402880eb454fbe6601454fc4aef60002" g="444,181,92,52" name="田七审批">
	      <transition g="-99,1" name="to 结束" to="结束"/>
	   </task>
	
		<end g="463,173,48,48" name="结束"/>
	 </process>

        这样也就可以进行简单邮件的发送,当然了这里只是一些简单的例子,还需要我们更多钻研这方面。


         最后关于邮件的使用还是需要大力提倡,大力使用的。