springmvc发送邮件
来源:互联网 发布:java里boolean 编辑:程序博客网 时间:2024/05/16 11:55
<!--邮件发送实现类--> <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.qq.com"/> <property name="port" value="25"/> <property name="username" value=" 你的邮箱 "/> <property name="password" value=" 你的邮箱密码 "/> <property name="javaMailProperties"> <props > <prop key="mail.smtp.auth">true</prop> </props> </property> </bean> <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage"> <property name="from" value=" 发件人" /> <property name="subject" value=" 邮件主题 " /> <!-- <property name="text" value=" 邮件内容 " /> --> </bean> <!--线程池异步发送邮件--> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="5" /> <property name="maxPoolSize" value="10" /> <property name="queueCapacity" value="25" /> </bean> <!--FreeMarker 模板--> <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="classpath:template" /> <!--<property name="templateLoaderPath" value="/template" />--> <property name="freemarkerSettings"> <props> <prop key="locale">zh_CN</prop> <prop key="default_encoding">UTF-8</prop> </props> </property> </bean>发送邮件的工具类:(采用注解形式注入管理邮件发送的类)public class MailSender { @Inject private JavaMailSender javaMailSender; @Inject private SimpleMailMessage simpleMailMessage; @Inject private FreeMarkerConfigurer freeMarkerConfigurer; @Inject private TaskExecutor taskExecutor; /** * 构建邮件内容,发送邮件。 * @param user 用户 * @param url 链接 */ public void send(User user, String url,String email) { String nickname = user.getNickname(); String to = email; String text = ""; Map<String, String> map = new HashMap<String, String>(1); map.put("url", url); try {// 从FreeMarker模板生成邮件内容 Template template = freeMarkerConfigurer.getConfiguration().getTemplate("register_mail.ftl");// 模板中用 ${XXX}站位,map 中key为 XXX的value 会替换占位符内容。 text = FreeMarkerTemplateUtils.processTemplateIntoString(template, map); } catch (IOException e) { e.printStackTrace(); } catch (TemplateException e) { e.printStackTrace(); } this.taskExecutor.execute(new SendMailThread(to,null,text)); } // 内部线程类,利用线程池异步发邮件。 private class SendMailThread implements Runnable { private String to; private String subject; private String content; private SendMailThread(String to, String subject, String content) { super(); this.to = to; this.subject = subject; this.content = content; } @Override public void run() { sendMail(to, subject, content); } } /** * 发送邮件 * @param to 收件人邮箱 * @param subject 邮件主题 * @param content 邮件内容 */ public void sendMail(String to, String subject, String content) { try { MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8"); messageHelper.setFrom(simpleMailMessage.getFrom()); if (subject != null) { messageHelper.setSubject(subject); } else { messageHelper.setSubject(simpleMailMessage.getSubject()); } messageHelper.setTo(to); messageHelper.setText(content, true); javaMailSender.send(message); } catch (MessagingException e) { e.printStackTrace(); } }
阅读全文
0 0
- springMVC中发送邮件
- springMVC实现邮件发送
- springmvc发送邮件
- springmvc 邮件发送(找回密码)
- freemarker+javaMailSender+springmvc实现邮件发送
- java SpringMVC 邮件发送配置及Code
- springMVC项目中实现发送邮件功能
- java SpringMVC 邮件发送配置及Code
- springmvc框架下使用java mail发送邮件
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 发送邮件
- 邮件发送
- 邮件发送
- 邮件发送
- 发送邮件
- CreateFileMapping
- Android底层开发之耳机插拔与音频通道切换实例
- apache的commons-beanutils.jar中的BeanUtils的坑
- Webstorm2016使用技巧——SVN插件使用
- mybatis----#{}和${}
- springmvc发送邮件
- QT小总结
- CortexM3的UART
- 54-55_数组_String类的常用方法_JDK源码分析_内存分析
- js总结常用排序算法
- Dialog 的简易封装
- [spring-boot]sonar这坑货……
- 50、51、52
- [bigdata-098] 开机 脚本以 其他用户身份 启动一个服务