package com.ws.common.mail;

import java.io.File;

import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility; import org.apache.log4j.Logger;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper; public class EmailSample {
private static Logger logger = Logger.getLogger(EmailSample.class); /**
* 邮件测试工具类
*
* @param subject 邮件主题
* @param content HTML格式的邮件内容
*/
public static void sendFileMail(String subject, String content) {
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
// 设置自己登陆email的服务商提供的host
senderImpl.setHost("smtp.****.com");
// 设置自己登陆邮箱账号
senderImpl.setUsername("ACCC*@xx.com");
// 邮箱密码
senderImpl.setPassword("****************");
try {
// 建立HTML邮件消息
MimeMessage mailMessage = senderImpl.createMimeMessage();
// true表示开始附件模式.如果邮件不需要附件设置成false即可
MimeMessageHelper messageHelper = new MimeMessageHelper(
mailMessage, true, "utf-8");
// 设置收信人的email地址
messageHelper.setTo("81****909@qq.com");
// 设置寄信人的email地址{与上面登陆的邮件一致}
messageHelper.setFrom("ac1315419@aliyun.com");
// 设置邮件发送内容的主题
messageHelper.setSubject(subject);
// true 表示启动HTML格式的邮件
messageHelper.setText("<html><title>这是一封test邮件</title><body>"
+ content + "</body></html>", true);
// 如不需要附件,这里可以省略---------------------------------------START
// 读取附件一
FileSystemResource file1 = new FileSystemResource(new File(
"e:/test/pic/ngc1.png"));
// 读取附件二
FileSystemResource file2 = new FileSystemResource(new File(
"e:/test/pic/gongbo1.png"));
FileSystemResource file3 = new FileSystemResource(new File(
"e:/test/db/xiuzhenguilai.txt"));
// 添加附件一
messageHelper.addAttachment("test.jpg", file1);
messageHelper.addAttachment("picgongbo1.jpg", file2);
// 添加附件二
// 附件名有中文可能出现乱码
messageHelper.addAttachment(MimeUtility.encodeWord("测试.txt"), file3);
// 如不需要附件,这里可以省略------------------------------------------END
// 发送邮件
senderImpl.send(mailMessage);
logger.info("Email Send Success!");
} catch (Exception e) {
logger.error("Email Send Error!" + e.getMessage());
}
}
public static void main(String[] agrs) {
// 注意测试需要修改您自己的邮件服务商host,登陆邮件用户,邮件密码,附件,收信人地址
sendFileMail("测试邮件", "<H1>测试邮件标题</H1>");
}
}

  

java web spring 发送邮件的更多相关文章

  1. [Java web]Spring+Struts2+Hibernate整合过程

    摘要 最近一直在折腾java web相关内容,这里就把最近学习的spring+struts2+hibernate进行一个整合,也就是大家经常说的ssh. 环境 工具IDE :Idea 2018 数据库 ...

  2. IDEA Java Web(Spring)项目从创建到打包(war)

    创建Maven管理的Java Web应用 创建新项目,"create new project",左侧类型选择"maven",右侧上方选择自己的SDK,点击&qu ...

  3. java web spring异步方法

    在项目中,时常会有异步调用的需求 web.xml配置 <servlet> <description>spring mvc servlet</description> ...

  4. [Java web]Spring+Struts2+Hibernate整合过程(2)

    摘要 上篇文章介绍了一种整合方式,不妨就叫做有hibernate配置文件的方式,这里介绍一种不用hibernate.cfg.xml的一种配置方式,为了方便,就仍在上篇的demo中,继续修改了. 步骤 ...

  5. java web(spring mvc) 获取请求host 和 如何获取静态页的相对路径

    1.获取请求host StringBuffer url = request.getRequestURL(); String tempContextUrl = url.delete(url.length ...

  6. java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板

    java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailS ...

  7. java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化

    一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...

  8. 使用Spring Boot来加速Java web项目的开发

    我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用 ...

  9. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

随机推荐

  1. composer的安装以及具体使用

    1. 简介 Composer 是 PHP5.3以上 的一个依赖管理工具.它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们.Composer 不是一个包管理器.是的,它涉及 "pa ...

  2. JS解决在提交form表单时某个值不存在 alter弹窗点确定不刷新界面

    <form action="" method="post" onsubmit="return checkname()"> < ...

  3. 20175126《Java程序设计》第四周学习总结

    # 20175126 2016-2017-2 <Java程序设计>第四周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲打教材代码和观看APP上的视频资源自学. - 学习内容 ...

  4. LAB12 Transaction

    思路:就是把aotocommit()里面的东西改改就行了. 查询要求可用房间>=所需要的房间. SQL里面查数字时,不要加单引号.字符串才要. 查询里的set ONHAND=要改成自己的变量名s ...

  5. net core中动态给log4net添加日志类型

    private static object m_Lock = new object(); /// <summary> /// 根据类型获取对应的日志操作类 /// </summary ...

  6. 分布式系统-主键唯一id,订单编号生成-雪花算法-SnowFlake

    分布式系统下 我们每台设备(分布式系统-独立的应用空间-或者docker环境) * SnowFlake的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作 ...

  7. angular 键盘事件绑定与过滤

    方便的angular按钮绑定 如 <input (keyup.enter)="keyUpSearch($event)" value="按下回车键触发"&g ...

  8. github分支规范

    转自:https://www.cnblogs.com/xuld 一.目的 我们制定分支规范,意在实现以下目标: 减少沟通成本:开发者可以很清晰地知道需要修改的代码位于哪个分支. 减少 bug 隐患:避 ...

  9. Koa源码分析(一) -- generator

    Abstract 本系列是关于Koa框架的文章,目前关注版本是Koa v1.主要分为以下几个方面: 1. Koa源码分析(一) -- generator 2. Koa源码分析(二) -- co的实现 ...

  10. 利用clonezilla克隆、还原CentOS整个系统

    实现目的:全盘备份CentOS 6.0系统到U盘或者到移动硬盘 操作步骤: 1.制作再生龙镜像启动光盘或U盘,插入到要备份的CentOS 6.0 Linux上面,设置好开机启动(我这里用的是U盘,所以 ...