java 发送邮件

Java 发送邮件 使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF)。下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些 jar 文件。您需要把和文件添加到您的 CLASSPATH 中。如果你使用第三方邮件服务器如QQ的SMTP服务器,可查看文章底部用户认证完整的实例。 阅读详情

首先需要加入以下jar包


然后运行代码

package com.liang.tiezi;


import java.sql.Date;
import java.util.Properties;


import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;




public class SendMail {

public static void main(String[] args) {
SendMail.sendAccountActivateEmail();
}

    /** 
     * 
     */  
    public static void sendAccountActivateEmail() {  
        Session session = getSession();  
        MimeMessage message = new MimeMessage(session);  
        try {  
            message.setSubject("帐户激活邮件");  //邮件标题
            message.setSentDate(new Date(0)); //时间 
            message.setFrom(new InternetAddress("1135409377@qq.com"));  //发件人邮箱
            message.setRecipient(RecipientType.TO, new InternetAddress("652791205@qq.com")); //收件人信息  
//            message.setContent("<a href='http://localhost:9876'><font>欢迎您注册语录社,点击此链接进行激活。</font></a>","text/html;charset=utf-8");  
            message.setContent("hello gril","text/html;charset=utf-8");//邮件内容,可以使超链接,可以使纯文本
            //发送邮件  
            Transport.send(message);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
      
    public static Session getSession() {  
        Properties props = new Properties();  
        props.setProperty("mail.transport.protocol", "smtp");  
        props.setProperty("mail.smtp.host", "smtp.qq.com");
        props.put("mail.smtp.localhost", "localHostAddress");
        props.setProperty("mail.smtp.port", "25");  
        props.setProperty("mail.smtp.auth", "true");  
//        Session session = Session.getDefaultInstance(props);
        Session session = Session.getInstance(props, new Authenticator() {  
            @Override  
            protected PasswordAuthentication getPasswordAuthentication() {  
                String password = "liangpengxdnovo";//发件人邮箱密码  
//                InputStream is = EmailUtils.class.getResourceAsStream("password.dat");  
//                byte[] b = new byte[1024];  
//                try {  
//                    int len = is.read(b);  
//                    password = new String(b,0,len);  
//                } catch (IOException e) {  
//                    e.printStackTrace();  
//                }  
                return new PasswordAuthentication("1135409377@qq.com", password);  //发件人邮箱,发件人邮箱密码。
            }  
              
        });  
        return session;  
    }  
}

这时会报错,提示

java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法 (摘自此链接)

在编写邮件发送相关程序时,会报错!

 

主要原因是 

 

javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。
废话不多说下面是解决方法
进到

X:/Program Files/MyEclipse 6.5/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806/data/libraryset/EE_5

这个路径里,可以看到javaee.jar,用rar把这个文件打开,然后进到javax文件夹里,删除mail.jar和activation.jar(我的javaee.jar里,这两个东西是文件夹,总之删掉就OK,不过要注意备份一下)

删掉之后运行下面的代码,经行简单的修改以后就可以实现接收邮件的功能了!我已经测试过完全可行。




Ubuntu 22.04下Nvidia显卡驱动安装全攻略:从PPA源到避坑指南 本文详细介绍了在Ubuntu 22.04系统下安装Nvidia显卡驱动的完整流程,包括PPA源的使用、旧驱动清理、安装后验证及常见问题解决方案。特别针对机器学习开发者和图形设计师,提供了从基础安装到性能调优的全方位指南,帮助用户避免常见安装陷阱并优化GPU性能。 阅读详情

相关推荐

TBtools的序列提取步骤

本教程详细介绍了如何使用TBtools软件从原来的FASTA序列中提取特定的DNA序列。

weixin_47509995的博客 1万+

如何使用Java代码发送一个“Java Email”?

Email就是电子邮件,我,们经常用来收发邮件的软件有:Outlook,网易邮箱,Foxmail,QQ邮箱等。当然,使用Java程序也可以收发电子邮件。我们先来了解一下电子邮件的发送过程,例如Outlook,发送到邮件服务器,可能经过若干个邮件服务器的中转,最终到达对方邮件服务器上,收件方就可以用软件接收邮件。...

qq_52223733的博客 2244

USB-Blaster在Win11报错?3分钟搞定驱动兼容性问题(Quartus 21.4实测)

本文针对Windows 11系统下USB-Blaster驱动安装问题,提供了一套快速解决方案。通过优化驱动安装流程、绕过签名验证及设备管理器高级技巧,帮助开发者在3分钟内解决Quartus 21.4的兼容性问题,提升FPGA调试效率。

weixin_30772105的博客 293

javax.mail发送邮件工具类

支持同时发送多个邮箱 需要注意2点: JDK版本需要1.7+ 需要引入2个包:javax.mail、com.sun.mail(版本1.6+) maven地址 &lt;dependency&gt; &lt;groupId&gt;javax.mail&lt;/groupId&gt; &lt;artifactId&gt;javax.mail-api&lt;...

Tonny的博客 2498

手把手教你用ESP32驱动MAX30102心率血氧传感器(含完整代码)

本文详细介绍了如何使用ESP32微控制器驱动MAX30102心率血氧传感器,构建智能健康监测系统。内容涵盖PPG原理、硬件连接、驱动配置、信号处理算法以及Web服务器数据可视化,提供完整代码实现,帮助开发者快速上手物联网健康设备开发。

weixin_29208077的博客 590

华为S5720交换机堆叠配置

S5720交换机,做下堆叠,两条线,交叉互联(即A交换机23口连到B交换机24口,A交换机24口连接B交换机23口)。PS:S5720堆叠可基于电口或者光口做,本次测试基于电口。 SWA配置 # 改名 [Huawei]sysname SWA # 最好先shutdown接口 [SWA]interface GigabitEthernet 0/0/23 [SWA-GigabitEthernet0/0/23]shutdown [SWA-GigabitEthernet0/0/23]interface G.

Markdown 6340

JAVA实现邮件发送

一、邮件服务器与传输协议 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。 SMTP协议:通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。 POP3协议:通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP

qq_34823218的博客 2万+

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 424

Java实现邮件发送

Java实现邮件发送 一、邮件服务器与传输协议 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。 SMTP协议 通常把处理用户smtp请求(邮件...

baolingye的博客 14万+

开源WorkBuddy实战课:从零搭建AI Agent办公自动化工作台

AI Agent作为大语言模型之上的智能体,正在重塑办公效率。它通过工具调用、任务规划与长期记忆,将被动问答升级为主动执行。WorkBuddy作为图形化智能体工作台,降低了搭建门槛,让非技术人员也可配置自动化流程。本文开源整套实战资料,涵盖JDK环境配置、模型接入、日报邮件处理、表格清洗、批量文档生成等场景,并讲解自定义指令、Skills扩展与MCP协议。从基础概念到工程实践,帮助读者快速上手,构建属于自己的办公自动化助手。

weixin_29083475的博客 226

uniApp微信小程序:利用live-pusher人脸活体检测功能+完整示例代码,uniapp使用live-pusher直播推流组件实现人脸验证-活体检测,检测人脸中的动作包括眨眼、张嘴、左右摇头动作

UniApp 使用 live-pusher 实现人脸活体检测(附完整源码)uniapp开发微信小程序人脸检测活体检测,在uni-app的微信小程序项目中使用live-pusher实现人脸识别,uniapp使用live-pusher实现模拟人脸识别效果,张张嘴、眨眨眼、向左摇头、向右摇头等动作,免费使用人脸活体检测的插件方案,uniapp小程序怎么免费使用人脸活体,直播推流,UNIAPP微信小程序使用live-pusher实现人脸识别(拍照)功能,在uni-app项目中实现人脸识别,既使用uni-app中的l

✅ 精选推荐文章 3015

【JavaMail】Java中发送邮件

我们要在程序中发送邮件,就必须有SMTP服务器,可以选择网易、Gmail等邮箱,并开启POP3/SMTP服务,用于充当我们的SMTP服务器,也可以自己搭建一个SMTP服务器。可以看到,这段代码构建TextPart的时候,格式支持HTML代码,如果要在邮件中展示图片,只需要在其中构造图片标签即可。也就是说,发送邮件一般有SMTP协议,接收邮件常用的有两种协议(POP3、IMAP)网易邮箱中就提供了这两种组合给用户选择。Java开发中,经常用sun公司的。组件来进行邮件的发送。

神也在Cpoy 5458

【Bug已解决】Codex CLI 报 stream disconnected before completion 解决方案

方案适用场景推荐指数更新根证书库社区验证的最常见根因⭐⭐⭐⭐⭐检查系统时间虚拟机/容器等特殊运行环境⭐⭐⭐⭐核对 base_url 配置排除证书问题后的下一步排查⭐⭐⭐⭐更换网络环境测试怀疑本地网络设备存在干扰⭐⭐⭐升级到最新版本已知版本缺陷的场景⭐⭐⭐⭐报错虽然表现形式很像网络连接问题,但社区排查的多个真实案例表明,很大一部分情况的根因其实是本机系统的 TLS 证书信任链异常或系统时间不准确,而不是单纯的网络质量问题。优先检查并更新系统根证书库,这是社区验证过的高频根因。

一键难忘的博客 8028

Java邮件发送

Java邮件发送,下面的是简单的邮件发送代码,邮件服务器配置在mailServer.properties文件里面。通过简单的文本邮件发送方式发送邮件,暂未使用html格式的邮件发送方式。 javax.mail.jar下载地址:http://www.oracle.com/technetwork/java/javamail/index.html 注:常用发送邮件服务器名称及端口 163 sm

Hsing Hsu's Blog 4499

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java实现发送邮件

在上面的代码中,我们将与服务器连接的信息封装在Properties对象中,在创建Session对象时,需要传入两个参数 ,第一个参数就是我们封装的服务器连接信息,第二个参数为用户认证对象,因为Authenticator为抽象类,所以创建一个匿名子类对象并将邮箱账号和授权码传入。在生活中,我们经常会发送带有附件的邮件,接下来,我们就通过java程序发送带有附件的邮件,要发送带有附件的邮件,不能直接设置正文内容,需要用到。我们有时候需要在邮件的正文中嵌套图片,那么这个功能在java程序中如何实现呢?

weixin_72764731的博客 7797

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java实现邮件发送

java实现邮件发送逻辑并不复杂(不包含附件),只是根据官方调用官方提供的sdk,首先需要引入maven依赖:javax.mail &lt;dependency &gt; &lt;groupId &gt;com.sun.mail&lt;/groupId &gt; &lt;artifactId &gt;javax.mail&lt;/artifactId &gt; &...

瑾年的博客 8430

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java中邮件的发送

原链接 https://github.com/lenve/vhr/wiki/27.Java%E4%B8%AD%E9%82%AE%E4%BB%B6%E7%9A%84%E5%8F%91%E9%80%81 Java中邮件的发送 邮件发送也是一个老生常谈的问题了,代码虽然简单,但是许多小伙伴对过程不太理解,所以还是打算和各位小伙伴聊聊这个话题。 邮件协议 我们经常会听到各种各样的邮件协议,比如SMTP、POP3、IMAP,那么这些协议有什么作用,有什么区别?我们先来讨论一下这个问题。 SMTP是一个基于TCP/IP

喜欢前端的后端 MelodyJerry 2355

java发送outlook邮件_通过Java代码发送OutLook邮件

准备我们想通过Java代码实现发送OutLook邮件,必须准备以下材料:OutLook邮箱目标邮箱查看OutLook邮箱信息打开OutLook邮箱,在Settings中搜索或找到SMTP:打开以下界面,拿到我们想要的数据(ServerName 以及 Port),如图:JAVA项目使用Maven或者创建一个普通项目,选择导入Maven依赖或导入jar包,我这里使用的是Maven创建的Java项目,所...

weixin_30127493的博客 3970

java项目如何发送邮件

邮件一直作为企业交流的重要方式,可以用来做消息通知,文件发送。 今天讲一下在java项目中如何发邮件。 一、设置邮箱POP3/SMTP服务 首先就是必须打开邮箱的POP3/SMTP服务,这一点很关键,不打开的话会报下面的错误。 打开方式也很简单,邮箱设置==》账号==》找到授权服务,授权后会返回一个授权码。 这个授权码在在代码里面可以直接作为密码使用。 二、在项目中使用 <dependency> <groupId>org.springframework.boot&l

cpown的博客 1960

java发送邮件教程

日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;再比如大家熟悉的某个WEB系统注册阶段,通常会有一个功能,点击发送到目标邮箱的链接完成账户激活。本博客主要是介绍在java环境下如何发送邮件 开始之前先简单介绍一下与邮件相关的一些协议 SMTP 协议 SMTP 的全称是 Simple Mail Transfer Protocol,即简单邮件传输协议,它是一组...

WatsonYee的博客 3787

Java发送邮件 注册成功发送邮件

Java发送邮件 用Java发送邮件,首先得导入两个jar包; 我这里是以发送QQ邮箱为例的。 发送一份纯文本的邮件 import com.sun.mail.util.MailSSLSocketFactory; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.i...

你好,Java!的博客 792

JAVA 发送GMAIL 邮件

JAVA发送GMAIL邮件 废话不多说 上代码 不懂的方法可以百度 都有 package com.pos.pos_conn.util.email; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session...

sou_time 2987

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的博客 2412

用java实现邮件发送

电子邮件 1、基础知识铺垫 要在网络上实现邮件功能,必须要有专门的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过的邮件,并把邮件投递到邮件接收者的电子邮箱中。 SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。 电子邮箱(E-Mail地址)的获得需要在邮件服务器上进行申请。比如我们要使用QQ邮箱,就需要开通邮箱能; 传输协议 SMTP协议 发送邮件: 我们通常把处理用户smtp请求(邮件

1飞飞1博客 876
上一篇: java图片压缩,传入图片的byte [],返回图片压缩后的byte[]。
下一篇: 改善java程序的151个建议 读后感一
三易的博客
博客等级 码龄15年 42粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值