Spring发送邮件

运行环境:Eclipse + JDK6 + Spring2.5

 

Spring发送邮件依赖org.springframework.mail.MailSender接口,该接口有两个方法:

MailSender接口下有两个子成员,关系为:
MailSender←JavaMailSender←JavaMailSenderImpl

 

其中JavaMailSenderImpl封装了发送邮件的方法

 

此外还有辅助类:org.springframework.mail.SimpleMailMessage作为send()的参数
这个类用来设置发送人,收件人,主题,内容等信息
我们可以通过Spring的注入来设置这些信息

 

需要的jar包:
commons-logging.jar(在Spring开发包中的lib/jakarta-commons文件夹下可以找到)
mail.jar (在Spring开发包中的lib/j2ee文件夹下可以找到)
spring.jar(在Spring开发包中的dist文件夹下可以找到)

如果没有Spring开发包,可查看这篇文章:

http://blog.csdn.net/thc1987/archive/2010/03/17/5389120.aspx 

 

======================
一. 简单邮件程序

 

1. 新建一个web工程:mySpringMail

2. 新建一个package:mail

3. 在mail包下新建mail.properties文件,内容如下:
mail.host=smtp.qq.com
mail.username=your username
mail.password=your password
mail.from=your email, example abc@qq.com
mail.to=his/her email

 

这里分别设置了邮件的服务器,用户名,密码,发件人,收件人.这里我们用qq的服务器,也可用sina的

 

4. 在mail包下新建mailMessage.xml文件,内容如下:

 

已有相关注释,不再说明

 

5. 在mail包中新建测试文件:SpringSimpleMailTest.java,内容如下:

 

运行,如果配置没有错的话会收到邮件,如图:

===========================
二. 发送带附件的程序:

 

Spring提供了两个类:

org.springframework.mail.javamail.MimeMailMessage (这个类类似于SimpleMailMessage,都继承MailMessage)
org.springframework.mail.javamail.MimeMessageHelper

 

MimeMessageHelper是个辅助类,它封装了javax.mail.internet.MimeMessage
提供对附件,内嵌HTML的支持

 

此外在发送附件程序时,还会用到一个回调接口:MimeMessagePreparator,
并实现该接口中的void prepare(MimeMessage mimeMessage)方法

 

1. 在mail包中新建类:SpringFileMailTest.java,内容如下:

 

其它不需配置,运行程序即可查看有无发送成功,如图:

 

 

=============================
三. 发送含有HTML内嵌资源的邮件
比方说邮件里面有张图片或者一个链接,点击图片就会跳转到指定的页面

 

这里还是用到了MimeMessageHelper类,添加资源用到了addInline()方法

 

1. 新建SpringHtmlMailTest.java类,内容如下:

 

其它不需配置,运行该文件即可,如图:

 

demo下载:

http://d.download.csdn.net/down/2620301/thc1987

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值