1,导入依赖

<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>1.6.3</version>
</dependency>

或者,导入另外一种依赖,效果都一样的:

<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
<version>3.7</version>
</dependency>

2,代码

package base;

import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties; /**
* @description:
* @author: lv
* @time: 2020/5/19 9:52
*/
public class OfficerTest1 { public static void main(String[] args) throws Exception{
Properties prop = new Properties();
prop.setProperty("mail.host", "smtp.qq.com"); //// 设置QQ邮件服务器
prop.setProperty("mail.transport.protocol", "smtp"); // 邮件发送协议
prop.setProperty("mail.smtp.auth", "true"); // 需要验证用户名密码 // 关于QQ邮箱,还要设置SSL加密,加上以下代码即可
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf); //使用JavaMail发送邮件的5个步骤 //创建定义整个应用程序所需的环境信息的 Session 对象 Session session = Session.getDefaultInstance(prop, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
//发件人邮件用户名、授权码
return new PasswordAuthentication("发件人邮件地址@qq.com", "授权码");
}
}); //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
session.setDebug(true); //2、通过session得到transport对象
Transport ts = session.getTransport(); //3、使用邮箱的用户名和授权码连上邮件服务器
ts.connect("smtp.qq.com", "发件人邮件地址@qq.com", "授权码"); //4、创建邮件 //创建邮件对象
MimeMessage message = new MimeMessage(session); //指明邮件的发件人
message.setFrom(new InternetAddress("发件人@qq.com")); //指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
message.setRecipient(Message.RecipientType.TO, new InternetAddress("收件人@qq.com")); //邮件的标题
message.setSubject("只包含文本的简单邮件"); //邮件的文本内容
message.setContent("你好啊!", "text/html;charset=UTF-8"); //5、发送邮件
ts.sendMessage(message, message.getAllRecipients()); ts.close();
} }

3,发送多人

package base;

import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties; /**
* @description:
* @author: lv
* @time: 2020/5/19 9:52
*/
public class OfficerTest1 { public static void main(String[] args) throws Exception{
Properties prop = new Properties();
prop.setProperty("mail.host", "smtp.qq.com"); //// 设置QQ邮件服务器
prop.setProperty("mail.transport.protocol", "smtp"); // 邮件发送协议
prop.setProperty("mail.smtp.auth", "true"); // 需要验证用户名密码 // 关于QQ邮箱,还要设置SSL加密,加上以下代码即可
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf); //使用JavaMail发送邮件的5个步骤 //创建定义整个应用程序所需的环境信息的 Session 对象 Session session = Session.getDefaultInstance(prop, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
//发件人邮件用户名、授权码
return new PasswordAuthentication("发件人邮件地址@qq.com", "授权码");
}
}); //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
session.setDebug(true); //2、通过session得到transport对象
Transport ts = session.getTransport(); //3、使用邮箱的用户名和授权码连上邮件服务器
ts.connect("smtp.qq.com", "发件人邮件地址@qq.com", "授权码"); //4、创建邮件 //创建邮件对象
MimeMessage message = new MimeMessage(session); // 设置发送时间
message.setSentDate(new Date());
//指明邮件的发件人
//设置多个收件人
String users = "发件人1@qq.com,发件人2@qq.com";//用逗号隔开
Address[] internetAddressTo = new InternetAddress().parse(users);
//指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
message.setRecipients(Message.RecipientType.TO, internetAddressTo); //邮件的标题
message.setSubject("只包含文本的简单邮件"); //邮件的文本内容
message.setContent("你好啊!", "text/html;charset=UTF-8"); //5、发送邮件
ts.sendMessage(message, message.getAllRecipients()); ts.close();
} }

  

(一)JavaMail发送简单邮件的更多相关文章

  1. JavaMail发送简单邮件

    非常简单的发送邮件实现,网上有很多啦,但还是自己写写记录下吧. package cn.jmail.test; import java.util.Properties; import javax.mai ...

  2. 使用javaMail发送简单邮件

    参考网页:http://blog.csdn.net/xietansheng/article/details/51673073package com.bfd.ftp.utils; import java ...

  3. JavaMail(一):利用JavaMail发送简单邮件

    JavaMail,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.但它并没有包含在JDK中,要使用JavaMail首先要下载ja ...

  4. JavaMail(二):利用JavaMail发送复杂邮件

    上一篇文章我们学习了利用JavaMail发送简单邮件,这篇文章我们利用JavaMail发送稍微复杂一点的邮件(包含文本.图片.附件).这里只贴出核心代码,其余代码可参考JavaMail(一):利用Ja ...

  5. SpringBoot 发送简单邮件

    使用SpringBoot 发送简单邮件 1. 在pom.xml中导入依赖 <!--邮件依赖--> <dependency> <groupId>org.springf ...

  6. 关于使用 Spring 发送简单邮件

    这是通过Spring 框架内置的功能完成简单邮件发送的测试用例. 导入相关的 jar 包. Spring 邮件抽象层的主要包为 org.springframework.mail. 它包括了发送电子邮件 ...

  7. 使用javaMail实现简单邮件发送

    一.首先你要用来发送邮件的qq邮箱需要开通pop3/smtp服务,这个可以百度一下就知道了 二.导入所需要的jar包,我使用的是maven添加依赖 <dependency> <gro ...

  8. Java Mail发送简单邮件,完整代码

    依赖javax.mail.jar,地址:https://java.net/projects/javamail/pages/Home 完整示例代码如下: package com.jadic.utils; ...

  9. Python通过yagmail和smtplib模块发送简单邮件

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件.python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是pytho ...

随机推荐

  1. 官网下载Java连接MySql驱动jar包

    官网地址:http://dev.mysql.com/downloads/connector/ 1.选择下载驱动 2.选择下载 3.可以不登录直接下载 4.下载下来的是zip压缩包,解压之后,文件夹中有 ...

  2. vue展开过度动画

    有一段时间没用vue动画了,就忘了,又仔细去看了vue官网 的过渡&动画,记录下来方便快速使用 (可以多看vue官网 过渡&动画 实现更多效果) 1.实际效果 展开收起效果.gif 2 ...

  3. linux高级管理第十四章--kvm虚拟化

    案例 安装kvm所需软件 验证 注:虚拟机要开启虚拟引擎 开启服务 环境准备 安装相关软件包 启动 创建网桥 重启,reboot 安装虚拟机 完成.

  4. Java——枚举类(疯狂Java讲义6.9)

    枚举类:有限而固定的类,使用enum关键字定义. 一个Java源文件中最多只能定义一个public访问权限的枚举类. 1.可实现一个或多个接口,默认集成了java.lang.Enum类(实现java. ...

  5. while与do-while循环的使用

    /* 1.格式: ①初始化条件 while(②循环条件){ ④循环体 ③迭代条件 } 2.for循环与while可以相互转换的 . */ public class TestWhile { //100以 ...

  6. Alpha冲刺 —— 5.8

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  7. jchdl - RTL实例 - MOS6502 CPU

    https://mp.weixin.qq.com/s/OguQKMU64GGdinCJjgyeKw   实现MOS6502 CPU,主要是实现状态机.   参考链接 https://github.co ...

  8. Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

    hive运行查询语句时报错: Error: org.apache.hive.service.cli.HiveSQLException: Error while processing statement ...

  9. Qcom平台RTC驱动分析

    相关文件list: pm8998.dtsi ---RTC dts配置 qpnp-rtc.c ---qcom RTC驱动 class.c ---RTC相关class interface.c ---相关R ...

  10. Java实现 LeetCode 816 模糊坐标(暴力)

    816. 模糊坐标 我们有一些二维坐标,如 "(1, 3)" 或 "(2, 0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S.返回所有可能的原始 ...