用spring简单实现发送邮件
2009-09-06 00:00:00 来源:WEB开发网刚做完一个电影网站,网站新注册用户时需要发送email进行确认。但是这个功能不是由我来负责的。在下对此功能颇有好奇之心于是自己就搭建了一个小的spring项目来进行实践。
声明代码里有些内容并非是我一个人完成的。
首先在applicationContext.xml文件中配置bean
Java代码
<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类代码:
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模版
Java代码
欢迎加入!
亲爱的${username}
请点击链接完成注册:
如果您的email程序不支持链接点击,请将上面的地址拷贝至您的浏览器(如IE)的地址栏进入****。
您可以在***:
查看最新的影视资料,查看各种相关消费产品,在这里交友,灌水……;
希望您在**度过快乐的时光!
-
(这是一封自动产生的email,请勿回复。)
目录结构:
ok,这样邮件就能成功发送了。
文章很简短,还有很多不足之处,希望大家多提意见
更多精彩
赞助商链接