关于javamail的学习总结

JavaMail学习笔记2——JavaMail 发送邮件 1.       准备环境:(1).将javaMail核心类mail.jar加入到classpath中。(2).将JAF框架核心类activation.jar加入到classpath中。注意:上面是针对JavaSE的环境,如果是JavaEE环境则不需要,j2ee.jar中包含了上述两个依赖包,可以直接使用。2.发送纯文本邮件:(1).设置连接会话属性://也可用Properties props = System.getProperties();Properties props=new Properties 阅读详情

三个协议:

SMPT(simple email Tarnsfer protocol,简单邮件发送协议):发邮件协议

POP3(Post Office Protocol Version 3,邮局协议第三版):收邮件协议

IMPA(Internet Messege Access Protocol,因特网消息访问协议)收发邮件协议,暂时不涉及

过程:

发邮件:客户端通过SMPT协议将邮件上传到邮件服务器,邮件服务器将邮件保存到数据库。

收邮件:邮件服务器从数据库中获得邮件,客户端从邮件服务器中下载该邮件

Javamail:发送邮件

三个核心类:

Session:如果你得到了它,表示与服务器建立了连接。与Connection作用类似

MimeMessage:它表示一个邮件对象,用过它的setXXX()方法可以设置收件人,发件人,主题,主体等

TransferPort:只有一个功能:发邮件

1..导包:mail.jar   activation.jar

2.得到Session(注意区分ServletSession)

3.创建MimeMessege msg

4.调用msg的相关方法设置:收件人,发件人,主题,主体等

5.发送:TransferPort.send(msg);

发普通邮件代码:

Properties prop=new Properties();

          prop.setProperty("mail.host","smtp.126.com");//设置服务器主机地址

          prop.setProperty("mail.smtp.auth","true");//

          Authenticator auth=new Authenticator(){//它是一个抽象类,需要我们自己实现

                    @Override

                   protectedPasswordAuthentication getPasswordAuthentication() {

                            //TODO Auto-generated method stub

                            return  newPasswordAuthentication("******@**", "**********");

                    }

         };

         Sessionsession=Session.getInstance(prop, auth);         

         MimeMessagemsg=new MimeMessage(session);//创建MimeMessage对象

         msg.setFrom(newInternetAddress("***********@****"));//设置发件人

         msg.setRecipients(RecipientType.TO,"**********");//设置收件人

         //msg.setRecipients(RecipientType.CC,"*************");//设置抄送

         //msg.setRecipients(RecipientType.BCC,"***********");//设置暗送

         msg.setSubject("这是一封来自java的邮件");//

         msg.setContent("这是一封测试邮件","text/html;charset=utf-8");

         Transport.send(msg);     

发带附件的邮件代码:

Properties prop=new Properties();

     prop.setProperty("mail.host","smtp.126.com");//设置服务器主机地址

     prop.setProperty("mail.smtp.auth","true");

     Authenticator auth=new Authenticator(){//它是一个抽象类,需要我们自己实现

        @Override

       protected PasswordAuthentication getPasswordAuthentication() {

           // TODO Auto-generatedmethod stub

           return  newPasswordAuthentication("**********","**********");

        }

    };

    Session session=Session.getInstance(prop, auth); 

    MimeMessage msg=new MimeMessage(session);//创建MimeMessage对象

    msg.setFrom(new InternetAddress("**********"));//设置发件人

    msg.setRecipients(RecipientType.TO,"**********");//设置收件人

    //msg.setRecipients(RecipientType.CC,"**********");//设置抄送

    //msg.setRecipients(RecipientType.BCC,"**********");//设置暗送

    msg.setSubject("这是一封来自java的邮件");//

    //创建多部分主体

    MimeMultipart list=new MimeMultipart();//创建多部件主体

    MimeBodyPart part1=new MimeBodyPart();//创建BodyPart

    part1.setContent("这是一封测试邮件","text/html;charset=utf-8");

    list.addBodyPart(part1);//将bodyPart添加到list中

    MimeBodyPart part2=new MimeBodyPart();//再创建一个BodyPart

    part2.attachFile(new File("e:/others/psb.jpg"));

    part2.setFileName(MimeUtility.encodeText("帅哥.jpg"));//设置文件名称其中encodeText("帅哥.jpg")处理中文乱码问题

    list.addBodyPart(part2);//将part2添加到list中

    msg.setContent(list);//把list设置给msg

    Transport.send(msg);

备注:首先在邮箱中设置支持SMPT发送邮件,注意自己的smtp密码,与邮箱密码区分,其次要注意Sessionsession=Sesssion.getInstance(prop,auth);(注意两个参数,少一个不报错,而且发送不成功)

JavaMail学习笔记3——JavaMail 接收邮件 JavaMail API中定义了一个javax.mail.Store类,它用于执行邮件接收任务,这个类的实例对象封装了某种邮件接收协议的底层实施细节,应用程序调用这个类中的方法就可以获得用户邮箱中的各个邮件夹的信息。JavaMail使用Folder对象表示邮件夹,通过Folder对象的方法应用程序进而又可以获得该邮件夹中的所有邮件信息,而每封邮件信息,JavaMail又分别使用了一个Message对象进行封装。Store类:与Transport类一样,javax.mail.Store类也继承了java.ma 阅读详情

相关推荐

JavaMail学习笔记1——JavaMail基础知识

<br /> <br />1.       电子邮件相关协议:<br />(1).SMTP<br />简单邮件传输协议,定义了递送邮件的机制。我们将使用基于Java-Mail的程序与公司或者ISP的SMTP服务器进行通讯。这个SMTP服务器将邮件转发到接收者的SMTP服务器,直至

Tony Chen的专栏 7632

博客邮件提醒功能的实现(异步编程和消息队列Rabbitmq两种方式)

邮件提醒功能:当你收到某个人的回复时,会给你发送一封提醒邮件,并展示回复的内容。我觉得对于一个博客,邮件回复的功能是必不可少的,能让你及时的回复别人的评论,还能让我更方便的和网上的人对线 其实这个功能还是蛮好实现的,我们先演示怎么用java发送一封简单的邮件

ShockChen7的博客 1866

SpringBoot 系列教程(三十三):SpringBoot整合JavaMailSender实现邮件发送

相信在使用Java发送邮件功能的大佬都知道Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置,支持发送邮件。下面通过实例看看如何在Spring Boot中使用JavaMailSender发送邮件。 .

Thinkingcao的专栏 2214

springboot发送邮箱、设置图片验证码

MimeMessage:封装复杂邮件的Bean,但其设置邮件的属性则需要依赖于MimeMessageHelper类的辅助。发送邮件依赖于JavaMailSender类的send()方法来实现。SimpleMailMessage:封装简单邮件的Bean。引入hutool工具包和redis(用于暂时存储图片验证码)配置application.properties文件。前端使用axios请求该图片。

Jim55697的博客 406

保姆级教程:在NXPS32144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境

本文提供了一份详细的保姆级教程,指导如何在NXP S32K144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境。内容涵盖从前期资源准备、软件安装步骤、核心的MCAL关联配置,到首次创建AUTOSAR工程并进行模块配置的全流程,旨在帮助汽车电子开发者搭建稳定、可用的底层软件开发地基。

wind6的博客 960

SAP 物料的分割评估

SAP 物料的分割评估 前言 本文主要讲解SAP中物料的分割评估,通过分割评估来区分出同一物料不同来源下的核算方式。例如:同一物料分为自产或者采购,或者同一物料分为进口或者国内采购等。 一、概述 分割评估一般用于以下场景: 1、物料分为内部采购和外部采购; 2、物料分属于进口或者国内采购; 3、物料分属于不同的批次; 4、物料分为自制或者采购。 由于物料的来源不同可能导致物料的价格或者性质不同,需要用不同价格来区分出 二、配置步骤 1.激活分割评估 ...

五谷散熊 6792

使用Spring发送电子邮件

一    便捷的MailSender和MailMessage          如果读者读了我的前面的两篇文章,相信对于JavaMail有了一定的认识。事实上,使用JavaMail API来发送邮件,并不是一件轻松的事情。幸运的是,Spring发挥了它一贯化繁为简的特点,对于JavaMail进行了“整容”,在降低开发者使用难度的同时,保留了JavaMail的强大功能。对于JavaMail邮件发送

御前两把刀的专栏 6470

某二级支行网络的设计与实现——配置脚本(1)

【代码】某二级支行网络的设计与实现——配置脚本(1)

u010311846的博客 577

10 分钟实现 Spring Boot 发送邮件功能

什么是SMTP? SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。 什么是IMAP? IMAP全称为Internet Message Access Protocol(互联网邮件访问协议),IMAP允许从邮件服务器上获取邮件的信息、下载邮件等。IMAP与...

s_156的博客 1858

ABAP on HANA/CDS view/AMDP 大乱炖

