Java发送邮件----自己封装的方法
发送邮件的封装类:
- package com.email;
- import java.util.Properties;
- import javax.mail.Authenticator;
- import javax.mail.MessagingException;
- import javax.mail.PasswordAuthentication;
- import javax.mail.Session;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- import org.springframework.mail.javamail.MimeMessageHelper;
- public class Email {
- public MimeMessage message;
- public MimeMessageHelper creatEmail(String host, String port, String user, String pw) throws MessagingException{
- // 创建Properties 类用于记录邮箱的一些属性
- final Properties props = new Properties();
- // 表示SMTP发送邮件,必须进行身份验证
- props.put("mail.smtp.auth", "true");
- //开启ttl加密
- props.put("mail.smtp.starttls.enable", "true");
- //此处填写SMTP服务器
- props.put("mail.smtp.host", host);
- //端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587
- props.put("mail.smtp.port", port);
- // 此处填写你的账号
- props.put("mail.user", user);
- // 此处的密码就是前面说的16位STMP口令
- props.put("mail.password", pw);
- // 构建授权信息,用于进行SMTP进行身份验证
- Authenticator authenticator = new Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- // 用户名、密码
- String userName = props.getProperty("mail.user");
- String password = props.getProperty("mail.password");
- return new PasswordAuthentication(userName, password);
- }
- };
- // 使用环境属性和授权信息,创建邮件会话
- Session mailSession = Session.getInstance(props, authenticator);
- // 创建邮件消息
- message = new MimeMessage(mailSession);
- MimeMessageHelper helper = null;
- // 设置发件人
- InternetAddress form = new InternetAddress(
- props.getProperty("mail.user"));
- try {
- helper = new MimeMessageHelper(message,true,"utf-8");
- helper.setFrom(form);
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- return helper;
- }
- }
调用方法:发送邮件
- @RequestMapping(value = "/sendEmail", method = RequestMethod.POST)
- @ResponseBody
- public ArrayList sendEmail(@RequestBody HashMap body) throws MessagingException{
- Email email = new Email();
- MimeMessageHelper msgHelper = email.creatEmail("邮箱发信服务器地址", "端口", "发件邮箱", "密码");
- msgHelper.setTo((String)body.get("toEmail"));
- msgHelper.setSubject("主题");
- msgHelper.setText("内容");
- Transport.send(email.message);
- ArrayList ls = new ArrayList();
- ls.add("OK");
- return ls;
- }
Java发送邮件----自己封装的方法的更多相关文章
- 第三节 java 函数的封装方法 以及 访问封装内容
从我们的选择排序和冒泡排序里我们可以看到有很多相同的代码, 我们 可以把这些相同的代码提取出来封装为方法:比如我们的判 断交换和遍历输出: 抽取1: public static void PanDua ...
- java发送邮件基础方法(另附部分主流邮箱服务器地址、端口及设置方法)
java发送邮件基础方法,可通过重载简化参数 import java.io.File; import java.io.UnsupportedEncodingException; import java ...
- Java发送邮件,所遇到的常见需求
明天要做关于发送邮件的接口,虽然我之前已用Java Mail做过许多关于邮件的发送.但同事说有点难点,虽我还不知难点在哪,还是要复习下.凡事预则立,不预则废嘛~ 所需的包: Java Mail : 目 ...
- JAVA中发送电子邮件的方法
JAVA中发送邮件的方法不复杂,使用sun的JavaMail的架包就可以实现. 一.下载JavaMail的架包,并导入项目中,如下: 二.附上代码例子,如下: 1.在main函数中对各项参数进行赋值 ...
- Java发送邮件--web.xml配置,Java代码配置
前言:我目前总结的使用java发送邮件的方式有两种,分别是在spring框架xml配置文件使用bean标签,另一种方法是把发送功能封装成一个对象,废话不多说上代码, 边看代码边讲解,希望对需要的人能有 ...
- Java数据库连接池封装与用法
Java数据库连接池封装与用法 修改于抄袭版本,那货写的有点BUG,两个类,一个用法 ConnectionPool类: package com.vl.sql; import java.sql.Conn ...
- Java—继承、封装、抽象、多态
类.对象和包 1) 面向对象编程(Object Oriented Programming ,简称 OOP):20世纪70年代以后开始流行. 2) 结构化编程与面向对象编程的区别: A. 在结构化编程中 ...
- Java中的封装
在前面的一些日子里,一只都在学习C#语言,使用C#在做一些小项目的,今天转到了Java的学习,还是感觉有点的不习惯,没有以前的中文界面的,全是英文.写起代码来都一直保持着C#中的编码的习惯,但是学习J ...
- 使用PHP发送邮件的两种方法
使用PHP发送邮件的两种方法 May242013 作者:Jerry Bendy 发布:2013-05-24 22:25 分类:PHP 阅读:2,107 views 抢沙发 今天 ...
随机推荐
- php+croppic.js实现剪切上传图片
最近需要实现裁剪图片上传,想起之前公司用到的一个插件,却不知道叫什么名字了. 在网上找了有些时间,最终找到了这个网站. http://www.croppic.net/ 因为官网文档全部都是英文,所以看 ...
- (转)CocoaPods
本文转自http://nshipster.cn/cocoapods/ 文明是建立在道路,桥梁,运河,下水道,管线,电线和光纤这些基础设施之上的.只要设计和施工得当,它们可以帮助社会成倍的发展. 唯一的 ...
- (ADO.NET)关于C#中“配置”sqlite问题
配置打引号,只是因为觉得只是一些小问题,在此记录一下,第一次遇到还真有点手足无措,昨天到今天~终于可以开始放肆的写sqlite了. 好,第一个问题是引用已下载的system.data.sqlite.d ...
- optparser 模块 提取IP,端口,用户名,密码参数模板
import optparse #class FtpClient(object): #自定义类可以自己修改 '''ftp客户端''' #def __init__(self): parser = opt ...
- 6 json和ajax传递api数据
1 2 3 4 https://swapi.co/ <h1>Hello Reqwest!</h1> <script> var a = {} reqwest({ ur ...
- How to check if Visual Studio 2005 SP1 is installed
How to check if Visual Studio 2005 SP1 is installed Check the following registry key. HKEY_LOCAL_MAC ...
- couchbase map reduce
map function(){emit(null,2);} reduce function(key, values, rereduce){ var response = {"a": ...
- RSA进阶之低加密指数攻击
适用场景: n很大,4000多位,e很小,e=3 一般来说,e选取65537.但是在RSA加密的时候有可能会选用e=3(不要问为什么,因为选取e =3省时省力,并且他可能觉得n在4000多位是很安全的 ...
- git和github基础入门
一.git: 1.安装配置git: 1.1从官网或者该网址处下载:https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit 1.2安装,一路nex ...
- 软工实践第八次作业——UML设计
本次作业博客 团队组成 临时组长:何裕捷 组员:蔡子阳,陈德斌,胡青元,李麒,高裕翔,王焕仁,黄培鑫 UML 用例图 描述的部分: 1 这里是用户个人管理系统的用例图 面临的问题: 1 面临用户登录注 ...