Java中接收电子邮件是Store和Folder类与MimeMessage、Session和Transport类结合使用。它用于接收电子邮件和学习 JavaMail API 的电子邮件发送阶段。 emailreceive 测试类将与附近的电子邮件服务器和帐户的邮件进行联系,并显示它们以指出主机配置文件中的主机名和 pop3 的 IP 地址,这是首选的邮件存储协议类型。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
要了解 JavaMail API 的电子邮件发送阶段,emailreceive 测试类将与附近的电子邮件服务器联系,连接到帐户的电子邮件,并显示它们以突出显示主机配置文件中主机名的 IP 地址pop3 是首选的邮件存储协议类型。
接收电子邮件是使用 Store 和文件夹类以及 MimeMessage、Session 和 Transport 类来完成的。该程序接收电子邮件作为 HTTP 请求。我们必须在应用程序设置中将电子邮件地址与 servlet 相关联,以便处理传入的电子邮件消息,然后必须将 servlet 代码包含在 Web 应用程序中。正确的 servlet 从传入电子邮件接收 HTTP 请求来处理请求并发送响应。
我们已经研究了使用 Java Mail API 发送电子邮件。由于只需学习一种协议(SMTP),发送电子邮件就相当简单了。不过,POP3 和 IMAP 是用于接收的两种协议。更传统的 POP3 协议提供一个带有单个邮件消息队列的收件箱。最新的标准 IMAP 将邮件显示为文件夹层次结构中的条目,其中一个是收件箱。
POP3 和 IMAP Provider 实现,以及它们的安全对应项 POP3S 和 IMAPS,都包含在 Java Mail 中。
我们必须加载以下两个 jar 文件才能使用 JavaMail API 发送电子邮件:
我们可以将完全免费且开源的 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 后端,从而可以使用该技术进行阅读和发送新闻组文章。
下面给出的是提到的示例:
代码:
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 < messages.length; i++) { Message message = messages[i]; System.out.println("Welcome To Email"); System.out.println("Email Number " + (i + 1)); System.out.println("Subject: " + message.getSubject()); System.out.println("From: " + message.getFrom()[0]); System.out.println("Text: " + message.getContent().toString()); } emailFolder.close(false); st.close(); } catch (NoSuchProviderException e) {e.printStackTrace();} catch (MessagingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} } public static void main(String[] args) { String host = "pop.gmail.com"; String stypes = "pop3"; String username= "[email protected]"; String password= "xodbizaoiqijifre"; receiveEmail(host, stypes, username, password); } }
输出:
说明:
以下是提到的常见问题解答:
答案:
使用 JavaMail API 检索或接收具有底层协议的基本电子邮件与此层完全无关。
答案:
其中IMAP是一种用于接收消息的高级协议。
答案:
程序接收电子邮件作为 HTTP 请求。我们必须在应用程序设置中将电子邮件地址与 servlet 关联起来,以便处理传入的电子邮件消息,我们应该在应用程序中包含 servlet 代码。然后,适当的 Servlet 接收来自传入电子邮件的 HTTP 请求并处理它们。
以上是Java接收邮件的详细内容。更多信息请关注PHP中文网其他相关文章!