Spring 实现发送电子邮件的两种方法
1.通过xml文件配置主要属性:
xml文件:test.xml
- <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
- <property name="host" value="smtp.126.com" />
- <property name="port" value="25" />
- <property name="username" value="dxxx@126.com" />
- <property name="password" value="xxxxxxx" />
- <property name="javaMailProperties">
- <props>
- <prop key="mail.smtp.auth">true</prop>
- </props>
- </property>
- </bean>
java发送代码:
a.text文字发送模式:
- //获得xml文件环境
- ApplicationContext context = new ClassPathXmlApplicationContext("test.xml");
- //取得配置
- JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
- SimpleMailMessage mail = new SimpleMailMessage();
- mail.setFrom("xxxxxx@126.com");
- mail.setTo("ddddd@126.com");
- mail.setSubject(" 测试spring Mail");
- String text = "您购买了团购【韩式汉蒸,蒸出健康好肤色!】,嘀嗒券【19856121】已于2011年05月07日";
- mail.setText(text);
- mailSender.send(mail);
b.html邮件发送模式:
- //建立邮件消息,发送简单邮件和html邮件的区别
- MimeMessage mailMessage = senderImpl.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);
- //设置收件人,寄件人
- messageHelper.setTo("sun111@163.com");
- messageHelper.setFrom("webadmin@163.com");
- messageHelper.setSubject("测试HTML邮件!");
- //true 表示启动HTML格式的邮件
- messageHelper.setText("<html><head></head><body><h1>hello!!zhangjian</h1></body></html>",true);
- //发送邮件
- senderImpl.send(mailMessage);
c.邮件中嵌套图片
- //获得xml文件环境
- ApplicationContext context = new ClassPathXmlApplicationContext("test.xml");
- //取得配置
- JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
- //建立邮件消息,发送简单邮件和html邮件的区别
- MimeMessage mailMessage = mailSender.createMimeMessage();
- try {
- //注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用 multipart模式
- MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true);
- //设置收件人,寄件人
- messageHelper.setTo("dfdfd@126.com");
- messageHelper.setFrom("ssss@126.com");
- messageHelper.setSubject("测试邮件中嵌套图片!!");
- //true 表示启动HTML格式的邮件
- messageHelper.setText("<html><head></head><body><h1>hello!!zhangjian</h1><img src=/"cid:aaa/"/></body></html>",true);
- FileSystemResource img = new FileSystemResource(new File("c:/350.jpg"));
- messageHelper.addInline("aaa",img);
- } catch (MessagingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
2.通过java代码设置属性发送邮件:
- //这个类主要是设置邮件
- MailSenderInfo mailInfo = new MailSenderInfo();
- mailInfo.setMailServerHost("smtp.126.com");
- mailInfo.setMailServerPort("25");
- mailInfo.setValidate(true);
- mailInfo.setUserName("sssss@126.com");
- mailInfo.setPassword("dddddfd");//您的邮箱密码
- mailInfo.setFromAddress("dfdfd@126.com");
- mailInfo.setToAddress("vcvc@126.com");
- mailInfo.setSubject("设置邮箱标题 如http://www.guihua.org 中国桂花网");
- String content = "<div style=/"padding:20px;/"><a href=/"http://www.didatuan.com//">" +
- "<img src=/"http://www.didatuan.com/static/img/logo.gif/" style=/"border:none;/"></a>" +
- "<div style=/"width:100%; height:10px; border-bottom:1px solid #CCC;/"></div>" +
- "<h2 style=/"font-size:14px; color:#333; font-weight:bold; line-height:30px;/">Hi," +
- "<span style=/"color:#ff9900/">yue_861120</span>,您好!</h2>" +
- "<p style=/"font-size:12px; color:#666; line-height:20px;/">您购买了团购【韩式汉蒸,蒸出健康好肤色!】,嘀嗒券【19856121】已于2011年05月07日 13时52分消费。</p>" +
- "<p style=/"font-size:12px; color:#666; line-height:20px;/">【嘀嗒团客服】:400-000-1666</p>" +
- "<p style=/"font-size:12px; color:#666; line-height:20px;/">详情请查询:" +
- "<a href=/"http://www.didatuan.com//coupon/index.php/" target=/"_blank/" " +
- "style=/"color:#006699;/">http://www.didatuan.com/</a></p></div>";
- mailInfo.setContent(content);//这个类主要来发送邮件
- SimpleMailSender sms = new SimpleMailSender();
- sms.sendTextMail(mailInfo);//发送文体格式
- sms.sendHtmlMail(mailInfo);//发送html格式
Spring 实现发送电子邮件的两种方法的更多相关文章
- IOS发送Email的两种方法
IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. ...
- IOS发送Email的两种方法-备
1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时 ...
- spring 配置文件 引入外部的property文件的两种方法
spring 的配置文件 引入外部的property文件的两种方法 <!-- 引入jdbc配置文件 方法一 --> <bean id="propertyConfig ...
- spring boot 学习10 定义springboot的两种方法
使用spring boot的两种方法: A:继承spring-boot-starter-parent项目 这种方式很简单,只需要在POM里面添加parent父工程即可. B: 如果你不喜欢继承spri ...
- 使用PHP发送邮件的两种方法
使用PHP发送邮件的两种方法 May242013 作者:Jerry Bendy 发布:2013-05-24 22:25 分类:PHP 阅读:2,107 views 抢沙发 今天 ...
- spring接收json字符串的两种方式
一.前言 前几天遇到一个问题,前端H5调用我的springboot一个接口(post方式,@RequestParameter接收参数),传入的参数接收不到.自己测试接口时使用postman的form- ...
- RabbitMQ实现延时消息的两种方法
目录 RabbitMQ实现延时消息的两种方法 1.死信队列 1.1消息什么时候变为死信(dead-letter) 1.2死信队列的原理 1.3 代码实现 1.4死信队列的一个小坑 2 .延时插件 2. ...
- android 之 启动画面的两种方法
现在,当我们打开任意的一个app时,其中的大部分都会显示一个启动界面,展示本公司的logo和当前的版本,有的则直接把广告放到了上面.启动画面的可以分为两种设置方式:一种是两个Activity实现,和一 ...
- Redis中持久化的两种方法详解
Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...
随机推荐
- Spark机器学习3·推荐引擎(spark-shell)
Spark机器学习 准备环境 jblashttps://gcc.gnu.org/wiki/GFortranBinaries#MacOS org.jblas:jblas:1.2.4-SNAPSHOT g ...
- 优秀 H5 案例收集 Vol.2(不定期更新)
上期浏览:Vol.1 再见了,影史最性感的硬汉http://news.163.com/special/fdh5_wolverine/ 活出真我http://balfhcy.pernod-ricard- ...
- Arrays.asList()与toArray()
Arrays.asList() 使用Arrays.asList()把数组转换成集合时,不能使用用于修改集合的方法(例如add.remove.clear),这将导致跑出UnsupportOperatio ...
- 20145229吴姗珊《网络对抗》WEB基础实践
20145229吴姗珊<网络对抗>WEB基础实践 基础与实践 基础问题 1.什么是表单 表单是可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 一部分是HTML源代码用于 ...
- AI理论学习笔记(一):深度学习的前世今生
AI理论学习笔记(一):深度学习的前世今生 大家还记得以深度学习技术为基础的电脑程序AlphaGo吗?这是人类历史中在某种意义的第一次机器打败人类的例子,其最大的魅力就是深度学习(Deep Learn ...
- Docker高级使用
Docker卸载应用程序 先删除容器,在删除镜像 查询容器 docker ps –a 使用容器id删除容器 docker rm 18e672ecd8ed 查询镜像 docker images 使用镜像 ...
- mac 安装python3
Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的. 现在 Mac 上默认安装的 python 版本为 2.7 版本,若 安装 新版本需要 通过 该地址进行下载: http ...
- Java子类强制转父类类型不会变
class A{ void a(){ System.out.println("parent'a()"); }} class AA extends A{ ...
- JavaScript中this关键字的使用比较
JavaScript中this关键字的使用比较 this关键字在JavaScript中,用的不能说比较多,而是非常多.那么熟悉this关键字的各种用法则显得非常关键. this有时候就是我们经常说的上 ...
- 没有服务器,关于angular路由访问静态页面chrome报错的问题
这个找不到html,报错因为没有xhr,但是在火狐下没有问题的. 比如说ajax,直接写路径的话,我们的chrome也是不支持的,火狐可以的.