As we send, forward and receive the emails, we can delete it too. The setFlag method of Message class is used to delete a particular message.
For better understanding of this example, learn the steps of sending email using JavaMail API first. |
For receiving or sending the email using JavaMail API, you need to load the two jar files:
download these jar files (or) go to the Oracle site to download the latest version. |
Steps for deleting the email using JavaMail API
There are total 5 steps for deleting the email. They are:
- Get the session object
- create the store object and connect to the current host
- create the folder object and open it
- Get the message to delete
- delete the message using setFlag method
Example of deleting email in Java
- import com.sun.mail.imap.protocol.FLAGS;
- import java.io.*;
- import java.util.*;
- import javax.mail.*;
- import javax.mail.internet.*;
-
- public class DeleteMail {
-
- public static void main(String args[]) throws Exception {
-
- String user= "sonoojaiswal@javatpoint.com";
- String password="xxxxx";
-
-
- Properties properties = System.getProperties();
- Session session = Session.getDefaultInstance(properties);
-
-
- Store store = session.getStore("pop3");
- store.connect("mail.javatpoint.com",user,password);
-
-
- Folder folder = store.getFolder("inbox");
-
- if (!folder.exists()) {
- System.out.println("inbox not found");
- System.exit(0);
- }
-
- folder.open(Folder.READ_WRITE);
-
-
- Message[] msg = folder.getMessages();
-
-
- for (int i = 0; i < msg.length; i++) {
- System.out.println("--------- " + (i + 1) + "------------");
- String from = InternetAddress.toString(msg[i].getFrom());
-
- if (from != null) {
- System.out.println("From: " + from);
- }
-
- String replyTo = InternetAddress.toString(
- msg[i].getReplyTo());
- if (replyTo != null) {
- System.out.println("Reply-to: " + replyTo);
- }
-
- String to = InternetAddress.toString(
- msg[i].getRecipients(Message.RecipientType.TO));
-
- if (to != null) {
- System.out.println("To: " + to);
- }
-
- String subject = msg[i].getSubject();
- if (subject != null) {
- System.out.println("Subject: " + subject);
- }
- Date sent = msg[i].getSentDate();
- if (sent != null) {
- System.out.println("Sent: " + sent);
- }
- System.out.println("Message : ");
- System.out.println(msg[i].getContent());
-
- }
-
-
- System.out.println("Enter message number to delete :");
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String no = br.readLine();
-
- msg[Integer.parseInt(no) - 1].setFlag(FLAGS.Flag.DELETED, true);
-
- System.out.println("Message Deleted .....");
-
- folder.close(true);
- store.close();
- }
- }
As you can see in the above example, we are able to delete the email from the user mailbox. Now run this program by :
Load the jar file | c:\> set classpath=mail.jar;activation.jar;.; |
compile the source file | c:\> javac DeleteMail.java |
run by | c:\> java DeleteMail |
No comments:
Post a Comment