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(){

        simpleMailMessage.setSubject("~-Test-~");
        simpleMailMessage.setText("test");
        simpleMailMessage.setFrom("[email protected]");
        simpleMailMessage.setTo("[email protected]");

        mailSender.send(simpleMailMessage);

        return "Mail Sent";

    }

    @RequestMapping(value = "/sendMessageWithAttachment", method = RequestMethod.GET)
    @ResponseBody
    public String sendMessageWithAttachment(){

        simpleMailMessage=new SimpleMailMessage();
        simpleMailMessage.setFrom("[email protected]");
        simpleMailMessage.setTo("[email protected]");
        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";
    }
时间: 2024-08-25 05:01:30

spring 发送邮件代码示例(带附件和不带附件的)的相关文章

旧版asp.net 发送邮件代码

说到发送邮件发送,先提一下SMTP(呵呵,高手就跳过这一段吧!). SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议.它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式.SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地.SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器.         再简单介绍一下名称空间(NameSpace)System.Web.Mail类库里所提供的

Android Java使用JavaMail API发送和接收邮件的代码示例

JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的jar包(请下载javamail的源文件,官方下载页:http://www.oracle.com/technetwork/java/javamail/index-138643.html):mailapi.jar.定义了收发邮件所使用到的接口API:smtp.jar.包含了发送邮件使用到的类:pop3.

配置Spring发送邮件

推荐查看原博客        转载自:配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发送的功能. Spring自带的一个MailSender的实现--JavaMailSenderImpl.它会使用JavaMail API来发送Email. 配置邮件发送器 需要的核心maven: <dependency> <groupId>org.springframework</

【嵌入式开发】裸机引导操作系统和ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )

[嵌入式开发]ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 ) 一. 内存 简介 1. 两大内存分类 ( 1 ) DRAM 简介 ( 定期刷新 | 速度慢 | 成本低 ) DRAM 简介 : 1.硬件描述 : DRAM 基本由一个个小电容基本原件组成, 电容的两端保留电荷; 2.优缺点描述 : ① 优点 : 成本很低, 很便宜; ② 缺点 : 需要 定期刷新数据, 速度较慢; a.

【转】CXF+Spring+Eclipse简明示例

Eclipse+CXF+Spring共同开发的示例,供大家赏鉴. 多系统(异构系统)进行交互时,一种良好的方式便是调用Web Service,本示例基于Apache组织的CXF,为了方便起见特将服务端和客户端写在同一个工程下,实际项目中是不可能的,但是客户端却依赖于服务端的Web Service接口,那么可以通过导出jar的方式. 环境:Eclipse Mars.1 Release (4.5.1)JDK 1.7.0_15Tomcat 7CXF 2.1.3 Spring3 示例项目结构图: 如上图

SFTP客户端代码示例

SFTP客户端代码示例 环境:libssh2 1.4.3.zlib-1.2.8.openssl-1.0.1g Author: Kagula 最后更新日期:2014-5-18 从http://www.libssh2.org/下载libssh2-1.4.3.tar.gz文件,解压后打开libssh2.dsw文件升级项目到VisualStudio 2013,里面有两个项目,只要编译libssh2项目就可以了.编译前需要添加zlib和openssl的头文件和库文件链接位置,如果编译libssh2提示找不

通过.NET实现后台自动发送Email功能的代码示例

原文:通过.NET实现后台自动发送Email功能的代码示例 通过.NET实现后台自动发送邮件功能的代码,可以将一些基础信息放到web.config文件中进行保存: Web.config文件信息段: <system.net> <mailSettings> <smtp deliveryMethod="Network" from="待发送邮箱地址"> <network host="待发送邮箱SMTP地址" us

Spring松耦合示例(转)

Spring松耦合示例 面向对象设计的理念是把整个系统分成一组可重用的组件,然而,当系统变得越大的时候,尤其是在java中,这最大的对象依赖将会紧紧耦合,以至于非常难以管理和修改,而现在,你可以使用Spring框架扮演一个中间模块的角色,方便高效地管理其他组件依赖 输出生成的例子 看个例子,假设你的项目有一个方法可以输出内容到csv或者json格式,你可能写出这样的代码 package com.mkyong.output; public interface IOutputGenerator {

Spring+Mybatis开发示例

写下来留个纪念(^~^)大神可飘过 1,实现Spring+Mybatis+数据源的配置 2,实现枚举到数据库TINYINT类型的转换 3,slf4j日志配置方法 4,数据库增+删+改+查操作 5,实现效果界面+项目配置目录树       6,关键代码: a)控制器 package com.fresh.lyh.simple.controller; import com.fresh.lyh.simple.model.Simple; import com.fresh.lyh.simple.model.