使用Java发送邮件

利用MailUtils发送邮件 MailUtils底层使用了javamail,  所以必须得到jar包为mail.jar 、activation.jar百度云链接:链接:https://pan.baidu.com/s/1gGWAgDEaBwB8JDwUeiArXA 密码:1juk用途 发送邮件一、准备工作1)首先最好使用常用的邮箱,并且在邮箱设置里面开启SMTP服务a)并且需要关闭登陆校验(也就是说关闭保护)b)或者登陆授权保护... 阅读详情

本文是使用Java来发送邮件。涉及到以下知识技术:

SMTP协议
1. SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制邮件的中转方式。
2. SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
3. 通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。
4. SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
5. SMTP协议默认端口号是25

POP3协议
1. POP3,全名为”Post Office Protocol-Version3”,即”邮局协议版本3”。
2. POP3协议属于TCP/IP协议簇,主要用于支持使用客户端远程管理在服务器上的电子邮件。
3. 通常把处理用户POP3请求(邮件接收请求)的邮件服务器称之为POP3服务器默认端口号:110.

邮件收发流程
这里写图片描述

代码实现
1. 硬件环境:Window8
2. 软件环境:jdk1.7.0.80、eclipse、maven3.5.2
3. Maven仓库地址:http://mvnrepository.com/

编写pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ck.javaSendMail</groupId>
  <artifactId>javaSendMail</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <dependencies>
    <!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.5.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
  </dependencies>
</project>

编写配置文件(config.properties)

#设置发送邮件需要身份验证
mail.smtp.auth=true

#设置发件人的邮箱服务器主机名
#mail.host=smtp.163.com
mail.host=smtp.qq.com

#开启debug调试模式
mail.debug=true

#发件人邮箱是否使用了ssl(qq邮箱是使用了ssl的)
#mail.smtp.ssl.enable=false
mail.smtp.ssl.enable=true

#设置发件人的信息
from.user=2771287337@qq.com
from.password=密码(这里改为自己的qq密码)

#设置收件人的信息
#to.user=2771287337@qq.com
#to.user=chuangke218@163.com
to.user=3244932549@qq.com

编写发送邮件的方法及测试方法

package com.ck.utils;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
 * 邮件工具类
 * @author 52363
 *
 */
public class MailUtils {

    public static void sendMail() throws Exception{
        //1.创建链接,链接到邮箱服务器
        final Properties properties = new Properties();
        properties.load(MailUtils.class.getResourceAsStream("/config.properties"));
        Session session = Session.getDefaultInstance(properties, new Authenticator() {//匿名内部类
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(properties.getProperty("from.user"),
                        properties.getProperty("from.password"));
            }
        });

        //2.创建邮件对象,写邮件
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(properties.getProperty("from.user")));//设置发件人
        message.setRecipient(RecipientType.TO, new InternetAddress(properties.getProperty("to.user")));
        message.setSubject("生日祝福");//设置邮件的主题
        message.setContent("<h1>生日祝福</h1><p>祝你生日快乐!</p>", "text/html;charset=utf-8");

        //3.发送邮件
        Transport.send(message);
        System.out.println("发送成功!");
    }
    public static void main(String[] args) throws Exception {
        sendMail();
    }
}

目录结构
这里写图片描述

总结
以上呢就是使用Java发送邮件的代码。我试过用网易的邮箱往QQ邮箱、QQ邮箱往网易邮箱以及QQ邮箱往QQ邮箱发邮件,都是可以的,不要忘了改配置文件中的信息,每次修改不只是修改用户名和密码,还要注意邮箱服务器那块的修改。
另外要注意的是,使用QQ邮箱来做发件人,需要开启QQ邮箱的POP3以及SMTP协议,而且腾讯要求使用QQ号绑定的手机发信息(qq邮箱的设置中会有提示),然后会返回一串授权码,在以上发邮件的代码中,发件人的密码就要用刚刚的那个授权码,而不能使用QQ号本身的密码。
源代码上传到了我贡献的资源中了,大家感兴趣可以去下载下来看~