文章目录1. HANA的三大杀器1.1 内存式数据库1.2 多核架构1.3 列式存储1.3.1 数据压缩1.3.2 并行处理1.3.3 聚集和索引1.3.4 代码下移2. CDS 概念2.1 ABAP 开发环境2.2 OPEN SQL语句2.3 CDS 到底是啥2.4 CDS 类型2.5 创建CDS view3. CDS 实战3.1 Annotation注解3.2 Case 语句3.3 数学计算3.4 字符串表达3.5 货币转换3.6 聚集语句3.7 Join3.8 Union3.9 参数3.10 作为子C

weixin_45689053的博客 4788

JSSIP实战:5分钟搞定WebRTC电话功能(附完整代码示例)

本文通过JSSIP库实战演示如何在Web应用中快速集成WebRTC电话功能。文章提供了从环境准备、SIP服务器连接到完整代码示例的详细步骤,涵盖用户注册、拨号接听、媒体流处理等核心环节,并针对常见问题给出排查方案,帮助开发者高效实现网页端实时语音通信。

u8v9w0x1y的博客 518

JavaMail的学习和使用

JavaMail的学习和使用 package cn.itcast.javamail; import java.io.IOException; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activati...

步履不停的橙子 493

以 Joule 驱动的生成式开发:把需求文档直接变成可运行的 SAP 应用

摘要:SAP BTP的AI助手Joule正在改变开发方式,支持从自然语言描述自动生成数据模型、服务、UI及测试代码。在SAP Business Application Studio中,Joule能根据业务需求生成结构化代码,并提供代码补全、重构、解释等功能。开发者需注意避免上传敏感数据,并对AI生成的代码进行人工审核。Joule特别针对ABAP开发进行了优化,提供符合SAP规范的代码建议,帮助迁移遗留系统。此外,它还能快速生成CAP项目原型,但所有AI生成内容都需经过严格测试验证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 343

JavaMail学习

简介 JavaMail 是sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。 常见的邮件协议: SMTP (Simple Mail Tra...

野尘 746

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran‘s I,LISA聚类地图,显著性地图

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran's I,单变量莫兰指数,双变量莫兰指数计算,LISA聚类地图,显著性地图,Geoda双变量莫兰指数是一种强大的地理空间数据分析工具。

智慧空间实验室 6052

C++11、C++14 和 C++17 标准新特性详解

特性C++11C++14C++17auto类型推导✅范围 for 循环✅Lambda 表达式✅✅✅智能指针✅移动语义✅nullptr✅统一初始化{}✅✅constexpr✅✅✅✅数字分隔符✅结构化绑定✅✅✅文件系统库✅。

h a 6 6 6 c k 为 你解决复杂难题! 441

JavaMail 学习

JavaMail学习笔记 把以前写的转过来咯     作为企业级应用的JavaEE,邮件收发毫无疑问是其重要技术组成;在这方面,JavaMail库和Apache的通用电子邮件软件包给我们提供了两个选择.不过通用电子邮件库实际上是包裹在JavaMail外层的API,所以无论我们选择哪种API,都需要JavaMail库;我们可能还需要JavaBeans激活框架(JavaBeans Activati

ZiMinqun的专栏 905

SAP B1中文培訓教材_SDK

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

JavaMail学习笔记

核心类的从属关系 javax.Session 常用方法 getDefaultInstance(Properties props) 返回默认会话 getInstance(Properties props) 返回新会话 通过以下方式创建session Session session = Session.getInstance(Properties props); javax.mail.Internet.MimeMessage 继承自抽象类javax.mail.Message MimeMessage mes

weixin_42699538的博客 214

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

学习JavaMail

概念 1.JavaMail JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。 虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development

CLARK84的专栏 570

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JavaMail从零开始学习

Java邮件开发介绍 为什么要学习javamail开发? 现在很多WEB应用在开发时都需要集成邮件发送功能,例如: 给新注册的用户自动发送一封包含其注册信息的欢迎E-Mail。 给过生日的注册会员自动发送一封表示祝贺的E-Mail 。 将网站的最新活动信息通过E-Mail发送给所有的注册会员。等等   学习javamail主要包括两部分:生成邮件和发送接收邮件。   邮件开发涉

komna219的专栏 229

JavaMail 模块学习

JAVAZHICHIZHE的专栏 6309

Javamail学习笔记

一、JavaMail概述:     JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类。但它并没有包含在JDK中,而是作为JavaEE的一部分。     厂商所提供的JavaMail服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP:简单邮件传输协议,用于发送电子邮件的传输协议; POP3:用于接收电子邮件的标准协议; ...

qq_39586409的博客 2404

javamail学习

版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:http://www.matrix.org.cn/resource/article/44/44101_JavaMail.html关键字:java,mail,pop,smtp一、Java

chyz1983的专栏 929
下一篇: Redis的五种数据类型
learnjava1989
博客等级 码龄9年 9粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值