- 浏览: 49720 次
- 性别:
- 来自: 大连
-
文章分类
最新评论
-
你有罪:
报这个错是什么回事?求指教。Exception in thre ...
WebService异常(一)__javax.xml.ws.Endpoint.publish() -
lishuang_0638:
不行不行。
WebService异常(一)__javax.xml.ws.Endpoint.publish()
- 配置清单
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>smtp.gmail.com</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
<prop key="mail.smtp.port">465</prop>
<prop key="mail.smtp.socketFactory.port">465</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username">
<value>××××××××</value>
</property>
<property name="password">
<value>××××××</value>
</property>
<!-- 上是GMAIL特殊端口465或587,下是配置为25端口(默认)
<property name="host">
<value>smtp.163.com</value>
</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>××××××××××</value>
</property>
<property name="password">
<value>×××××××</value>
</property> -->
</bean>
2. 注入
@Autowired
private org.springframework.mail.javamail.JavaMailSenderImpl mailSender;
3.发送代码
try {
MimeMessage mailMessage = mailSender.createMimeMessage();
// 设置utf-8或GBK编码,否则邮件会有乱码
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8");
// 设置收件人,寄件人
messageHelper.setTo(email);
messageHelper.setFrom(mailSender.getUsername()); messageHelper.setSubject(PropertiesUtil.getProperties("html_mail_subject"));
// true 表示启动HTML格式的邮件 messageHelper.setText(FreeMarkerUtils.getHtml(targetDir, targetName), true);
// 发送邮件
mailSender.send(mailMessage); return true;
} catch (MessagingException e) {
// TODO Auto-generated catch block e.printStackTrace();
msg.append("*提示:邮件未能正常发送,请重新申请!");
return false;
}
以上只是记录,其中使用Freemarker做HTML邮件模板处理
附录:
properties文件:
#html for email to user find back password
html_file_patch=${tempDir}/html/
http_miv = http://localhost:8080/miv-main/login/retrievePasswordJsp/
html_mail_subject = 找回MIV密码
附:
package com.miv.core.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;
public class FreeMarkerUtils {
public static void generateHtml(String sourceDir, String sourceName, String targetDir, String targetName, List data)
throws Exception {
// 模板路径
Configuration cfg = new Configuration();
// 设置Configuration编码
cfg.setEncoding(Locale.getDefault(), "UTF-8");
// 加载free marker模板文件
cfg.setDirectoryForTemplateLoading(new File(sourceDir));
// 设置对象包装器
cfg.setObjectWrapper(new DefaultObjectWrapper());
// 设计异常处理器
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
// 定义并设置数据
Map<String, List> map = new HashMap<String, List>();
map.put("persons", data);
// 获取指定模板文件
Template template = cfg.getTemplate(sourceName);
// 设置模板的编码
template.setEncoding("UTF-8");
// 定义输入文件,默认生成在工程根目录 ,并且设置输出流的编码;
Writer out = new OutputStreamWriter(new FileOutputStream(targetDir + targetName), "UTF-8");
// 最后开始生成
template.process(map, out);
}
public static void generateHtml(String sourceDir, String sourceName, String targetDir, String targetName,
String data) throws Exception {
// 模板路径
Configuration cfg = new Configuration();
// 设置Configuration编码
cfg.setEncoding(Locale.getDefault(), "UTF-8");
// 加载free marker模板文件
cfg.setDirectoryForTemplateLoading(new File(sourceDir));
// 设置对象包装器
cfg.setObjectWrapper(new DefaultObjectWrapper());
// 设计异常处理器
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
// 定义并设置数据
Map<String, String> map = new HashMap<String, String>();
map.put("prop", data);
// 获取指定模板文件
Template template = cfg.getTemplate(sourceName);
// 设置模板的编码
template.setEncoding("UTF-8");
// 创建路径
mkdir(targetDir);
// 定义输入文件,默认生成在工程根目录 ,并且设置输出流的编码;
Writer out = new OutputStreamWriter(new FileOutputStream(targetDir + targetName), "UTF-8");
// 最后开始生成
template.process(map, out);
}
public static String getHtml(String targetDir, String targetName) {
BufferedReader bufferreader = null;
StringBuffer sb = new StringBuffer();
FileInputStream inputStream = null;
InputStreamReader inputStreamReader = null;
try {
inputStream = new FileInputStream(targetDir + targetName);
inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
bufferreader = new BufferedReader(inputStreamReader);
String line = bufferreader.readLine();
while (line != null) {
sb.append(line);
line = bufferreader.readLine();
}
bufferreader.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
// 创建文件路径
public static void mkdir(String targetDir) {
File fd = null;
try {
fd = new File( targetDir);
if (!fd.exists()) {
fd.mkdirs();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
fd = null;
}
}
public static String getSourceDir() {
return FreeMarkerUtils.class.getResource("/").getPath().split("WEB-INF")[0] + "WEB-INF/freemarker";
}
}
发表评论
-
Spring Annotation Essays
2013-06-26 11:35 995注解关键字 @InitBinder用于表单 ... -
子 pom.xml
2012-09-18 10:30 0<project xmlns="http ... -
parent pom.xml
2012-09-18 10:29 0<?xml version="1.0&q ... -
application.properties
2012-09-18 10:28 0export_file_patch=${tempDir} ... -
quartz-spring.xml定时任务配置
2012-09-18 10:26 0<?xml version="1.0&q ... -
注解主要配置,以及spring邮箱配置
2012-09-18 10:24 0<?xml version="1.0&q ... -
shiro配置
2012-09-18 10:22 0<?xml version="1.0&q ... -
数据库,JPA配置
2012-09-18 10:21 0<?xml version="1.0&q ... -
web.xml配置
2012-09-18 10:19 0<?xml version="1.0&q ... -
配置spring
2012-09-18 10:17 0主配置miv-servlet.xml <?xml ... -
spring 环境配置应用
2012-06-25 11:37 856<!-- app-co ...
相关推荐
利用业余时间对此进行翻译,并在原文的基础上,插入配图,图文并茂方便用户理解。如有勘误欢迎指正,点此提问。如有兴趣,也可以参与到本翻译工作中来 :) 从目录开始阅读吧 Contact: Blog:www.waylau.com Gmail: ...
oracle+struts2.0+hibernate3.1+spring2.0实验代码与前面发布的实验指导配套,由于所需要的包实在太打,所以请你们根据实验指导到相应地方找,实在找不到请email: haoxing272@gmail.com<br>一起努力…………
3. **服务器端技术**:后端可能使用Node.js、Python的Django或Flask,或者Java的Spring Boot等服务器端框架,处理用户请求、与数据库交互并执行归档逻辑。 4. **API接口**:如果邮件归档系统需要集成其他邮件服务...
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
kolesar_3cd_01_0716
latchman_01_0108
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
pimpinella_3cd_01_0716
petrilla_01_0308
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
内容概要:本文档由张卓老师讲解,重点探讨DeepSeek的技术革新及强化学习对未来AI发展的重要性。文章回顾了AI的历史与发展阶段,详细解析Transformer架构在AI上半场所起到的作用,深入介绍了MoE混合专家以及MLA低秩注意机制等技术特点如何帮助DeepSeek在AI中场建立优势,并探讨了当前强化学习的挑战和边界。文档不仅提及AlphaGo和小游戏等成功案例来说明强化学习的强大力量,还提出了关于未来人工通用智能(AGI)的展望,特别是如何利用强化学习提升现有LLMs的能力和性能。 适用人群:本资料适宜对深度学习感兴趣的研究人员、开发者以及想要深入了解人工智能最新进展的专业人士。 使用场景及目标:通过了解最新的AI技术和前沿概念,在实际工作中能够运用更先进的工具和技术解决问题。同时为那些寻求职业转型或者学术深造的人提供了宝贵的参考。 其他说明:文中提到了许多具体的例子和技术细节,如DeepSeek的技术特色、RL的理论背景等等,有助于加深读者对于现代AI系统的理解和认识。
有师傅小程序开源版v2.4.14 新增报价短信奉告 优化部分细节
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
商城二级三级分销系统(小程序+后台含源码).zip
li_3ck_01b_0918
nicholl_3cd_01_0516
媒体关注度是一个衡量公众对某个事件、话题或个体关注程度的重要指标。它主要反映了新闻媒体、社交媒体、博客等对于某一事件、话题或个体的报道和讨论程度。 媒体监督的J-F系数(Janis-Fadner系数)是一种用于测量媒体关注度的指标,特别是用于评估媒体对企业、事件或话题的监督力度。J-F系数基于媒体报道的正面和负面内容来计算,从而为公众、研究者或企业提供一个量化工具,以了解媒体对其关注的方向和强度。 本数据含原始数据、参考文献、代码do文件、最终结果。参考文献中JF系数计算公式。 指标 代码、年份、标题出现该公司的新闻总数、内容出现该公司的新闻总数、正面新闻数全部、中性新闻数全部、负面新闻数全部、正面新闻数原创、中性新闻数原创、负面新闻数原创,媒体监督JF系数。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!