1.通过xml文件配置主要属性:

xml文件:test.xml

  1. <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  2. <property name="host" value="smtp.126.com" />
  3. <property name="port" value="25" />
  4. <property name="username" value="dxxx@126.com" />
  5. <property name="password" value="xxxxxxx" />
  6. <property name="javaMailProperties">
  7. <props>
  8. <prop key="mail.smtp.auth">true</prop>
  9. </props>
  10. </property>
  11. </bean>

java发送代码:

a.text文字发送模式:

  1. //获得xml文件环境
  2. ApplicationContext context = new ClassPathXmlApplicationContext("test.xml");
  3. //取得配置
  4. JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
  5. SimpleMailMessage mail = new SimpleMailMessage();
  6. mail.setFrom("xxxxxx@126.com");
  7. mail.setTo("ddddd@126.com");
  8. mail.setSubject(" 测试spring Mail");
  9. String text = "您购买了团购【韩式汉蒸,蒸出健康好肤色!】,嘀嗒券【19856121】已于2011年05月07日";
  10. mail.setText(text);
  11. mailSender.send(mail);

b.html邮件发送模式:

  1. //建立邮件消息,发送简单邮件和html邮件的区别
  2. MimeMessage mailMessage = senderImpl.createMimeMessage();
  3. MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);
  4. //设置收件人,寄件人
  5. messageHelper.setTo("sun111@163.com");
  6. messageHelper.setFrom("webadmin@163.com");
  7. messageHelper.setSubject("测试HTML邮件!");
  8. //true 表示启动HTML格式的邮件
  9. messageHelper.setText("<html><head></head><body><h1>hello!!zhangjian</h1></body></html>",true);
  10. //发送邮件
  11. senderImpl.send(mailMessage);

c.邮件中嵌套图片

  1. //获得xml文件环境
  2. ApplicationContext context = new ClassPathXmlApplicationContext("test.xml");
  3. //取得配置
  4. JavaMailSender mailSender = (JavaMailSender) context.getBean("mailSender");
  5. //建立邮件消息,发送简单邮件和html邮件的区别
  6. MimeMessage mailMessage = mailSender.createMimeMessage();
  7. try {
  8. //注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用   multipart模式
  9. MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true);
  10. //设置收件人,寄件人
  11. messageHelper.setTo("dfdfd@126.com");
  12. messageHelper.setFrom("ssss@126.com");
  13. messageHelper.setSubject("测试邮件中嵌套图片!!");
  14. //true 表示启动HTML格式的邮件
  15. messageHelper.setText("<html><head></head><body><h1>hello!!zhangjian</h1><img src=/"cid:aaa/"/></body></html>",true);
  16. FileSystemResource img = new FileSystemResource(new File("c:/350.jpg"));
  17. messageHelper.addInline("aaa",img);
  18. } catch (MessagingException e) {
  19. // TODO Auto-generated catch block
  20. e.printStackTrace();
  21. }

2.通过java代码设置属性发送邮件:

  1. //这个类主要是设置邮件
  2. MailSenderInfo mailInfo = new MailSenderInfo();
  3. mailInfo.setMailServerHost("smtp.126.com");
  4. mailInfo.setMailServerPort("25");
  5. mailInfo.setValidate(true);
  6. mailInfo.setUserName("sssss@126.com");
  7. mailInfo.setPassword("dddddfd");//您的邮箱密码 
  8. mailInfo.setFromAddress("dfdfd@126.com");
  9. mailInfo.setToAddress("vcvc@126.com");
  10. mailInfo.setSubject("设置邮箱标题 如http://www.guihua.org 中国桂花网");
  11. String content = "<div style=/"padding:20px;/"><a href=/"http://www.didatuan.com//">" +
  12. "<img src=/"http://www.didatuan.com/static/img/logo.gif/" style=/"border:none;/"></a>" +
  13. "<div style=/"width:100%; height:10px; border-bottom:1px solid #CCC;/"></div>" +
  14. "<h2 style=/"font-size:14px; color:#333; font-weight:bold; line-height:30px;/">Hi," +
  15. "<span style=/"color:#ff9900/">yue_861120</span>,您好!</h2>" +
  16. "<p style=/"font-size:12px; color:#666; line-height:20px;/">您购买了团购【韩式汉蒸,蒸出健康好肤色!】,嘀嗒券【19856121】已于2011年05月07日 13时52分消费。</p>" +
  17. "<p style=/"font-size:12px; color:#666; line-height:20px;/">【嘀嗒团客服】:400-000-1666</p>" +
  18. "<p style=/"font-size:12px; color:#666; line-height:20px;/">详情请查询:" +
  19. "<a href=/"http://www.didatuan.com//coupon/index.php/" target=/"_blank/" " +
  20. "style=/"color:#006699;/">http://www.didatuan.com/</a></p></div>";
  21. mailInfo.setContent(content);//这个类主要来发送邮件
  22. SimpleMailSender sms = new SimpleMailSender();
  23. sms.sendTextMail(mailInfo);//发送文体格式
  24. sms.sendHtmlMail(mailInfo);//发送html格式

Spring 实现发送电子邮件的两种方法的更多相关文章

  1. IOS发送Email的两种方法

    IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. ...

  2. IOS发送Email的两种方法-备

    1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时 ...

  3. spring 配置文件 引入外部的property文件的两种方法

    spring  的配置文件 引入外部的property文件的两种方法 <!-- 引入jdbc配置文件    方法一 --> <bean id="propertyConfig ...

  4. spring boot 学习10 定义springboot的两种方法

    使用spring boot的两种方法: A:继承spring-boot-starter-parent项目 这种方式很简单,只需要在POM里面添加parent父工程即可. B: 如果你不喜欢继承spri ...

  5. 使用PHP发送邮件的两种方法

    使用PHP发送邮件的两种方法 May242013 作者:Jerry Bendy   发布:2013-05-24 22:25   分类:PHP   阅读:2,107 views   抢沙发     今天 ...

  6. spring接收json字符串的两种方式

    一.前言 前几天遇到一个问题,前端H5调用我的springboot一个接口(post方式,@RequestParameter接收参数),传入的参数接收不到.自己测试接口时使用postman的form- ...

  7. RabbitMQ实现延时消息的两种方法

    目录 RabbitMQ实现延时消息的两种方法 1.死信队列 1.1消息什么时候变为死信(dead-letter) 1.2死信队列的原理 1.3 代码实现 1.4死信队列的一个小坑 2 .延时插件 2. ...

  8. android 之 启动画面的两种方法

    现在,当我们打开任意的一个app时,其中的大部分都会显示一个启动界面,展示本公司的logo和当前的版本,有的则直接把广告放到了上面.启动画面的可以分为两种设置方式:一种是两个Activity实现,和一 ...

  9. Redis中持久化的两种方法详解

    Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...

随机推荐

  1. JavaScript返回顶部特效

    样式: <style type="text/css"> /*返回顶部特效*/ a { border: none; text-decoration: none; outl ...

  2. 【笔记】H5自适应(待)

    参考: 1.盒子模型:http://www.cnblogs.com/sunyunh/archive/2012/09/01/2666841.html 2.浮动:http://www.w3school.c ...

  3. jQuery时间轴鼠标悬停动画

    在线演示 本地下载

  4. 【传感器】BMA253 数字,三轴加速度传感器

    参考文档:BMA253E DataSheet 参考文档链接 密码:9new BMA253 数字,三轴加速度传感器 关键特性: 关键特性   封装方式 LGA封装(12pins),长*宽(2mm*2mm ...

  5. 转: 在hibernate中查询使用list,map定制返回类型

    在使用hibernate进行查询时,使用得最多的还是通过构建hql进行查询了.在查询的过程当中,除使用经常的查询对象方法之外,还会遇到查询一个属性,或一组聚集结果的情况.在这种情况下,我们通常就需要对 ...

  6. JMS-activeMq发布订阅模式

    上一篇对点对点模式进行总结,这一篇都发布订阅模式进行总结,代码都差不多,唯一区别就是创建队(session.createQueue(目的地))列改为创建主题(session.createTopic(目 ...

  7. JavaWeb -- Struts 数据传输:OGNL和类型转换

    1. 数据传输:OGNL和类型转换 OGNL和struts2 OGNL:Object-Graph Navigation Language. OGNL是集成进struts框架中比较强大的技术有助于数据传 ...

  8. 使用Executor管理Thread对象详解

    java SE5的java.util.concurrent包中的执行器(Executor)是管理Thread对象的优选方法.使用Executor管理Thread对象可以简化并发编程. Executor ...

  9. Pandas系列

    系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. pandas.Series Pandas系列可以使用以下构造函数创建 - p ...

  10. scjp考试准备 - 8 - final关键字

    题目,如下代码的执行结果: import java.util.ArrayList; class Pizza{ ArrayList toppings; public final void addTopp ...