springboot+maven发送邮件

废话不多说直接上代码

1. pom 文件导入jar包

       <!--邮件发送-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>

2. 邮件方法 我用的是163 邮箱发送

/**
* 项目文件根路径
* @return
*/
public static String rootPath() { return System.getProperty("user.dir");
}}
 // 发送邮件
public static Boolean sendEmail() {
final Properties props = new Properties();
//登入邮箱服务器是需要验证的
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.port", 25);
//设置协议
props.put("mail.transport.protocol", "smtp");
// 发件人的账号
props.put("mail.user", "ddddddddd@163.com");
// 访问SMTP服务时需要提供的密码 非常重要 不是你登
陆邮箱的密码 是需要到163 邮箱设置的SMTP的密码
props.put("mail.password", "mima");
// 构建授权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {
@Override
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);
// mailSession.setDebug(true);
// 创建邮件消息
MimeMessage message = new MimeMessage(mailSession);
try {
String nick = "";
nick = javax.mail.internet.MimeUtility.encodeText("title");
// 设置发件人
InternetAddress from = new InternetAddress(nick + " <"+
props.getProperty("mail.user") + ">");
message.setFrom(from);
Address[] a = new Address[1];
// 接收方回复的邮件地址
a[0] = new InternetAddress("eeeeeee@qq.com");
message.setReplyTo(a);
// 设置收件人
InternetAddress to = new InternetAddress("shoujianren@qq.com");
message.setRecipient(MimeMessage.RecipientType.TO, to);
// 设置邮件标题
message.setSubject("mailtitle"); //添加附件部分
//邮件内容部分1---文本内容
MimeBodyPart body0 = new MimeBodyPart(); //邮件中的文字部分
body0.setContent("<p>啦啦啦啦</p>","text/html;charset=utf-8"); //邮件内容部分2---附件1
MimeBodyPart body1 = new MimeBodyPart(); //附件1
body1.setDataHandler( new DataHandler( new FileDataSource
(UlegalZCUtil.rootPath() +
File.separator + "pdf" + File.separator + "templateOL" + ".pdf")) )
;//./代表项目根目录下 body1.setFileName( MimeUtility.encodeText("拉拉.pdf")
);//中文附件名,解决乱码 //把上面的3部分组装在一起,设置到msg中
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(body0);
mm.addBodyPart(body1);
message.setContent(mm); // 设置邮件的内容体
// message.setContent("题在我使用postman来上传图片时候
,死活都没过。。显示这个,问题在哪呢?",
"text/html;charset=UTF-8");
// 发送邮件
Transport.send(message);
}
catch (Exception e) {
String err = e.getMessage();
// 在这里处理message内容, 格式是固定的
System.out.println("====:"+err);
return false;
}
return true;
}

3. 如果是qq邮箱的话需要在上面的配置添加ssl加密

//开启了 SSL 加密
//开启安全协议
MailSSLSocketFactory sf = null;
try {
sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
} catch (GeneralSecurityException e1) {
e1.printStackTrace();
}
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);

4. 经过的我的实验如果将项目部署到阿里云服务器,以163邮箱 为基准发送邮件

的话是不能成功的,以为163邮箱是25端口与阿里冲突,

后期我以qq邮箱为基准发送邮件,但是163邮箱接收不到邮件,目前还没有找到解决办法

我的想法是采用阿里云邮箱,应该没有问题。。。

注意 密码不是邮箱的登陆密码

java springboot+maven发送邮件的更多相关文章

  1. springboot+kotlin+springcloud+java+grade+maven混编?

    springboot + maven + java vs springboot + gradle + kotlin 快速搭建:https://start.spring.io/ springclould ...

  2. 使用 SpringBoot 配置发送邮件功能

    1.使用 SpringBoot 配置发送邮件功能 项目总体结构 用户表设计 SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE sample; USE sample; ...

  3. java~springboot~目录索引

    回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考. java~springboot~目录索引 Java~关于开发工具和包包 Java ...

  4. springboot+maven整合spring security

    springboot+maven整合spring security已经做了两次了,然而还是不太熟悉,这里针对后台简单记录一下需要做哪些事情,具体的步骤怎么操作网上都有,不再赘述.1.pom.xml中添 ...

  5. java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况

    java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况 邮件短信微服务 spring boot 微服务 接收json格式参数 验证参数合 ...

  6. 【Other】最近在研究的, Java/Springboot/RPC/JPA等

    我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索 Dubbo ...

  7. 转 使用Docker部署 spring-boot maven应用

    转自:https://blog.csdn.net/u011699931/article/details/70226504/ 使用Docker部署 spring-boot maven应用 部署过程分为以 ...

  8. java springboot整合zookeeper入门教程(增删改查)

    java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...

  9. java springboot调用第三方接口 借助hutoool工具类 爬坑

    楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...

随机推荐

  1. java用while循环设计轮询线程的性能问题

    java用while循环设计轮询线程的性能问题 轮询线程在开发过程中的应用是比较广泛的,在这我模拟一个场景,有一个队列和轮询线程,主线程往队列中入队消息,轮询线程循环从队列中读取消息并打印消息内容.有 ...

  2. Linux之RPM GPG签名

    原文地址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml GPG在Linux上的应用主要是实现官方发布的包的签名机制 ...

  3. URL Scheme

    [URL Scheme] 可以通过info.plist注册url types来实现程序自定义的协议,以供外部程序调起. NSURL *myURL = [NSURL URLWithString:@&qu ...

  4. 用OLEDB读取EXCEL时,单元格内容长度超过255被截断

    https://support.microsoft.com/zh-cn/help/189897/data-truncated-to-255-characters-with-excel-odbc-dri ...

  5. 阿里云OSS-js分片上传

    使用 aliyun-oss-sdk-4.4.4.min.js 方式一 客户端授权 https://help.aliyun.com/document_detail/32069.html 通过new OS ...

  6. vue2.0 #$emit,$on的使用

    首先实例化: bus.js import Vue from 'Vue' export default new Vue() 组件1, import bus from '../../assets/js/b ...

  7. Project Tango Explorer

    https://sensortower.com/android/ie/projecttango-google/app/project-tango-explorer/com.projecttango.t ...

  8. Java Float类型 减法运算时精度丢失问题

    package test1; public class Test2 { /*** @param args*/public static void main(String[] args) {   Flo ...

  9. Spring AOP详解(转载)

    此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题.最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP 来解决.一方面是为了以更加灵活的方式来解决问题,另一方 ...

  10. solr特点六: DIH (从数据源导入数据)

    在这个结构化数据和非结构化数据的数量都很庞大的年代,经常需要从数据库.XML/HTML 文件或其他数据源导入数据,并使数据可搜索.过去,要编写自定义代码才能创建到数据库.文件系统或 RSS 提要的自定 ...