Spring邮件发送1
注意:邮件发送code中,邮件服务器的申请和配置是比较主要的一个环节,博主这里用的是QQ的邮件服务器。有需要的可以谷歌、百度查下如何开通。
今天看了下Spring的官方文档的邮件发送这一章节。在这里记录一下初次学习成果。详细使用方案如下:
1. 申请邮箱服务器,用于发送邮件。
2. 在项目中引入用于支持java邮件发送的jar包
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency> <dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
3. 配置java邮件发送器
邮件发送器配置: applicationContext-mail.xml
<!-- Define mail sender util bean -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="protocol" value="#{config['mail.protocol']}" />
<property name="host" value="#{config['mail.host']}" />
<property name="port" value="#{config['mail.port']}" />
<property name="username" value="#{config['mail.username']}" />
<property name="password" value="#{config['mail.password']}" />
<property name="defaultEncoding" value="#{config['mail.default.encoding']}" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">#{config['mail.smtp.auth']}</prop>
<prop key="mail.smtp.starttls.enable">#{config['mail.smtp.starttls.enable']}</prop>
<prop key="mail.smtp.timeout">#{config['mail.smtp.timeout']}</prop>
</props>
</property>
</bean>
邮件发送器属性文件
mail.protocol=smtp
mail.host=smtp.qq.com
mail.port=587 mail.username=发件人邮箱
mail.password=邮箱授权
mail.default.encoding=UTF-8 mail.smtp.auth=true
mail.smtp.starttls.enable=true
mail.smtp.timeout=25000
4. 编写邮件发送处理器
接口:
/**
* send text email
*
* @param email recipients email address
* @param subject
* @param content
* @return send mail result
*/
public boolean sendText(String email, String subject, String content); /**
* send email with attachment
*
* @param email
* @param subject
* @param content
* @param attachments
* @return
*/
public boolean sendAttachment(String email, String subject, String content, File...attachments);
1). 发送文本邮件
MimeMessage mimeMessage = mailSender.createMimeMessage(); // Indicate this is multipart message & indicate encoding
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, encoding);
helper.setFrom(form); // set sender
helper.setTo(to); // set recipients
helper.setSubject(subject);
helper.setText(content, true); // Indicate the text included is HTML // Send mail
mailSender.send(mimeMessage);
2). 发送带附件邮件
MimeMessage mimeMessage = mailSender.createMimeMessage(); // Indicate this is multipart message & indicate encoding
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, encoding);
helper.setFrom(form); // set sender
helper.setTo(to); // set recipients
helper.setSubject(subject);
helper.setText(content, true); // Indicate the text included is HTML // Indicate with attachment
for (File attachment : attachments) {
helper.addAttachment(attachment.getName(), attachment);
} // Send mail
mailSender.send(mimeMessage);
Spring邮件发送1的更多相关文章
- Spring 邮件发送
前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender 关于邮件服务器的设置就不在这里说了,直接去QQ邮箱 ...
- java spring 邮件发送
开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...
- spring邮件发送
1,Emaill类: package com.learn.jsp.pojo; /** * 邮件基本信息 * @author kevin * */public class Email { private ...
- Spring邮件发送2
前言:上一篇博文讲解了邮件发送的基础用法(数据是写死的),然而在实际开发中,大多数情况下邮件内容都是根据业务来动态生成的.所以在此篇博文中,我们将讲解邮件发送携带数据的几种方案. 一.解析自定义占位符 ...
- Spring的javaMail邮件发送(带附件)
项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习. 首先需要在配置文件jdbc.properties添加: #------------ Mail ------------ mail.smt ...
- 使用spring的邮件发送功能
使用spring提供的MailSender和JavaMailSender类. 1.邮件对象类 package cn.luxh.app.mail; import java.util.List; impo ...
- 使用Spring的JAVA Mail支持简化邮件发送(转)
闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...
- Spring Boot 2.0 图文教程 | 集成邮件发送功能
文章首发自个人微信公众号: 小哈学Java 个人网站: https://www.exception.site/springboot/spring-boots-send-mail 大家好,后续会间断地奉 ...
- Spring Boot整合邮件发送
概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...
随机推荐
- 8Manage:数据安全,企业新时代的护航利器
数据安全,是个老生常谈的话题,但是安全往往是在危险的时候方能体现出来,因此,这也是很容易被人们所忽略的部分.2017年,数据安全事件更是屡屡登上头条,除了个人信息的数据泄露之外,还有网络病毒造成的全球 ...
- golang goroutine的调度
golang goroutine的调度 1.什么是协程? 协程是一种用户态的轻量级线程. 2.进程.线程.协程的关系和区别: * 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度. ...
- C#编写一款qq消息群发器
先上软件成品图 功能编写大概分为以下几个部分了: 获取QQ分组 发送消息 先来讲发送消息吧,实现还是比较简单 //这段主要是用来打开会话窗口的(只能列表中的好友进行会话的) System.Diagno ...
- c# 多线程同步之Mutex
说起Mutex,它的中文名字叫互斥体.它是WaitHandle家族成员之一,前面有一篇介绍过WaitHandle的家族成员构成.那么Mutex有什么作用呢?它是怎么使用的? 我们先来看看它的使用场景一 ...
- JS中的闭包问题
一.闭包:在函数外也可使用局部变量的特殊语法现象 全局变量 VS 局部变量: 全局变量:优点:可共享,可重用; 缺点:在任意位置都可随意修改——全局污染 局部变量:优点:安全 缺点:不可共享,不可重用 ...
- java 开发 face++ 人脸特征识别系统
首先要在 face++ 注册一个账号,并且创建一个应用,拿到 api key 和 api secret: 下载 java 接入工具,一个 jar 包:https://github.com/FacePl ...
- loadrunner录制上传文件,但是回放失败
用Loadrunner录制上传文件,脚本回放时发现,文件没有上传成功,检查脚本发现脚本中没有上传文件的路径. 脚本录制时选择的协议,如果说是socket协议,则不需要上传文件的路径,Loadrunne ...
- [Luogu 1402] 酒店之王
题目 Description XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有 ...
- CXF-01: WebService的第一个例子
HelloWorld.java: package com.war3.ws; import javax.jws.WebService; @WebService public interface Hell ...
- 笔记:Struts2 拦截器
配置拦截器 Struts.xml 配置文件中,使用<interceptor-/>来定义拦截器,有属性 name 表示拦截器的名称,class 表示拦截器的具体首先类,可以使用<par ...