搜索
首页Javajava教程Java接收邮件

Java中接收电子邮件是Store和Folder类与MimeMessage、Session和Transport类结合使用。它用于接收电子邮件和学习 JavaMail API 的电子邮件发送阶段。 emailreceive 测试类将与附近的电子邮件服务器和帐户的邮件进行联系,并显示它们以指出主机配置文件中的主机名和 pop3 的 IP 地址,这是首选的邮件存储协议类型。

Java接收邮件

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

要点

  • 使用 JavaMail API 时,使用 Store 和文件夹类接收电子邮件。
  • 可以使用 Java API 发送和接收电子邮件。底层协议与这一层完全无关。
  • 使用 Session 类的 getDefaultInstance() 或 getInstance() 方法获取会话实例。生成 POP3 商店对象并链接到流行商店。
  • 对存储对象执行 getFolder() 方法后,创建文件夹对象并在邮箱中打开它。
  • 从文件夹对象获取消息。
  • 锁定文件夹并将物品收好。

什么是Java中的接收电子邮件?

要了解 JavaMail API 的电子邮件发送阶段,emailreceive 测试类将与附近的电子邮件服务器联系,连接到帐户的电子邮件,并显示它们以突出显示主机配置文件中主机名的 IP 地址pop3 是首选的邮件存储协议类型。

接收电子邮件是使用 Store 和文件夹类以及 MimeMessage、Session 和 Transport 类来完成的。该程序接收电子邮件作为 HTTP 请求。我们必须在应用程序设置中将电子邮件地址与 servlet 相关联,以便处理传入的电子邮件消息,然后必须将 servlet 代码包含在 Web 应用程序中。正确的 servlet 从传入电子邮件接收 HTTP 请求来处理请求并发送响应。

在 Java 类中创建接收电子邮件

我们已经研究了使用 Java Mail API 发送电子邮件。由于只需学习一种协议(SMTP),发送电子邮件就相当简单了。不过,POP3 和 IMAP 是用于接收的两种协议。更传统的 POP3 协议提供一个带有单个邮件消息队列的收件箱。最新的标准 IMAP 将邮件显示为文件夹层次结构中的条目,其中一个是收件箱。

接收邮件的流程

  • 定义邮件属性,使用属性类来定义协议和邮件服务器。
  • 使用我们已经定义的属性创建会话来阅读这封信。
  • 建立连接并创建存储来读取消息。
  • 定义并打开我们需要读取的文件夹,并且应打开只读文件夹。
  • 查看所选文件夹中未读的内容并将结果保存在消息数组中。
  • 然后显示消息。

JavaMail 中的两个 Jar 文件

POP3 和 IMAP Provider 实现,以及它们的安全对应项 POP3S 和 IMAPS,都包含在 Java Mail 中。

我们必须加载以下两个 jar 文件才能使用 JavaMail API 发送电子邮件:

Java接收邮件

  • mail.jar
  • 激活.jar

我们可以将完全免费且开源的 JavaMail API 实现合并到产品中。此版本还具有 SMTP、POP3 和 IMAP 提供商的功能。名为 Jakarta Mail 的 Jakarta EE API 主要用于通过 SMTP、POP3 和 IMAP 协议发送和接收电子邮件。 Java EE 平台包含内置版本的 Jakarta Mail,但 Java SE 用户也可以使用额外的软件包。在最近几个月发布的最新版本中,还有另一个开源 Java Mail 实现(即 GNU JavaMail),仅支持 JavaMail 规范的 1.3 版本,但仅提供免费的 NNTP 后端,从而可以使用该技术进行阅读和发送新闻组文章。

  • Mail.jar:我们可以将完全免费且开源的 JavaMail API 实现合并到产品中。此外,此 jar 版本中还包含 IMAP、POP3 和 SMTP 提供程序。
  • Activation.jar: JavaBeans Activation Framework 类包含在此 JAR(Java 存档)文件中。演示:一系列简单的不受支持的演示,这些演示利用了可以在此目录中找到的多个 JAF 功能。包含 JAF 公共类的 Javadoc API 描述的目录用作文档。

Java接收邮件示例

下面给出的是提到的示例:

代码:

package TestNG;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
import com.sun.mail.pop3.POP3Store;
public class NewTest{
public static void receiveEmail(String hst, String stype,
String user, String password) {
try {
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", hst);
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
Session sess = Session.getDefaultInstance(props);
Store st = sess.getStore("pop3s");
st.connect(hst, user, password);
Folder emailFolder = st.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
Message[] messages = emailFolder.getMessages();
for (int i = 0; i 
<p><strong>输出:</strong></p>
<p><img  src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/172500461575925.png?x-oss-process=image/resize,p_40" class="lazy" alt="Java接收邮件" ></p>
<p><strong>说明:</strong></p>
  • 在上面的示例中,我们用于从 java 邮件服务接收电子邮件。
  • 这里使用store、pop3和其他smtp服务来连接特定的邮件用户。
  • 使用Folder和Messages[]数组是为了创建实例并存储特定时间的数据。
  • 循环迭代数据并验证所需条件,最后打印所有数据。
  • main 方法将调用该方法,并再次创建连接实例来执行此操作。

常见问题解答

以下是提到的常见问题解答:

Q1。定义Java接收电子邮件。

答案:

使用 JavaMail API 检索或接收具有底层协议的基本电子邮件与此层完全无关。

Q2。 java中接收邮件使用哪些协议?

答案:

  • IMAP
  • POP3

其中IMAP是一种用于接收消息的高级协议。

Q3。我怎样才能收到Java电子邮件?

答案:

  • 获取会话对象。
  • 连接到 pop 服务器并构造 POP3 或 store 对象。
  • 创建文件夹对象后打开它。
  • 打印您从文件夹中检索到的消息数组。
  • 关闭文件夹并存储对象。

结论

程序接收电子邮件作为 HTTP 请求。我们必须在应用程序设置中将电子邮件地址与 servlet 关联起来,以便处理传入的电子邮件消息,我们应该在应用程序中包含 servlet 代码。然后,适当的 Servlet 接收来自传入电子邮件的 HTTP 请求并处理它们。

以上是Java接收邮件的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Java平台独立性:OS之间的差异Java平台独立性:OS之间的差异May 16, 2025 am 12:18 AM

Java在不同操作系统上的表现存在细微差异。1)JVM实现不同,如HotSpot、OpenJDK,影响性能和垃圾回收。2)文件系统结构和路径分隔符不同,需使用Java标准库处理。3)网络协议实现差异影响网络性能。4)GUI组件外观和行为在不同系统上有别。通过使用标准库和虚拟机测试,可减少这些差异的影响,确保Java程序稳定运行。

Java的最佳功能:从面向对象的编程到安全性Java的最佳功能:从面向对象的编程到安全性May 16, 2025 am 12:15 AM

javaoffersrobustobject-IentiendedProgrammming(OOP)和Top-Notchsecurityfeatures.1)OopinjavainCludesClasses,对象,继承,多态性,和列出,andeclingfleximaintainablesys.ss.2)SecurityFeateTuersLudEtersludEterMachine(

JavaScript与Java的最佳功能JavaScript与Java的最佳功能May 16, 2025 am 12:13 AM

JavaScriptandJavahavedistinctstrengths:JavaScriptexcelsindynamictypingandasynchronousprogramming,whileJavaisrobustwithstrongOOPandtyping.1)JavaScript'sdynamicnatureallowsforrapiddevelopmentandprototyping,withasync/awaitfornon-blockingI/O.2)Java'sOOPf

Java平台独立性:收益,限制和实施Java平台独立性:收益,限制和实施May 16, 2025 am 12:12 AM

JAVAACHIEVESPLATFORMINDEPENTENCETHROUGHJAVAVIRTAILMACHINE(JVM)和BYTECODE.1)THEJVMINTERPRETSBBYTECODE,允许theingthesmecodetorunonanyanyanyanyplatformwithajvm.2)

Java:真实词的平台独立性Java:真实词的平台独立性May 16, 2025 am 12:07 AM

Java'splatFormIndependecemeanSapplicationsCanrunonAnyPlatFormWithAjvm,使“ Writeonce,RunanyWhere”。

JVM性能与其他语言JVM性能与其他语言May 14, 2025 am 12:16 AM

JVM'SperformanceIsCompetitiveWithOtherRuntimes,operingabalanceOfspeed,安全性和生产性。1)JVMUSESJITCOMPILATIONFORDYNAMICOPTIMIZAIZATIONS.2)c提供NativePernativePerformanceButlanceButlactsjvm'ssafetyFeatures.3)

Java平台独立性:使用示例Java平台独立性:使用示例May 14, 2025 am 12:14 AM

JavaachievesPlatFormIndependencEthroughTheJavavIrtualMachine(JVM),允许CodeTorunonAnyPlatFormWithAjvm.1)codeisscompiledIntobytecode,notmachine-specificodificcode.2)bytecodeisisteredbytheybytheybytheybythejvm,enablingcross-platerssectectectectectross-eenablingcrossectectectectectection.2)

JVM架构:深入研究Java虚拟机JVM架构:深入研究Java虚拟机May 14, 2025 am 12:12 AM

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

北端:融合系统,解释
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
4 周前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩盖:探险33-如何获得完美的色度催化剂
2 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用