使用Java Email发送邮件 前言Email就是电子邮件。电子邮件的应用已经有几十年的历史了,我们熟悉的邮箱地址比如abc@example.com,邮件软件比如Outlook、网易闪电邮、Foxmail都是用来收发邮件的。当然,使用Java程序也可以收发电子邮件... 阅读详情

相关推荐

Java使用javax.mail发送邮件

强力推荐Java架构师学习网址:https://qiuyadongsite.github.io/ 这里使用maven项目进行开发 1.首先pom中加载jar <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId&gt...

u010446936的博客 1万+

邮件发送

邮件发送 邮箱服务器的基本概念 邮件的客户端: 可以只安装在电脑上的也可以是网页形式的邮件服务器: 起到邮件的接受与推送的作用 邮件发送的协议: 协议:就是数据传输的约束 接受邮件的协议:POP3 IMAP 发送邮件的协议:SMTP 邮件发送过程 邮件发送代码 邮件客户端软件:FoxMail Java中需要导入的jar包:----mail.jar Java中需要使用到的工具类-----Ma...

Zldz33的博客 680

如何用javamail定时发送邮件

如何用javamail定时发送邮件

使用MailUtils发送邮件

使用MailUtils发送邮件 注意事项 private static final String USER = ""; // 发件人称号,同邮箱地址 private static final String PASSWORD = ""; // 如果是qq邮箱可以使 这里面必须要写上发件人的邮箱和密码; 如果是qq邮箱可以是密码也可以是客户端授权码 必须要开启客户端授权码 package ...

拉格朗日的学习笔记 1626

Maven的下载安装配置教程(详细图文)

目录 一、简单了解一下什么是Maven 二、maven的下载 三、maven的安装 四、maven的环境变量配置 五、setting文件配置 六、开发工具配置Maven 一、简单了解一下什么是Maven Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。 1.Maven翻译为“专家“, ”内行”的意思,是著名Apache公司下基于Java开发的开源项目。 2.Maven项目对象模型(POM)是一..

bakelFF的博客 12万+

解决PubMed卡在“正在检查浏览器”页面的完整排查指南

DNS解析是将域名转换为IP地址的基础网络服务,其稳定性和准确性直接影响网站访问。当DNS服务器响应缓慢或返回异常结果时,可能导致客户端与服务器建立连接时出现偏差,从而触发网站的安全验证机制,例如Cloudflare等安全服务提供的浏览器环境检查。这一机制旨在防御恶意流量,但偶尔也会误拦截正常访问。在生物医学信息检索领域,PubMed作为核心文献数据库,其稳定访问对科研工作流至关重要。针对因DNS或本地缓存问题导致的‘正在检查浏览器’页面卡顿,通过刷新DNS缓存、更换为Google Public DNS或C

weixin_29597551的博客 3718

【Java】-【使用smtp协议发邮件】

目前163和qq邮箱支持SMTP协议,本文以qq邮箱为例,163邮箱和这个思路一样 场景:使用qq邮箱给xx邮箱发一条邮件,那么你一定要获得qq邮箱的授权码,在里找到以下内容,开启服务获得授权码,如果你已经开启了,那么点击获得授权码: POM.xml中导入以下依赖: 在classpath路径下(我是)新建mail.properties配置文件,配置内容如下: 注意:核心代码: 测试代码:......

CaraYQ的博客 3490

跨厂商网络设备的RADIUS认证:Windows NPS的兼容性与最佳实践

本文详细探讨了Windows NPS在多厂商网络环境中的RADIUS认证实践,特别针对华为、华三、思科等主流设备的兼容性问题提供解决方案。从基础配置到高级优化,涵盖VSA属性映射、认证协议选择及安全加固措施,帮助企业实现统一身份认证并提升网络安全性。

weixin_29213827的博客 422

smtp协议邮件发送工具MailUtil的配置文件

#发送方的邮箱账号 mail.username=****@sina.cn #发送方的邮箱密码 mail.password=***** #使用的协议(JavaMail规范要求) mail.transport.protocol=smtp #发件人的邮箱的 SMTP 服务器地址 mail.smtp.host=smtp.sina.cn #需要请求认证 mail.smtp.auth=true #某...

futao127的博客 3108

SAP 集成泛微 OA Open API 新建流程申请接口

《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3557

Holosoma 开源人形机器人强化学习训练部署框架

Holosoma是一个综合性人形机器人框架,支持强化学习策略的训练、部署和动作重定位。该框架兼容多种模拟器(IsaacGym、IsaacSim、MuJoCo等)和机器人(Unitree G1、Booster T1),提供运动控制和全身追踪功能。主要特性包括:跨模拟器训练评估、Wandb集成、多GPU支持、自定义奖励权重和观测噪声配置。推理模块支持实体机器人部署和MuJoCo仿真测试。动作重定位工具可将人体动作数据转换为机器人动作,支持单序列和批量处理。文档详细介绍了训练配置、评估方法和高级功能,如课程学习和

2506_90492529的博客 1829

java发送邮件&&使用HtmlEmail发送邮件

