Introduction to Forwarding Email in Java
The following article provides an outline for Forwarding Email in Java. The javamail API can be used to send and receive emails that can be used by many javamail classes. It is used to perform mail forwarding operations to the resource learning destination. The javamail API, includes two jars: mail.jar and activation.jar. The mail data will be communicated while using these jars. If the concerned individual is not present, an automated response is issued.
Knowing the javamail API and two specific jars like mail.jar and activation can be used to send and receive emails for many different javamail classes in order to accomplish mail forwarding operations to the destination resource. When using these jars, the mail data is sent, and if the recipient is not present, an automated response is sent. Then, whenever we want to forward emails or messages, we can. It is used to quickly forward a single or multiple emails. Then it comes from a little more work, as well as message forwarding. We are transmitting the message for various sections that may make up a mail message using the JavaMail API, so there isn’t just a single function to call for performing this operation. Every component has its own body part, and it’s also a mime body part for when working with MIME messages.
Key Takeaways
- As we send emails, we might forward the received mail to another person.
- The messages are forwarded to the target resource using a variety of Javamail classes.
- Learn the JavaMail API’s email-sending stages before reading this example to make sense of it.
- We need to load the two jar files called mail.jar and activation.jar in order to send or receive emails using the JavaMail API.
- It’s simple to send emails using Simple Java Mail. To begin, use EmailBuilder to generate an email object.
Using Forwarding Email in Java
The issue involves reading mail from one mail server and delivering the same message to a different email address within the same application. To accomplish this, use the Java Mail API for both reading and sending. If the hosts for the two steps differ, the attributes must be updated with care. Businesses use a variety of channels to communicate, so having all of the messages in one place in a searchable archive can be beneficial. We can preserve both types of texts in one place while forwarding the SMS messages to email. Using the most popular web development languages, Plivo makes it more simple to forward SMS messages to email. The plivo is one of the tools and it’s an API for providing mail operations and performing other communications.
It’s really simple to send emails using Simple Java Mail. The first step is to use EmailBuilder to construct an email object. Then, in order to send the email, we must create a mailer object using MailerBuilder and provide the email object to the mailerobject. In addition to the settings listed Simple Java Mail offers additional configuration options for email and the mailer. We need to inform users of application events, and email-sending capabilities. It is a must for all sizable and customer-oriented apps. It’s a simple, affordable, and user-friendly way to interact with each user, particularly when we want to send event-driven notifications like account activation, password changes, and other user verification. As a result, it’s now a common method for asynchronous communication with each end user, ranging from straightforward notifications with plain text to detailed reports with links and other several attachments.
Step by Step Forwarding JavaMail API
- Access the Session object’s attributes to view the POP and SMPT server information. POP information is required to retrieve messages, and SMPT information is required to transmit messages.
- Connect to the store after creating a POP3 store object.
- Open the relevant folder in your email after creating a Folder object.
- Take messages back.
- If you want to forward a message, go through the messages one by one and write “Y” or “y.”
- Obtain the message’s complete details (To, From, Subject, and Content).
- Utilizing the components of a message, construct the forward message. The text of the message would be the first section, and the message to forward would be the second section. The two together into a multipart. The multipart is then attached to an appropriately addressed message before being sent.
Example of Forwarding Email in Java
Given below is the example mentioned:
Code:
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();
}
}
}
Output:
FAQs
Given below are the FAQs mentioned:
Q1. What is forwarding email in java?
Answer: The process of sending an email message that has been delivered to one email address to one or more additional email addresses using the Java API is known as email forwarding.
Q2. How forwarding email works in java?
Answer: The messages are forwarded to the target resource using a variety of Javamail classes. We must load the following two jar files in order to send or receive emails using the JavaMail API.
- mail.jar
- activation.jar
Q3. What are the protocols used in the forwarding email?
Answer: Below are the protocols used in the forwarding email.
SMTP
POP
IMAP
MIME
Conclusion
If a recipient wasn’t initially part of the email chain, they can still see the email by forwarding it to them. Additionally, when we forward an email message, to send it along with all of its original content, formatting, and attachments to a different individual or organization. The Java API will let us accomplish this.
Recommended Articles
This is a guide to Forwarding Emails in Java. Here we discuss the introduction, use, step by step forwarding JavaMail API, and example. You may also have a look at the following articles to learn more –