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, ...
随机推荐
- 运算符++,--的使用及 while循环测试的用处
前++与后++的区别: b=3+(++a);//a=a+1;b=3+a; b=3+(a++);//b=3+a;a=a+1; while (true)( 循环语句,可以实现程序的多次测试) { Cons ...
- linux配置oracle11G监听及本地网络服务 及 数据库建库
配置监听及本地网络服务 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面. 数据库建库 在oracle用户的图形界面oracle用户中,新开启一个终端 ...
- js获取某个ID的class名称
.HTML结构 <div id = "test" class="test_class">我的类名为test_class</div> &l ...
- Unity 下载
Unity历史版本 http://wiki.ceeger.com/unity:history#unity_522f1 UNITY 下载存档 http://unity3d.com/cn/get-unit ...
- localdb
<connectionStrings> - <add name="default" connectionString="Data Source=.; I ...
- CPC CPM
计算广告的分类: 根据广告主的计费方式,可以分为 千次展现付费 CPM(cost per thousand impressions) 主要用于品牌曝光,例如钻展业务 每次点击扣费 CPC(cost p ...
- maven可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)
我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖 ...
- line-height:150%和 line-height:1.5 的区别
父元素line-height为150%或1.5em时,依据父元素的字体大小计算出行高值让子元素继承父元素line-height为1.5时,依据子元素字体大小计算其行高值.
- Spring--Spring容器
在使用Spring所提供的各种丰富而神奇的功能之前,必须要在Spring IoC容器中装配好Bean,并建立Bean和Bean之间的关联关系. Spring提供了多种配置方式来实现Bean的装配.但在 ...
- PHP7的安装
PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂 ...