@RequestMapping(value = "/testSendMail.jspx", method = RequestMethod.GET)
public void testSendMail(HttpServletRequest request, HttpServletResponse respone) {
Website web = SiteUtils.getWeb(request);
//final EmailSender email = web.getEmailSender();
final MessageTemplate tpl = (MessageTemplate) web.getMessages().get(MessageTemplate.RESET_PASSWORD);
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.aliyun.com");
sender.setUsername("
tang.xin@gzstone.com.cn");
sender.setPassword("********");//发帖时故意隐藏
sender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimemessage) {
try {
MimeMessageHelper msg = new MimeMessageHelper(mimemessage, false, "UTF-8");
msg.setSubject("这是一份测试邮件");
msg.setTo("
1292785717@qq.com");
msg.setFrom("Sender", "Sender");
String text = tpl.getActiveTxt();
text = StringUtils.replace(text, "${userName}","testUser01");
text = StringUtils.replace(text, "${usernameId}", "1");
text = StringUtils.replace(text, "${activationCode}", "1236585");
text = StringUtils.replace(text, "${base}", "Base");
msg.setText(text,true);
} catch(Exception e) {
e.printStackTrace();
}
}
});
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这段代码是一个使用Java Spring框架的控制器方法,用于发送测试邮件。它从一个网站配置对象(Website web)中获取信息,并使用JavaMailSender接口来实现邮件发送功能。具体来说,这个方法做了以下几件事:
SiteUtils.getWeb(request)获取当前站点的配置信息。EmailSender的部分,但随后手动创建了一个JavaMailSenderImpl实例并配置了SMTP服务器的相关信息。这里使用的是阿里云的SMTP服务器地址smtp.aliyun.com。MimeMessagePreparator接口,用来准备邮件内容。包括设置邮件主题、收件人、发件人(显示名称和地址)、以及使用HTML格式的邮件正文。JavaMailSender实例,而不是每次方法调用时新建,以提高效率和可维护性。结合阿里云产品,你还可以考虑使用阿里云邮件推送服务(Direct Mail),它提供了API和SDK,能够更好地集成到应用中,且通常包含更高的发送成功率和更详细的发送报告。