您的位置:首页 > 编程语言 > Java开发

Spring+javamail+velocity发送邮件

2015-12-25 01:11 676 查看
最精做到一个项目需要用到邮箱验证,所研究了一下



首先需要jar包:

org.springframework.context.support-3.1.2.RELEASE.jar (封装了javamail的相关api)

mail.jar; velocity-1.4.jar velocity-tools-view-1.2.jar activation.jar commons-collections-3.2.jar dsn.jar imap.jar pop3.jar smtp.jar(为了防止出现位置错误,所以就全导入了)



首先建议一个 mail.properties 配置相关的信息



#必要的信息,服务器,用户名,密码,端口
host=smtp.163.com
username=yourEmail
password=yourPassword
port=25
mail.smtp.auth=true
mail.smtp.timeout=25000
mail.smtp.starttls.enable=true
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.port=25
mail.smtp.socketFactory.fallback=false

#默认发送者
mail.default.from=CoderZone<coderzone@163.com>
#默认标题
mail.default.subject=默认标题
mail.default.contentType=text/html; charset=GBK

#不同类型邮件模板
mail.findPassword.subject=默认的模板标题
mail.findPassword.template=模板VM文件路径








然后配置Spring配置文件,同Spring的注入,大大的方便了我们编程



新建一个mailbean.xml



  

基本配置完成了,下面就是配置相应的模板了,新建一个 mailmodel.xml,这里我有两个模板,一个是激活帐号的,一个是找回密码的





别忘了把这两个xml文件包含到主配置文件里去哦



  

接下来就是主要的操作类了 VelocityMailUtil.java



  

下面就是模板文件了 举一个例子 account_activity.vm



此处的 $!{user} 为占位符,具体替换为你在 VelocityMailUtil中传入的map文件,根据键值对进行替换。

要注意的这个vm文件放置的位置,前面我们设置了是从classPath下读取(因为不同的运行环境路径不同,所以还是不要设置绝对路径了),把这里路径写在mail.properties就可以了



  

到这里就一切OK了,怎么调用就不说了把,直接调用VelocityMailUtil的sendMime方法就可以了,自己去试试把



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: