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服务器实现邮件发 ...
随机推荐
- 【HDU 5015】233 Matrix
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5015 [算法] 矩阵乘法 [代码] #include<bits/stdc++.h> u ...
- linux执行shell脚本时提示bad interpreter:No such file or directory的解决办法
故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No s ...
- 初涉springboot
1.首先,我们需要了解微服务是什么? 微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用 ...
- mybatis的sql语句导致索引失效,使得查询超时
mybaitis书写sql需要特别注意where条件中的语句,否则将会导致索引失效,使得查询总是超时.如下语句会出现导致索引失效的情况: with test1 as (select count(C_F ...
- mvel2.0语法指南
虽然mvel吸收了大量的java语法,但作为一个表达式语言,还是有着很多重要的不同之处,以达到更高的效率,比如:mvel像正则表达式一样,有直接支持集合.数组和字符串匹配的操作符. 除了表达式语言外, ...
- MAC 下的pycharm部分使用方法
1.在创建之初,可以选择自己想要使用的python版本. 如果之后想要更换Python版本,可以通过~~~更换选择Python版本. 2.创建.py文件,点击文件名,出现如下界面: 点击new--py ...
- 21_HTML&CSS
今日内容: 1. HTML标签:表单标签2. CSS: HTML标签:表单标签 * 表单: * 概念:用于采集用户输入的数据的.用于和服务器进行交互. * form:用于定义表单的.可以定义一个范围 ...
- zabbix-agent端自定义监控项(free -m)服务器内存使用率
Agent端操作 [root@agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 末行追加 UserParameter=memory_user ...
- webpack——bable-loader,core,preset,编译es6
//文件夹,在命令行中npm init 之后可以一直回车,答y 出现文件 然后安装bable npm install -save-dev babel-loader babel-core 文件 然后我们 ...
- css控制单行或者多行文本超出显示省略号
1.单行文本 使用text-overflow:ellipsis属性 text-overflow: clip|ellipsis|string; clip:修剪文本. ellipsis:显示省略符号来代表 ...