Der folgende Artikel enthält eine Übersicht zum Löschen von E-Mails in Java. Mit „E-Mail löschen“ in Java können Sie E-Mails löschen sowie senden, weiterleiten und empfangen. Sie können eine bestimmte Nachricht löschen, indem Sie die Option setFlag der Java-Mail-APIs der Nachrichtenklasse verwenden, was eine der Phasen des E-Mail-Versands darstellt. Java-Mail-APIs sind eine der Phasen des E-Mail-Versands vor dem Lesen der zu sendenden oder zu empfangenden Daten mithilfe dieser Jars mail.jar und activate.jar, um die Java-Vorgänge auszuführen.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Das Löschen von E-Mails in Java bietet die Möglichkeit, E-Mails zu löschen sowie zu senden, weiterzuleiten und zu empfangen. Es akzeptiert das Löschen einer bestimmten Nachricht, die die setFlag-Option wie die Funktion der Message-Klasse verwendet. Das Sitzungsobjekt wird verwendet, um das Ordnerobjekt nach seiner Erstellung zu öffnen und dann das Speicherobjekt mithilfe der setFlag-Methode mit dem aktuellen Hostcomputer zu verbinden und dann die zu löschende Nachricht abzurufen. Zum Löschen von Nachrichten ist das Arbeiten mit den mit den Nachrichten verbundenen Flags erforderlich. Es gibt mehrere Flags für verschiedene Zustände, von denen einige systemdefiniert und andere benutzerdefiniert sind. Die Flags der inneren Klasse definieren immer die vordefinierten Flags.
Die E-Mail kann in insgesamt 4 Schritten gelöscht werden:
Das Sitzungsobjekt verwaltet Daten oder ändert Einstellungen im Zusammenhang mit einer Benutzersitzung. Alle Seiten in einer einzelnen Anwendung können auf Variablen zugreifen, die in einem Sitzungsobjekt enthalten sind, das Daten über einen einzelnen Benutzer enthält. Name, ID und Präferenzen sind Beispiele für Informationen, die häufig in Sitzungsvariablen gespeichert werden.
Um Design-Time-Metadaten in eine Datenbank-Integrationsinstanz zu exportieren und die Speicher-URL zu erstellen, um einen Speicher-Bucket anzugeben und zu erstellen (falls noch keiner vorhanden ist). Um die Instanz zu migrieren, müssen wir diese URL später während des Konfigurationsvorgangs angeben. Durch die Nutzung des Application Migration Service werden diese Aufgaben dann automatisch erledigt.
Es ist nicht erforderlich, dass ein von einem Speicher empfangenes Ordnerobjekt tatsächlich im Backend-Speicher vorhanden ist. Die Existenz des Ordners wird mit der Methode „exists“ überprüft. Mit der Methode create wird ein Ordner erstellt. Ein Ordner befindet sich zunächst im geschlossenen Zustand. In der Dokumentation mehrerer Methoden wird darauf hingewiesen, dass sie in diesem Zustand gültig sind. Durch Aufrufen der Funktion „Öffnen“ eines Ordners wird dieser geöffnet. Alle Ordnermethoden sind in diesem Zustand funktionsfähig, mit Ausnahme von „Öffnen“ und „Löschen“.
Um auf Gmail oder andere Mailserver zuzugreifen. Mit IMAP als Protokoll zeigen wir ungelesene E-Mails aus dem Posteingang an. Anschließend löschen Sie die erste ungelesene E-Mail. Wenn wir den Posteingang öffnen, nachdem das Programm ausgeführt wurde, können wir das Ergebnis genau sehen.
Flags werden hauptsächlich unterstützt, um die vordefinierten Flags als innere Klasse zu deklarieren:
Die oben genannten Flags werden häufig in verschiedenen Zuständen sowohl für systemdefinierte als auch für benutzerdefinierte E-Mails verwendet.
Das Abrufen des Sitzungsobjekts ist der erste Schritt, um mit dem Löschvorgang fortzufahren. Anschließend können wir das Speicherobjekt erstellen. Um sicherzustellen, dass das Store-Objekt zusätzlich mit den Anmeldeinformationen des Localhosts oder des internen Mailservers verbunden ist, können wir den Store abrufen, indem wir die Methode getStore() verwenden, um Protokolle wie Imap, Pop3, SMTP usw. abzurufen. Das Ordnerobjekt ist die nächste Möglichkeit für den Zugriff auf E-Mails wie der Posteingang oder andere persönliche oder öffentliche Zugriffsordner.
Mithilfe des Message[]-Arrays können wir die Nachrichten aus dem jeweiligen Ordner abrufen. Dafür ist die Verwendung der getMessages()-Methode der Pfad zum Abrufen. Wir wissen, dass Flags die wichtigste Rolle zum Löschen der erforderlichen Nachrichten spielen. Hier können wir die Methode setFlag(FLAGS.Flag.DELETED, boolean) verwenden. Diese Bedingungen validieren die Nachrichten und setzen das Flag als gelöscht für den erforderlichen Ordner.
In Java können wir die Schnittstelle namens MailServerManager verwenden, um die Java-Standardklassen wie AbstractMailServerManager, OFBizMailServerManager und XMLMailServerManager zu implementieren. Mit Hilfe des String[]-Arrays, das die Servertypen angibt, die das Erstellen, Aktualisieren und Löschen der Server ermöglichten. Die create(MailServer-Instanz) zum Erstellen des Mailservers mit dem langen Typ Instanz-ID. Hier können wir die Serverinstanz-ID wie delete(java.lang.Long mailServerId) mit void-Typ löschen.
Nachstehend finden Sie das genannte Beispiel:
Code:
package TestNG; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Properties; import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.Session; import javax.mail.Store; public class NewTest { public static void deletemail(String hst, String stype, String emailuser, String passwd) { 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, emailuser, passwd); Folder fld = st.getFolder("INBOX"); fld.open(Folder.READ_WRITE); BufferedReader rd = new BufferedReader(new InputStreamReader( System.in)); Message[] msgs = fld.getMessages(); System.out.println("msgs.length---" + msgs.length); for (int i = 0; i < msgs.length; i++) { Message ms = msgs[i]; System.out.println("---------------------------------"); System.out.println("Email Number " + (i + 1)); System.out.println("Email Subject: " + ms.getSubject()); System.out.println("From: " + ms.getFrom()[0]); String sub = ms.getSubject(); System.out.print("Do you want to delete this message [y/n] ? "); String res = rd.readLine(); if ("Y".equals(res) || "y".equals(res)) { ms.setFlag(Flags.Flag.DELETED, true); System.out.println("Marked DELETE for message: " + sub); } else if ("n".equals(res)) { break; } } fld.close(true); st.close(); } catch (NoSuchProviderException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } catch (IOException io) { io.printStackTrace(); } } public static void main(String[] args) { String gmailhost = "pop.gmail.com"; String mailStoreType = "pop3"; String username = "[email protected]"; String password = "xodbizaoiqijifre"; deletemail(gmailhost, mailStoreType, username, password); } }
Ausgabe:
Erklärung:
Neben der Möglichkeit, E-Mails zu senden, weiterzuleiten und zu empfangen, besteht auch diese Option. Mit der setFlag-Methode der Message-Klasse kann eine bestimmte Nachricht gelöscht werden. Um einen Sinn zu ergeben, müssen Sie mit den E-Mail-Versandschritten der JavaMail-API vertraut sein. Nur das Löschen von Nachrichten in Java-E-Mails wird vom POP-Protokoll unterstützt. Stellen Sie eine Verbindung zu dem Host her, der jetzt aktiv ist, bevor Sie das Speicherobjekt erstellen, um das Sitzungsobjekt abzurufen. Nehmen Sie die zu vernichtende Nachricht, erstellen Sie das Ordnerobjekt und starten Sie es dann mit der setFlag-Funktion.
Im Folgenden sind die häufig gestellten Fragen aufgeführt:
Antwort: Wir haben die Möglichkeit, E-Mails zu löschen sowie zu senden, weiterzuleiten und zu empfangen. Um eine bestimmte Nachricht zu löschen, verwenden Sie die setFlag-Funktion der Message-Klasse. Lernen Sie die Phasen des E-Mail-Versands der JavaMail-API kennen, bevor Sie dieses Beispiel lesen, um es zu verstehen.
Antwort: Das POP-Protokoll wird verwendet, um nur in Java-Mails gelöschte Nachrichten zu unterstützen.
Antwort: Um dann zuerst das Sitzungsobjekt abzurufen, stellen Sie eine Verbindung zum aktuellen Host her und erstellen Sie das Speicherobjekt. Erstellen Sie das Ordnerobjekt und starten Sie es. Rufen Sie mithilfe der setFlag-Methode die zu löschende Nachricht ab.
Das obige ist der detaillierte Inhalt vonE-Mail in Java löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!