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. 支持Access的数据库建模工具 EZDML

    支持Access的数据库建模工具 EZDML 下载地址:EZDML v1.5

  2. Nginx 限制php解析、限制浏览器访问

    限制php解析 1.有时候会根据目录来限制php解析: location ~ .*(diy|template|attachments|forumdata|attachment|image)/.*\.p ...

  3. CSV文件导入导出MySQL

    使用SQLyog 工具导入文件数据到MySQL: Excel文件导入导出: 需要驱动:Microsoft Office 2007驱动 导入需要注意的问题:1.Excel里数值列,默认导入会变成浮点型. ...

  4. Oracle数据库PLSQL的中文乱码显示全是问号

    plsql连接数据库乱码问题 缘由: 小师妹周末叫我帮她重装数据库,这么大好的周末时光不出去玩儿,给她装数据库这不是很蛋疼么. 我问她为什么要重装,她说:数据存入数据库后,中文字符有乱码,一定是我上次 ...

  5. 洛谷P3393逃离僵尸岛 最短路

    貌似一直不写题解不太好QAQ 但是找不到题啊... 随便写点水题来补博客吧 题目不pa了,点链接吧... 点我看题 很明显这是道sb题... 思路:  对于每一个僵尸城市预处理其 s 距离内的城市,然 ...

  6. LeetCode Weekly Contest 23

    LeetCode Weekly Contest 23 1. Reverse String II Given a string and an integer k, you need to reverse ...

  7. MD5加密算法的java实现

    package other; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/* * ...

  8. LeetCode第[21][23]题(Java):Merge Sorted Lists

    题目:合并两个已排序链表 难度:Easy 题目内容: Merge two sorted linked lists and return it as a new list. The new list s ...

  9. java中int i 会出现i+1i吗

    Java中int是32,范围是-2147483648到2147483647 所以i+1 < i 或者 i-1 > i是会出现的. int i=(int) Math.pow(2, 32); ...

  10. hdu1695莫比乌斯反演模板题

    hdu1695 求1<=i<=n&&1<=j<=m,gcd(i,j)=k的(i,j)的对数 最后的结果f(k)=Σ(1<=x<=n/k)mu[x]* ...