首页  >  文章  >  Java  >  在Java中转发电子邮件

在Java中转发电子邮件

WBOY
WBOY原创
2024-08-30 15:56:10311浏览

以下文章提供了在 Java 中转发电子邮件的概述。 javamail API 可用于发送和接收可供许多 javamail 类使用的电子邮件。用于向资源学习目的地执行邮件转发操作。 javamail API 包括两个jar:mail.jar 和activation.jar。使用这些 jar 时将传送邮件数据。如果相关人员不在场,则会发出自动回复。

了解javamail API和两个特定的jar(例如mail.jar和activation)可用于发送和接收许多不同javamail类的电子邮件,以完成将邮件转发到目标资源的操作。使用这些 jar 时,会发送邮件数据,如果收件人不存在,则会发送自动响应。然后,每当我们想要转发电子邮件或消息时,我们就可以。它用于快速转发单封或多封电子邮件。然后就是多一点工作,还有消息转发。我们正在使用 JavaMail API 传输可能构成邮件消息的各个部分的消息,因此不仅仅需要调用一个函数来执行此操作。每个组件都有自己的主体部分,它也是处理 MIME 消息时的哑剧主体部分。

在Java中转发电子邮件

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

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

要点

  • 当我们发送电子邮件时,我们可能会将收到的邮件转发给其他人。
  • 使用各种 Javamail 类将消息转发到目标资源。
  • 在阅读此示例以理解它之前,请先了解 JavaMail API 的电子邮件发送阶段。
  • 我们需要加载两个名为 mail.jar 和activation.jar 的 jar 文件,以便使用 JavaMail API 发送或接收电子邮件。
  • 使用 Simple Java Mail 发送电子邮件非常简单。首先,使用 EmailBuilder 生成电子邮件对象。

在 Java 中使用转发电子邮件

该问题涉及从一个邮件服务器读取邮件并将同一消息传递到同一应用程序中的不同电子邮件地址。要实现此目的,请使用 Java Mail API 进行读取和发送。如果两个步骤的主机不同,则必须小心更新属性。企业使用多种渠道进行沟通,因此将所有消息集中在可搜索存档中的一个位置可能会很有帮助。我们可以将两种类型的文本保留在一处,同时将 SMS 消息转发到电子邮件。使用最流行的 Web 开发语言,Plivo 使将 SMS 消息转发到电子邮件变得更加简单。 plivo 是其中一种工具,它是一个用于提供邮件操作和执行其他通信的 API。

使用 Simple Java Mail 发送电子邮件非常简单。第一步是使用 EmailBuilder 构造电子邮件对象。然后,为了发送电子邮件,我们必须使用 MailerBuilder 创建一个邮件程序对象并将电子邮件对象提供给该邮件程序对象。除了列出的设置之外,Simple Java Mail 还提供了电子邮件和邮件程序的其他配置选项。我们需要通知用户应用程序事件和电子邮件发送功能。对于所有大型且以客户为导向的应用程序来说,这是必须的。这是一种与每个用户交互的简单、经济且用户友好的方式,特别是当我们想要发送事件驱动的通知(例如帐户激活、密码更改和其他用户验证)时。因此,它现在是与每个最终用户进行异步通信的常用方法,范围从带有纯文本的简单通知到带有链接和其他多个附件的详细报告。

逐步转发 JavaMail API

  • 访问Session对象的属性来查看POP和SMPT服务器信息。检索消息需要 POP 信息,传输消息需要 SMPT 信息。
  • 创建 POP3 存储对象后连接到存储。
  • 创建文件夹对象后打开电子邮件中的相关文件夹。
  • 回复消息。
  • 如果您想转发消息,请逐条查看消息并写上“Y”或“y”。
  • 获取消息的完整详细信息(收件人、发件人、主题和内容)。
  • 利用消息的组成部分,构造转发消息。消息的文本将是第一部分,要转发的消息将是第二部分。两者结合成一个多部分。然后,在发送之前,多部分会附加到适当寻址的消息中。

Java 中转发电子邮件的示例

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

代码:

package TestNG;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Date;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class NewTest
{
public static void main(String [] args) throws Exception
{
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", "pop.gmail.com");
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "25");
Session sess = Session.getDefaultInstance(props);
try {
Store store = sess.getStore("pop3s");
store.connect("pop.gmail.com", "[email protected]",
"xodbizaoiqijifre");
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
Message[] msgarr = folder.getMessages();
if (msgarr.length != 0) {
for (int i = 0, n = msgarr.length; i < n; i++) {
Message msgarrs = msgarr[i];
String from = InternetAddress.toString(msgarrs.getFrom());
if (from != null) {
System.out.println("From: " + from);
}
String msgrply = InternetAddress.toString(msgarrs
.getReplyTo());
if (msgrply != null) {
System.out.println("Reply the mail " + msgrply);
}
String tomsg = InternetAddress.toString(msgarrs
.getRecipients(Message.RecipientType.TO));
if (tomsg != null) {
System.out.println("To: " + tomsg);
}
String sub = msgarrs.getSubject();
if (sub != null) {
System.out.println("Mail Subject is: " + sub);
}
Date dsnt = msgarrs.getSentDate();
if (dsnt != null) {
System.out.println("Msg Sent: " + dsnt);
}
System.out.print("Do you want to reply [y/n] : ");
String str = reader.readLine();
if ("Y".equals(str) || "y".equals(str)) {
Message msgfwd = new MimeMessage(sess);
msgfwd.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(from));
msgfwd.setSubject("Fwd: " + msgarrs.getSubject());
msgfwd.setFrom(new InternetAddress(tomsg));
MimeBodyPart msgpart = new MimeBodyPart();
Multipart mpart = new MimeMultipart();
msgpart.setContent(msgarrs, "message/rfc822");
mpart.addBodyPart(msgpart);
msgfwd.setContent(mpart);
msgfwd.saveChanges();
Transport ts = sess.getTransport("smtp");
try {
ts.connect("[email protected]", "xodbizaoiqijifre");
ts.sendMessage(msgfwd, msgfwd.getAllRecipients());
} finally {
ts.close();
}
System.out.println("Your message is forwarded successfully");
folder.close(false);
store.close();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

输出:

在Java中转发电子邮件

常见问题解答

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

Q1。 java中的转发邮件是什么?

答案:使用 Java API 将已发送到一个电子邮件地址的电子邮件消息发送到一个或多个其他电子邮件地址的过程称为电子邮件转发。

Q2。 java 中如何转发电子邮件?

答案:消息使用各种 Javamail 类转发到目标资源。我们必须加载以下两个 jar 文件才能使用 JavaMail API 发送或接收电子邮件。

  • mail.jar
  • 激活.jar

Q3。转发电子邮件使用哪些协议?

答案:以下是转发电子邮件所使用的协议。

SMTP
流行音乐
IMAP
MIME

结论

如果收件人最初不是电子邮件链的一部分,他们仍然可以通过将电子邮件转发给他们来查看电子邮件。此外,当我们转发电子邮件时,会将其连同其所有原始内容、格式和附件一起发送给不同的个人或组织。 Java API 将让我们完成这个任务。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn