spring 发送邮件代码示例(带附件和不带附件的)
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.MailParseException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
@RequestMapping("/api")
public class SendMailController { @Autowired
private JavaMailSender mailSender; private SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); @RequestMapping(value = "/sendmsg", method = RequestMethod.GET)
@ResponseBody
public String sendMessage(@RequestParam String mail){ simpleMailMessage.setSubject("~-Test-~");
simpleMailMessage.setText("test");
simpleMailMessage.setFrom("xxxxy@xxxxy.com");
if(mail.indexOf(",")>0){
String[] tos=mail.split(",");
simpleMailMessage.setTo(tos);
}else{
simpleMailMessage.setTo(mail);
}
mailSender.send(simpleMailMessage); return "Mail Sent"; } @RequestMapping(value = "/sendMessageWithAttachment", method = RequestMethod.GET)
@ResponseBody
public String sendMessageWithAttachment(@RequestParam String mail){ simpleMailMessage=new SimpleMailMessage();
simpleMailMessage.setFrom("xxxxy@xxxxy.com");
if(mail.indexOf(",")>0){
String[] tos=mail.split(",");
simpleMailMessage.setTo(tos);
}else{
simpleMailMessage.setTo(mail);
}
simpleMailMessage.setSubject("xxxxy" );
simpleMailMessage.setText("dear davidwangwei456"+"\r\n xxxxy" +",见附件所示"); sendMailWithAttachment("xxxxy.xls",simpleMailMessage); return "Mail Sent"; } private void sendMailWithAttachment(String fileName,SimpleMailMessage simpleMailMessage) {
// 发送邮件
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message , true, "UTF-8");
helper.setFrom(simpleMailMessage.getFrom());
helper.setTo(simpleMailMessage.getTo());
helper.setSubject(simpleMailMessage.getSubject());
helper.setText(simpleMailMessage.getText()); FileSystemResource file = new FileSystemResource(fileName);
helper.addAttachment(file.getFilename(), file); } catch (MessagingException e) {
throw new MailParseException(e);
}
mailSender.send(message);
} @RequestMapping(value = "/hello" , method = RequestMethod.GET)
@ResponseBody
public String getHello(){
return "Hello";
}
spring 发送邮件代码示例(带附件和不带附件的)的更多相关文章
- spring发送邮件(多人接收或抄送多少带附件发送)
系统中的附件分享功能界面 抄送多个效果图 多个接收者效果图 抄送多人带附件源码 多个接收者带附件源码
- .net发送邮件代码示例
下面的代理已经调试过,用的是163的SMTP using System;using System.Collections.Generic;using System.Linq;using System. ...
- 简单理解Spring之IOC和AOP及代码示例
Spring是一个开源框架,主要实现两件事,IOC(控制反转)和AOP(面向切面编程). IOC 控制反转,也可以称为依赖倒置. 所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B, ...
- 2018-08-11 中文代码示例之Spring Boot 2.0.3问好
上次试用Spring Boot还是两年前: 中文代码示例之Spring Boot 1.3.3演示. 打算用在一个讨论组内小项目上, 于是从官网Building an Application with ...
- C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式
C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式 C#实现自动启动的方法-两种方法 源码下载地址: ...
- Spring 注解学习 详细代码示例
学习Sping注解,编写示例,最终整理成文章.如有错误,请指出. 该文章主要是针对新手的简单使用示例,讲述如何使用该注释,没有过多的原理解析. 已整理的注解请看右侧目录.写的示例代码也会在结尾附出. ...
- 旧版asp.net 发送邮件代码
说到发送邮件发送,先提一下SMTP(呵呵,高手就跳过这一段吧!). SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议.它是一组用于从源地址到目的地址传 ...
- Java-利用spring发送邮件
最近项目中需要发送邮件的功能,于是百度一大把例子.但是有很多都是一样的,一点特点都没有.所以决定整理一番. 在spring2.X以后的版本就提供了org.springframework ...
- 配置Spring发送邮件
推荐查看原博客 转载自:配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发 ...
随机推荐
- 淘宝druid报错:javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat
问题: 启动tomcat报错: Tomat报出一下异常:ERROR [com.alibaba.druid.stat.DruidDataSourceStatManager] – unregister m ...
- .NET CORE MVC网站体验
安装SDK https://www.microsoft.com/net/download/core 运行命令行工具 mkdir coremvc cd coremvc dotnet new 文件建立成功 ...
- View的呈现(二)加载流程
这块涉及到Code+Razor模板=>html[output流] 而这块的问题在于Razor最后生成了什么?--对象:一个类文件:eg:index.cshtml => index_cst ...
- 微信小程序 | canvas绘图
1.新的尺寸单位 rpx rpx(responsive pixel): 可以根据屏幕宽度进行自适应. 规定屏幕宽为750rpx.如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则 ...
- P1343 地震逃生
题目描述 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带,每条边都只能容纳一定量 ...
- Linux部署之NFS方式安装系统
1. 让客户端从网络启动并且选择第二项 2. 选择语言 3. 选择键盘布局 4. 选择安装方式为NFS 5. ...
- shell编程-1.字符截取命令-列截取cut
- Codeforces Round #493 (Div. 2) A. Balloons 贪心水题
由于是输出任意一组解,可以将价值从小到大进行排序,第一个人只选第一个,第二个人选其余的.再比较一下第一个人选的元素和第二个人所选元素和是否相等即可.由于已将所有元素价值从小到大排过序,这样可以保证在有 ...
- for循环+setTimeout的延迟操作
例子: for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 100) } 上述代码,输出结果显而易 ...
- java实现登录的验证码和猜数字游戏_图形化界面
实验任务四 1,出现设计思想 (1)先定义文本框.密码框和验证码框的组件 (2)定义面板和按钮的个数 (3)定义公有的虚构方法,通过对象实例化来调用 (4)利用Random类来实现生成0-9的随机数 ...