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 发送邮件代码示例(带附件和不带附件的)的更多相关文章

  1. spring发送邮件(多人接收或抄送多少带附件发送)

    系统中的附件分享功能界面 抄送多个效果图 多个接收者效果图 抄送多人带附件源码 多个接收者带附件源码

  2. .net发送邮件代码示例

    下面的代理已经调试过,用的是163的SMTP using System;using System.Collections.Generic;using System.Linq;using System. ...

  3. 简单理解Spring之IOC和AOP及代码示例

    Spring是一个开源框架,主要实现两件事,IOC(控制反转)和AOP(面向切面编程). IOC 控制反转,也可以称为依赖倒置. 所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B, ...

  4. 2018-08-11 中文代码示例之Spring Boot 2.0.3问好

    上次试用Spring Boot还是两年前: 中文代码示例之Spring Boot 1.3.3演示. 打算用在一个讨论组内小项目上, 于是从官网Building an Application with ...

  5. C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式

    C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式 C#实现自动启动的方法-两种方法 源码下载地址: ...

  6. Spring 注解学习 详细代码示例

    学习Sping注解,编写示例,最终整理成文章.如有错误,请指出. 该文章主要是针对新手的简单使用示例,讲述如何使用该注释,没有过多的原理解析. 已整理的注解请看右侧目录.写的示例代码也会在结尾附出. ...

  7. 旧版asp.net 发送邮件代码

    说到发送邮件发送,先提一下SMTP(呵呵,高手就跳过这一段吧!). SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议.它是一组用于从源地址到目的地址传 ...

  8. Java-利用spring发送邮件

    最近项目中需要发送邮件的功能,于是百度一大把例子.但是有很多都是一样的,一点特点都没有.所以决定整理一番.         在spring2.X以后的版本就提供了org.springframework ...

  9. 配置Spring发送邮件

    推荐查看原博客        转载自:配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发 ...

随机推荐

  1. 通过QEMU-GuestAgent实现从外部注入写文件到KVM虚拟机内部

    本文将以宿主上直接写文件到VM内部为例讲解为何要注入以及如何实现 tag: qemu-ga, qemu guest agent, kvm, guest-file-write, inject 小慢哥的原 ...

  2. Redis学习笔记(八) 基本命令:SortedSet操作

    原文链接:http://doc.redisfans.com/sorted_set/index.html SortedSet的数据结构类似于Set,不同的是Sorted中的每个成员都分配了一个值(Sco ...

  3. 欢迎来到SQL学院

    给学习SQL的同学的福利@ http://sqlschool.modeanalytics.com/ 第一部分 学习SQL 本教程是专为那些想用数据回答问题的人们而设计的.从很大程度上讲,SQL是数据分 ...

  4. H5自带进度条&滑块

    一.H5自带进度条 <div id="d1"> <p id="pgv">进度:0%</p> <progress id= ...

  5. Spring meven 配置

    使用maven的仓库化管理,可以更方便有效的控制文件. 在官网下载maven. 官网的地址:http://maven.apache.org/download.cgi  请选择最新的版本下载, 这里我用 ...

  6. wechat4j开发所有jar包

    wechat4j开发所需要的jar包合计,不用你去单独下载,已经全部包括 下载连接 wechat4j-lib.rar 如果你的服务是部署在新浪云计算SAE上的,那么下载这个jar合集 wechat4j ...

  7. Pyhton学习——Day58

    From表单验证 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. composer install或者update 出错

    composer install或者update  出错Your requirements could not be resolved to an installable set of package ...

  9. Python发行版本Anaconda的安装说明:基于Anaconda2-4.3.1-Windows-x86_64

    Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果 ...

  10. Spark机器学习之MLlib整理分析

    友情提示: 本文档根据林大贵的<Python+Spark 2.0 + Hadoop机器学习与大数据实战>整理得到,代码均为书中提供的源码(python 2.X版本). 本文的可以利用pan ...