使用JAVA发送邮件

这里用java代码编写发送邮件我采用jar包,需要先点击这里下载三个jar包:这三个包分别为:additionnal.jar;activation.jar;mail.jar。这三个包缺一不可,如果少添加或未添加均会报下面这个错误:

Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler
Caused by: java.lang.ClassNotFoundException: myjava.awt.datatransfer.Transferable


下面演示:

一.下载并导入jar包

1.下载jar包

点击这里去网站下载jar包

分别点击这三个位置进入

按这个流程分别下载好三个jar包。

2.导入jar包

导入jar包到项目流程:

(1)复制三个jar包,在项目中创建一个lib文件把这三个jar包粘贴上去:具体流程见下面步骤

第一步:鼠标右键文件点击NEW,点击Directory新建一个lib文件。

第二步:复制粘贴三个jar包到lib文件下

第三步:同时选中这三个jar包鼠标右键,点击下面的Add as library...

二.写代码

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;public class EmailSender {public static void main(String[] args) {// 设置邮件服务器的属性Properties properties = new Properties();//SMTP服务器地址properties.put("mail.smtp.host", "smtp.qq.com");properties.put("mail.smtp.port", "25");properties.put("mail.smtp.auth", "true");properties.put("mail.smtp.starttls.enable", "true");// 获取邮件会话对象Session session = Session.getInstance(properties, new javax.mail.Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication("your_email@example.com", "your_password");}});try {// 创建邮件消息对象Message message = new MimeMessage(session);message.setFrom(new InternetAddress("your_email@example.com"));message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient_email@example.com"));message.setSubject("Test Email");message.setText("Hello, this is a test email sent using JavaMail API!");// 发送邮件Transport.send(message);System.out.println("Email sent successfully!");} catch (MessagingException e) {e.printStackTrace();}}
}

为了便于理解,这里我解释下上面代码部分内容怎么填写

smtp.example.comyour_email@example.comyour_passwordrecipient_email@example.com替换为实际的SMTP服务器地址、发件人邮箱、授权码和收件人邮箱。

SMTP服务器地址,实际上是代收发服务器地址,是由邮箱服务商提供的。例如,常见的QQ邮箱的SMTP服务器地址为smtp.qq.com,端口号为25;搜狐邮箱的SMTP服务器地址为smtp.sohu.com;HotMail邮箱的SMTP服务器地址为smtp.live.com。需要注意的是,不同的服务商SMTP服务器地址可能会有所不同,具体地址应向各自的邮件服务提供商查询。

网易邮箱的SMTP服务器地址是smtp.163.com。发送邮件时,您可以使用以下SMTP服务器地址和端口号进行配置:smtp.163.com(端口:25)

上面图片的授权码获取流程

使用QQ邮箱发送邮件需要开启SMTP服务,具体操作步骤如下:

  1. 登录QQ邮箱网页版(https://mail.qq.com/)。
  2. 点击右上角的设置图标,选择“账户”。
  3. 在“账户”页面中,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,点击“开启服务”按钮。
  4. 在弹出的窗口中,选择“SMTP服务”并点击“确定”。

 

把这个授权码粘贴到上面代码

然后运行代码即可!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/104873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

School‘s Java test

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻第四周素数和念整数 &#…

导入Maven项目遇到的一些问题及解决

开发工具是IDEA, 一个Maven项目初次导入IDEA中,需要注意的几件事: 设置项目的编码格式(或者提前设置全局的编码格式),一般是UTF-8;检查JDK版本和编译级别;检查Maven的版本&#xf…

公司要做大数据可视化看板,除了EXCEL以外有没有好用的软件可以用

当企业需要进行大数据可视化看板的设计和开发时,除了Excel,还有许多其他强大且适合大数据可视化的软件工具。以下是几种常用的好用软件,以及它们的特点和优势,供您参考。 一、Datainside 特点和优势: - **易于使用**…

C++类总结

参考: C中的private, public, protected_c private-CSDN博客https://www.cnblogs.com/corineru/p/11001242.html C 中 Private、Public 和 Protected 的区别 Private Public Protected 声明为private类成员只能由基类内部的函数访问。 可以从任何地方访问声明…

# Web server failed to start. Port 9793 was already in use

Web server failed to start. Port 9793 was already in use. 文章目录 Web server failed to start. Port 9793 was already in use.报错描述报错原因解决方法Spring Boot 修改默认端口号关闭占用某一端口号的进程关闭该进程 报错描述 Springboot项目启动控制台报错 Error st…

使用Plotly可视化

显示项目受欢迎程度 改进图表 设置颜色,字体

尿检设备“智能之眼”:维视智造推出MV-MC 系列医疗专用相机

​ 尿液分析是临床检验的基础常规项目,随着医疗设备的不断发展,尿液分析相关仪器的国产化和自动化程度也进一步提升。2022 年国内尿液分析市场的规模约为 28 亿元,激烈的竞争推动了尿检仪器自动化、智能化升级,在仪器中加入机器视…

lc42接雨水详解

1 42. 接雨水 接雨水 2 推荐阅读的解析 《接雨水》详细通俗的思路分析,多解法 推荐观看方法:二、三和四 3 不懂的地方-方法四的一个判断条件 以下是疑问的地方 height [ left - 1] 是可能成为 max_left 的变量, 同理,height…

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的问题解决

winR打开窗口输入 services.msc 停止mysql 找到data文件,清空其中全部文件。没有data文件,手动创建 ​ 输入 mysqld --remove mysql 移除服务; 注册服务,mysqld -install; 并开始初始化,mysqld --initi…

从零开始学习调用百度地图网页API:一、注册百度地图账号

目录 注册账号申请AK 注册账号 https://lbsyun.baidu.com/index.php?titlejspopular3.0/guide/getkey JavaScript API只支持浏览器类型的ak 申请AK 注:使用示例时,需要在百度地图示例加上https:,替换ak。

凉鞋的 Godot 笔记 109. 专题一 小结

109. 专题一 小结 在这一篇,我们来对第一个专题做一个小的总结。 到目前为止,大家应该能够感受到此教程的基调。 内容的难度非常简单,接近于零基础的程度,不过通过这些零基础内容所介绍的通识内容其实是笔者好多年的时间一点点…

普冉PY32系列(八) GPIO模拟和硬件SPI方式驱动无线收发芯片XN297LBW

目录 普冉PY32系列(一) PY32F0系列32位Cortex M0 MCU简介普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单普冉PY32系列(四) PY32F002A/003/030的时钟设置普冉PY32系列(五) 使用JLink RTT代替串口输出日志普冉PY32…

【算法-贪心】无重叠区间-力扣 435 题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

论文阅读:ECAPA-TDNN

1. 提出ECAPA-TDNN架构 TDNN本质上是1维卷积,而且常常是1维膨胀卷积,这样的一种结构非常注重context,也就是上下文信息,具体而言,是在frame-level的变换中,更多地利用相邻frame的信息,甚至跳过…

windows系统安装openssl并且转换证书格式

概述 碎碎念,如果你有MAC电脑,就别折腾了,直接用MAC电脑吧,不用安装直接用openssl 本文主要讲到了openssl的基本使用方法,开发环境为windows,开发工具为VS2019.本文主要是说明openssl如何使用,不介绍任何理…

11-网络篇-DNS步骤

1.URL URL就是我们常说的网址 https://www.baidu.com/?from1086k https是协议 m.baidu.com是服务器域名 ?from1086k是路径 2.域名 比如https://www.baidu.com 顶级域名.com 二级域名baidu 三级域名www 3.域名解析DNS DNS就是将域名转换成IP的过程 根域名服务器&#xff1a…

【计算机组成体系结构】移码 | 定点小数的表示和运算

一、移码 上篇我们提到了原码,反码和补码的表示形式和如何转换。这篇我们会提到一个新的概念—移码。移码也很简单,其实就是在补码的基础上把符号取反即可。 值得注意的是,移码只能表示整数。而原码,反码和补码既可以表示整数又…

【C++入门】命名空间详解(从零开始,冲击蓝桥杯)

C入门 命名空间 南喵小鸡汤程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。一 . 命名空间的介绍二.命名空间的实际应用1.为什么要有命名空间我们在使用变量时,通常会为他定义一个名字,在…

pycharm连接gitlab

1、下载安装gitlab 下载地址:Git - Downloading Package 下载后傻瓜式安装,注意勾选配置环境变量 未配置自己配置,电脑-属性-高级系统配置-环境变量 系统变量path:添加git安装目录下bin目录 2、检验安装完成 桌面右键git-open…

物联网AI MicroPython传感器学习 之 TEA5767 FM收音机模块

学物联网,来万物简单IoT物联网!! 一、产品简介 TEA5767 FM收音机模块是工作频率在76MHz~108MHz的自动数字调谐收音机。其特点高灵敏度、高稳定、低噪声,内部集成了中频选频和解调网络。 引脚定义 GND:接…