java原生发送qq邮箱 首先要有QQ邮箱的授权码,如果有就直接看代码。 1.登录QQ邮箱,找到设置 2.选择账户选项,往下找到IMAP服务。 3.开启服务获得授权码,或已经开启缺不知道,可以重新生成授权码。 public static void main(String[] args) throws AddressException,MessagingException { ...

Dragon_King的博客 4735

AD9613操作控制

输出250M时钟给AD9613,过FPGA ILA逻辑分析仪将AD9613采集的两个通道ADC数据250M数据显示出来。其中AD9613输出的是LVDS数据,通过select IO核转为并行数据。 一,搜索IP核:selectIO interface wizad ,并双击配置 配置为input,DDR模式,数据位宽为12bit,IO类型为差分,这里配置的是12对数据差分对。然后配置外部差分时钟。 将tap setting 设置为13,将时钟的边沿对准数据的中间,以免数据出错 二,

wangjie36的博客 4050

java发送邮件 java使用 commons-email 发送邮件 发送模板邮件,附件邮件

java发送邮件 java使用 commons-email 发送邮件 发送模板邮件,附件邮件 一、Commons Email 简介 1、Apache Commons Email :Commons Email旨在提供发送电子邮件的API。它构建在Java邮件API之上,其目的是简化。 2、官网: http://commons.apache.org/proper/commons-email...

HaHa_Sir的博客 2410

AI智能体丨使用Coze一键生成道教国学智慧语录视频,涨粉快好变现!(附保姆级教程)

该教程详解如何通过自动化流程批量制作道家国学视频,将晦涩哲理转化为轻量化内容,适配短视频平台需求。

李同学Lino的博客 3500

YOLOv13改进策略【Neck】| CVPR2024 LGAG:大核分组注意力门模块,3×3分组卷积与注意力协同的特征精准融合

本文记录的是利用LGAG 模块改进 YOLOv13 的颈部融合部分。(Large-kernel Grouped Attention Gate)通过3×3分组卷积与注意力机制结合,引导解码器处理特征与跳接特征的精准融合。本文利用模块,通过3×3分组卷积扩大感受野以捕捉更广泛局部空间上下文,同时结合注意力机制生成自适应注意力系数,对YOLOv13中关键目标特征赋予高激活值、抑制冗余背景特征,在特征融合阶段实现全局语义与局部细节的高效结合,减少计算成本的同时提升特征表达能力,增强模型对复杂场景下目标的检测精度与效

Limiiiing的博客 105

使用Java程序发送邮件|发送有附件的邮件|进行邮件群发

今天公司某一个业务需要给顾客发邮件进行营销,并且需要附带附件,公司当前对该功能还没有进行封装。我暂时对于使用Java程序发送邮件练习一个小demo。本文涉及到的知识点: >1.如何使用Java程序发送邮件 >2.如何发送有附件的邮件 >3.如何进行群发邮件 >4.如何携带多个附件

小白的程序猿 1760

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java使用126发送邮件_java mail发送邮件

packagecom.info.util;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importjava.util.Properties;importjavax.mail.Address;importjavax.mail.BodyPart;importjavax.mail.Message;importja...

weixin_29482557的博客 961

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java中使用java扩展包下的mail实现邮件发送

Java中经常需要使用发送邮件的场景 ,比如日志告警,某些任务运行情况,当无人值守的时候,系统出现了问题,需要系统自动发送邮件给到运维人员。所以实现自动发送邮件是java开发人员必掌握的技能之一。

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 1356

【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】

一、邮件发送   1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示。     SMTP协议使用的端口号:25     rfc821详细记载了该协议的相关信息     (1)使用telnet发送邮件(使用126邮箱服务器,现在126邮箱服务器要求使用类似于QQ的独立密码进行客户端的验证(网页登陆不需要))       第一步:连接到邮箱服务器        ...

12万+

使用Java代码发送邮件

看这个之前,首先确定你拥有了发送邮件的账号以及授权码,(PS:授权码不是密码,是开通pop3服务,可自行百度) 直接上代码,必要信息有所隐藏,所以请勿照搬,请多看注释!!!多看注释!!!多看注释!!! 所使用的jar点击下载——>程序中使用的jar mail.jar【完全免费】 import java.util.Properties; import javax.mail.Authenticator; import javax.mail.MessagingException; i...

技匠而已 4943

JAVA使用Transport类发送邮件

        使用Authenticator类的情况:当直接使用Transport的无参方法connect或者是Transport的静态方法直接发送邮件时,若服务器需要认证信息者则这两个方法都不能提供,因此要在创建Session对象时提供了Authenticator的认证信息,则就可以直接使用了。 通过使用Authenticator类的方式向邮件服务器提供认证信息可以按照以下步骤和思路进行编写...

江南雨 1万+

如何使用java发送邮件

  今天给大家带来的是用java发送邮件,如有不足之处,敬请指教。   本次我们利用QQ来发送邮件。 一、配置步骤 打开邮箱的POP3、SMTP 导入包 配置邮件发送类 编写邮件 测试 二、配置流程 2.1 打开邮箱的POP3、SMTP 图示 2.2 导入包 javamail下载路径: https://www.oracle.com/technetwork/java/...

weixin_43974276的博客 225

使用JAVA实现邮件发送功能

使用Java实现邮件发送(文本邮件,单个附件邮件,多个附件邮件)。

Sophia的博客 3万+

使用 Java 发送邮件

在我们的应用程序中有时需要给用户发送邮件,例如激活邮件、通知邮件等等。那么如何使用 Java 来给用户发送邮件呢? 使用 java 代码发送邮件 使用工具类发送邮件 使用Spring进行整合发送邮件 发送带附件的邮件 一.使用 Java 代码发送邮件 第一步:导入依赖坐标 <!-- Javamail --> ...

weixin_30455365的博客 178

使用JavaMail的Java邮件发送

简介: 当今时代,电子邮件在各大网站都是非常常见且应用非常的广泛,比喻在网站注册一个账号后,系统自动发送一个激活邮件,点击链接发送请求才能登录,以及通过邮件找回密码等等。本文将介绍使用java来发送邮件。 一、电子邮件协议 常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143 建立连接。下面分别对其进

_William_Cheung的博客 555
上一篇: Java读取配置文件(Properties类)
下一篇: BeanFactory、FactoryBean与ApplicationContext的区别
小狐狸218
博客等级 码龄11年 4粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值