用spring简单实现发送邮件

刚做完一个电影网站,网站新注册用户时需要发送email进行确认。但是这个功能不是由我来负责的。在下对此功能颇有好奇之心于是自己就搭建了一个小的spring项目来进行实践。
声明代码里有些内容并非是我一个人完成的。
首先在applicationContext.xml文件中配置bean

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.sina.com">
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username" value="dufangxu"/>
<property name="password" value="你的邮箱密码"/>
</bean>

实现发送邮件java类代码:

private Configuration cfg = new Configuration();

public static void main(String[] args) throws Exception {
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"src/applicationContext.xml");
JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");
SpringMail springMail = new SpringMail();
springMail.sendMail(sender);

}

private void sendMail(JavaMailSender sender) throws Exception {
SimpleMailMessage mail = new SimpleMailMessage();
mail.setTo("sucre.xu@gmail.com"); //接收人
mail.setFrom("dufangxu@sina.com"); //发送人
mail.setSubject("test by amigo");
//嵌入ftl模版
cfg.setClassForTemplateLoading(getClass(), "/mail");
Map root = new HashMap();
root.put("username", "sucre"); //模板变量
Template t = cfg.getTemplate("notify-mail.ftl");
StringWriter writer = new StringWriter();
t.process(root, writer);
//把模版内容写入邮件中
mail.setText(writer.toString());
sender.send(mail);
System.out.println("邮件发送成功!");
}


这样还不够,还需要一个ftl模版


欢迎加入!

亲爱的${username}

请点击链接完成注册:

如果您的email程序不支持链接点击,请将上面的地址拷贝至您的浏览器(如IE)的地址栏进入****。

您可以在***:

查看最新的影视资料,查看各种相关消费产品,在这里交友,灌水……;

希望您在**度过快乐的时光!

-

(这是一封自动产生的email,请勿回复。)



目录结构:

[img]http://dl.iteye.com/upload/attachment/142428/111a3d26-6d20-3498-bc21-47dc5160f1db.jpg[/img]


ok,这样邮件就能成功发送了。
文章很简短,还有很多不足之处,希望大家多提意见
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值