SpringBoot实现163邮箱发送邮件
一.准备工作
创建一个springboot项目,依赖选中web就行,然后添加如下依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
二.再resources目录下新建一个mail.properties
#服务器 (若想使用QQ邮箱,请参考第六步) mailHost=smtp.163.com #端口号 mailPort=25 #邮箱账号(改成自己的,此为发送邮件方的账号,注意得是163账号) mailUsername=xxxxx@163.com #邮箱密码(改成自己的)我用的163.这里填163邮箱开启pop3/SMTP授权码 mailPassword=xxxxxxx #时间延迟 mailTimeout=25000
三.创建类
package demo1.controller;import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;@PropertySource(value="classpath:mail.properties")
@Configuration
public class MailConfig {public static final String PROPERTIES_DEFAULT = "mail.properties";public static String host;public static Integer port;public static String userName;public static String passWord;public static String emailForm;public static String timeout;public static String personal;public static Properties properties;static {init();}private static void init(){properties = new Properties();try {//获取配置文件内容InputStream inputStream = MailConfig.class.getClassLoader().getResourceAsStream(PROPERTIES_DEFAULT);properties.load(inputStream);inputStream.close();//给属性赋值host = properties.getProperty("mailHost");port = Integer.parseInt(properties.getProperty("mailPort"));userName = properties.getProperty("mailUsername");passWord = properties.getProperty("mailPassword");emailForm = properties.getProperty("mailUsername");timeout = properties.getProperty("mailTimeout");//发送人personal = "汤姆猫";} catch (IOException e) {e.printStackTrace();}}}
package demo1.controller;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;
import java.util.Properties;public class MailUtil {private static final String HOST = MailConfig.host;private static final Integer PORT = MailConfig.port;private static final String USERNAME = MailConfig.userName;private static final String PASSWORD = MailConfig.passWord;private static final String EMAILFROM = MailConfig.emailForm;private static final String TIMEOUT = MailConfig.timeout;private static final String PERSONAL = MailConfig.personal;private static JavaMailSenderImpl mailSender = createMailsender();/*** 配置好的工具* @return*/private static JavaMailSenderImpl createMailsender(){JavaMailSenderImpl sender = new JavaMailSenderImpl();sender.setHost(HOST);sender.setPort(PORT);sender.setUsername(USERNAME);sender.setPassword(PASSWORD);sender.setDefaultEncoding("UTF-8");Properties p = new Properties();p.setProperty("mail.smtp.timeout", TIMEOUT);p.setProperty("mail.smtp.auth", "false");sender.setJavaMailProperties(p);return sender;}/*** 发送邮件* @param to 接收人* @param subject 主题* @param html 发送内容* @throws MessagingException* @throws UnsupportedEncodingException*/public static void sendMail(String to, String subject, String html)throws MessagingException,UnsupportedEncodingException {MimeMessage mimeMessage = mailSender.createMimeMessage();//设置编码MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");mimeMessageHelper.setFrom(EMAILFROM,PERSONAL);mimeMessageHelper.setTo(to);mimeMessageHelper.setSubject(subject);mimeMessageHelper.setText(html,true);mailSender.send(mimeMessage);}}
四.测试类
package demo1.controller;import javax.mail.MessagingException;
import java.io.UnsupportedEncodingException;
import java.util.Random;public class Client {public static void main(String[] args) {try {//6位随机数Random random = new Random();String code = "";for (int i = 0; i < 6; i++) {code += random.nextInt(10);}//这里的邮箱是接受者的邮箱,和配置的邮箱不一样,测试是标题,code是内容MailUtil.sendMail("1746255930@qq.com","测试",code);} catch (MessagingException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}}}
五.结果
SpringBoot实现163邮箱发送邮件相关推荐
- SpringBoot 整合163邮箱 阿里云25端口问题
SpringBoot 整合163邮箱阿里云25端口问题 使用 163 邮箱 SMTP服务器 非SSL协议 25端口,项目本地测试时没有问题, 但是发布到阿里云服务器就报错 经检查发现阿里云出于安全考虑 ...
- thinkPHP3.2.3使用163邮箱发送邮件
thinkPHP3.2.3使用163邮箱发送邮件 (一) 前言 第一次写博客,主要就是为了分享一下自己敲代码的一些心得并整理一下自己的知识以便以后查看. 我原来一直在找通过thinkPHP使用QQ邮 ...
- java模拟网易邮箱登录_java实现163邮箱发送邮件到qq邮箱成功案例
下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现在终于成功以163邮箱发送邮件到qq邮箱,以下是相 ...
- 利用163 邮箱发送邮件
1.利用163邮箱发送邮件 # _*_ coding:UTF-8 import time import smtplib from email.mime.text import MIMEText fro ...
- python 发送邮件 163_python练习-使用163邮箱发送邮件
具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...
- java 给qq邮箱发邮件_java实现163邮箱发送邮件到qq邮箱成功案例
这篇文章主要为大家分享了java实现163邮箱发送邮件到qq邮箱成功案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 下载和上传附件.发送短信和发送邮件,都算是程序中 ...
- 163邮箱java通用下载_java_java实现163邮箱发送邮件到qq邮箱成功案例,下载和上传附件、发送短信和 - phpStudy...
java实现163邮箱发送邮件到qq邮箱成功案例 下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现 ...
- SpringBoot实现qq邮箱发送邮件
SpringBoot实现qq邮箱发送邮件 一.导入springboot提供的依赖 二.在配置文件中设置邮箱信息 设置邮箱 三.设置邮件内容等 四.设置发送邮箱为单独的线程操作 一.导入springbo ...
- Hutool - 结合163邮箱发送邮件
使用Hutool结合163邮箱发送邮件 进入163设置邮箱POP3/SMTP/IMAP 引入Hutool依赖 地址:https://www.hutool.cn/docs/#/extra/%E9%82% ...
- QT5 使用163邮箱发送邮件
最近在用QT写一点东西,想发送个邮件.查了一些资料,发现没有官方的库,好多前辈都是推荐使用sendemailapi,但是这个网站现在已经不提供下载了,在网上也没有找到可以免费下载的这个库的地方. 借鉴 ...
最新文章
- 兰大本科生发31篇论文遭质疑,本人及校方回应!
- 光荣与梦想 | XMove动作捕捉系统(一)
- Spring配置iBatis多个SqlMapConfig.xml
- 多线程,多进程选择(了解)
- Golang map输出排序
- hibernate hql limit的实现方式
- python语言程序设计赵璐课后答案_Python语言程序设计
- MSSQL数据库中row_number()函数
- Windows8、Windows8.1使用便签工具
- 用visio制作机柜服务器,visio 绘制机柜接线图 实例教程
- 四季芬芳,花开不只在春天
- 服务器虚拟化的几种方式,服务器虚拟化究竟应当选择哪种方式?
- 服务器版系统和w7区别,小编告诉大家W7精简版和旗舰版啥区别
- 老男孩教育运维班100台规模集群存储系统搭建及数据实时备份上机实战
- 回顾过去 展望未来(写给自己)
- 在springboot中导入spring-web相关包导致的错误经验(一)
- Vue之路由--SPA模式
- 【Redis基础和应用】(四)HyperLogLog BloomFilter
- 防火墙用户管理和入侵防御简介
- 求n位水仙花数(C语言实现)