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 ...
随机推荐
- Linux命令(6/28)——declare/typeset命令
declare 与 typeset 命令是bash的内建命令,两者是完全一样的,用来声明shell变量,设置变量的属性. declare命令(别名typeset)属shell内建命令,用于申明shel ...
- HTML5/CSS3图片左右切换弹性动画
在线演示 本地下载
- 20145219 《Java程序设计》第16周课程总结
20145219 <Java程序设计>第16周课程总结 每周读书笔记(即学习总结)链接汇总 第0周问卷调查 第1周读书笔记 第2周读书笔记 第3周读书笔记 第4周读书笔记 第5周读书笔记 ...
- Spark 实现自定义对象sequenceFile方式存储,读写示例(scala编写)
package com.fuge.bigdata.datahub.analysis import java.io.{DataInput, DataOutput} import com.fuge.big ...
- react-native run-android Starting: Intent Error type 3 Error: Activity class does not exist
使用”react-native run-android”命令运行android应用时,如果常常出现如下错误: Starting the app (/home/xxx/soft/sdk//platfor ...
- Mysql导出数据结构 or 数据
如果我们单单只想导出mysql数据表结构,通过navcat工具还不行,这时我们可以用mysqldump工具 在mysql server的安装目录:C:\Program Files\MySQL\MySQ ...
- Tomcat出现java.lang.Exception: Socket bind failed
今天测试系统,Tomcat(apache-tomcat-6.0.20windows版)突然出现异常,导致JSP页面无法运行.错误提示如下:2014-3-12 17:13:29 org.apache.c ...
- 浅谈 session 会话的原理
先谈 cookie 网络传输基于的Http协议,是无状态的协议,即每次连接断开后再去连接,服务器是无法判断此次连接的客户端是谁. 如果每次数据传输都需要进行连接和断开,那造成的开销是很巨大的. 为了解 ...
- SQL命令查询Oracle存储过程信息(代码内容等)
SELECT * FROM ALL_SOURCE where TYPE='PROCEDURE' AND TEXT LIKE '%0997500%'; --查询ALL_SOURCE中,(脚本代码)内 ...
- Asp.net使用powershell管理hyper-v
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...