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. Linux安装字体文件

    登录生成验证码的时候使用了monaco.ttf字体,没有安装字体的情况下,会报错:can't open resource Linux安装字体的方式其实很简单,就是调用fc-cache -f -v命令, ...

  2. Oracle数据库的删除

    在Windows中彻底删除原先的Oracle,然后再重新安装Oracle数据库.具体步骤如下:   1. 开始->设置->控制面板->管理工具->服务,停止所有Oracle服务 ...

  3. 总结一下TODO的用法

      1.设置任务的标签 WINDOW->preference->java->complier->task tags加一个 DONE:NORMAL表示已经完成的任务2. java ...

  4. zabbix邮件报警变量表

    常用变量值 默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME1} 告警时间:{EVE ...

  5. MongoError: server instance in invalid state undefined 解决办法

    MongoDB关键点集锦(更新中...)  2017-01-20 09:33:48[其它数据库]点击数:15作者:Real_Bird的博客来源: 网络 随机为您推荐的文章:MongDB索引的介绍及使用 ...

  6. [转] Android Fragment 你应该知道的一切

     转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42628537,本文出自:[张鸿洋的博客] 很久以前写过两篇Fragment的介 ...

  7. ALS算法 (面试准备)

    ALS算法描述: 1.ALS算法用来补全用户评分矩阵.由于用户评分矩阵比较稀疏,将用户评分矩阵进行分解,变成V和U的乘积.通过求得V和U两个小的矩阵来补全用户评分矩阵. 2.ALS算法使用交替最小二乘 ...

  8. WPF DataGrid 分组

    public ListCollectionView collection; collection = new ListCollectionView(obj.empData); collection.G ...

  9. 如何学好C++语言

    前段时间写了一篇如何学好C语言,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用.首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言. C++是最 ...

  10. Eclipse工具栏上android的机器人小图标不见了

    可以通过「Window」⇒「Customize Perspective」⇒「Tool Bar Visibility」Tab画面上选择Android SDK and AVD Manager来显示