velocity +mybatis+ springMvc构建邮件服务器知识总结
1.在controller中传值到页面
(1)List<String> 类型
List<String> servers = null ;
//……………………
mv.addObject("servers", servers);
<select id="serverSel" name="server" onchange="changeServer()">
#foreach ($server in $servers)
<option value="$server" >$server</option>
#end
</select>
(2)List<Bean>类型
List<User> qqList = null ;
//……………………
mv.addObject("qqEmailList", qqList);
#foreach ($qe in $qqEmailList)
<input type="checkbox" name="userEmail" value="$qe.userId">$qe.userEmail<br />
#end
2.在controller中不跳转页面直接跳转下一个方法
mView.setViewName("redirect:sendEmail.do");
return mView;
或者如下方法:
return new RedirectView("tasks.do");
3.用spring自带的JavaMailSenderImpl类和MimeMessageHelper类发送可以包含html内容的邮件
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
//设置邮件服务器主机和端口
mailSender.setHost(serverBean.getHost());
mailSender.setPort(Integer.valueOf(serverBean.getPort())); MimeMessage mailMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");
//设置收件人
messageHelper.setTo(toEmail);
//设置发件人以及发件人名字
messageHelper.setFrom(serverBean.getFromEmail(), "EquipOne");
//设置邮件标题
messageHelper.setSubject(subject);
//设置邮件内容,以及是否允许为html代码
messageHelper.setText(content, true);
//构建properties类,存放SMTP服务器参数
Properties prop = new Properties();
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.timeout", "250000");
final String from = serverBean.getFromEmail();
final String password = serverBean.getPassword();
//创建账号密码验证器,验证邮件服务器登陆账号
Authenticator auth = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
};
//Session.getInstance(prop, auth)根据邮件会话属性和密码验证器构造一个发//送邮件的session,并放入JavaMailSenderImpl类 mailSender.setSession(Session.getInstance(prop, auth));
mailSender.send(mailMessage);
4.mybatis插入语句返回所插入的主键的值,加上(useGeneratedKeys="true" keyProperty="对应表字段的类属性")
<resultMap type="EmailDetail" id="emailDetail">
<result property="emailId" column="email_id" />
<result property="emailContent" column="email_content" />
<result property="emailSubject" column="email_subject" />
<result property="emailStatus" column="email_status" />
</resultMap>
<insert id="addData" parameterType="com.netcloud.mail.entity.EmailDetail" useGeneratedKeys="true" keyProperty="emailId">
insert into t_email_detail(email_content,email_subject,email_status) values(#{emailContent},#{emailSubject},#{emailStatus})
</insert>
velocity +mybatis+ springMvc构建邮件服务器知识总结的更多相关文章
- Linux安全应用之防垃圾邮件服务器的构建
Linux安全应用之防垃圾邮件服务器的构建 一.垃圾邮件产生的原因 垃圾邮件(SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE(Un ...
- Linux 小知识翻译 - 「邮件服务器」
这次聊聊「邮件服务器」. 邮件服务器上通常会运行2个服务端软件,「SMTP服务器」和「POP服务器或者IMAP服务器」. 这2个东西,也许使用邮件客户端的人立马就明白了.因为设置邮件客户端的时候,需要 ...
- 【Mail】搭建邮件服务器(LAMP+Postfix+Dovcot+PostfixAdmin+Roundcubemail)
大纲 一.mail部署说明 二.安装准备 三.LMAP环境配置 四.配置postfixadmin 五.配置postfix 六.配置dovecot 七.测试SMTP和POP3服务 八.配置Roundcu ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- 用Gitolite 构建 Git 服务器
转载 Gitolite 构建 Git 服务器 作者: 北京群英汇信息技术有限公司 网址: http://www.ossxp.com/ 版本: 0.1-1 日期: 2010-10-07 14:52:19 ...
- 使用Vert.x构建Web服务器和消息系统
如果你对Node.js感兴趣,Vert.x可能是你的下一个大事件:一个建立在JVM上一个类似的架构企业制度. 这一部分介绍Vert.x是通过两个动手的例子(基于Vert.x 2.0). 当Node.j ...
- Gitolite 构建 Git 服务器
Gitolite 构建 Git 服务器 Gitolite 构建 Git 服务器作者: 北京群英汇信息技术有限公司网址: http://www.ossxp.com/版本: 0.1-1日期: 2010-1 ...
- MyBatis:学习笔记(1)——基础知识
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...
- linux 邮件服务器
邮件通信系统协议及概念:软件角色:MUA:邮件客户端MTA:邮件服务端MDA:邮件服务端模块邮件客户端:Mail User Agent,邮件用户代理邮件服务端:Mail Transfer Agent, ...
随机推荐
- C#------如何获取本机IP地址
转载: http://www.narkii.com/club/thread-396944-1.html 代码: private string GetIpAddress() { string hostN ...
- 基础SQL语句
SQL语句: 1.插入 方法一: "INSERT INTO [DB].[dbo].[T_Table] ([ID],[Name],[Amount],[Creater],[CreatedOn], ...
- 自然语言14.1_python实现PorterStemmer算法
QQ:231469242 欢迎喜欢nltk朋友交流 #https://tartarus.org/martin/PorterStemmer/python.txt #!/usr/bin/env pytho ...
- NodeJS
http://nodejs.org/ http://www.nodebeginner.org/index-zh-cn.html Javascript Engines http://www.sencha ...
- ecshop 版权问题 Powered by ECShop
将下代码 <div style="width:0px;height: 0px;overflow:hidden;">{foreach from=$lang.p_y ite ...
- from live writer
<body> <div class="pagination"> <a href="#" class="first&quo ...
- 未能加载文件或程序集“MySQLDriverCS
未能加载文件或程序集“MySQLDriverCS, Version=3.0.1735.36021, Culture=neutral, PublicKeyToken=172f94dfb0faf263”或 ...
- OS命令注入
SSL http://kb.cnblogs.com/page/162080/ http://baike.baidu.com/link?url=jPitKuDw_ncDlMbOc1SkWzM9TuKX9 ...
- CSS立体标签实现
<style> .tag { background-color: #de3f33; position: relative; text-align: center; color: #fff; ...
- NSURLSession & NSCache
用于替代 NSURLConnection 支持后台运行的网络任务 暂停.停止.重启网络任务,不再需要 NSOperation 封装 请求可以使用同样的配置容器 不同的 session 可以使用不同的私 ...