Heim  >  Artikel  >  Java  >  Empfangen von E-Mails in Java

Empfangen von E-Mails in Java

WBOY
WBOYOriginal
2024-08-30 15:56:47878Durchsuche

Der Empfang von E-Mails in Java erfolgt über die Klassen „Store“ und „Folder“, die in Verbindung mit den Klassen „MimeMessage“, „Session“ und „Transport“ verwendet werden. Es wird zum Empfangen von E-Mails und zum Erlernen der E-Mail-Versandphasen der JavaMail-API verwendet. Die E-Mail-Receive-Testklasse nimmt Kontakt mit dem nahegelegenen E-Mail-Server und den E-Mails des Kontos auf und zeigt diese an, um auf die IP-Adresse in der Host-Konfigurationsdatei für Hostname und Pop3 hinzuweisen, was der bevorzugte E-Mail-Speicherprotokolltyp ist.

Empfangen von E-Mails in Java

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Wichtige Erkenntnisse

  • Bei Verwendung der JavaMail-API werden E-Mails über die Klassen Store und Folder empfangen.
  • E-Mails können über Java-APIs gesendet und empfangen werden. Die zugrunde liegenden Protokolle haben keinerlei Einfluss auf diese Ebene.
  • Rufen Sie eine Sitzungsinstanz mit den Methoden getDefaultInstance() oder getInstance() der Session-Klasse ab. So erstellen Sie das POP3-Shop-Objekt und verknüpfen es mit dem Pop-Store.
  • Nachdem Sie die Methode getFolder() für das Store-Objekt ausgeführt haben, erstellen Sie das Ordnerobjekt und öffnen Sie es im Postfach.
  • Rufen Sie die Nachrichten aus dem Ordnerobjekt ab.
  • Schließen Sie den Ordner und legen Sie die Gegenstände weg.

Was ist der Empfang von E-Mails in Java?

Um mehr über die E-Mail-Versandphasen der JavaMail-API zu erfahren, stellt die Testklasse emailreceive Kontakt mit dem nahegelegenen E-Mail-Server her, stellt eine Verbindung zu den E-Mails des Kontos her und zeigt diese an, um die IP-Adresse in der Konfigurationsdatei des Hosts für Hostname hervorzuheben und pop3 ist der bevorzugte Mail-Store-Protokolltyp.

Der Empfang von E-Mails erfolgt über die Klassen „Store“ und „Folder“ in Verbindung mit den Klassen „MimeMessage“, „Session“ und „Transport“. Das Programm empfängt E-Mail-Nachrichten als HTTP-Anfragen. Wir müssen im Anwendungs-Setup E-Mail-Adressen mit Servlets verknüpfen, um eingehende E-Mail-Nachrichten zu verarbeiten, und dann müssen wir den Servlet-Code in die Web-App einbinden. Die richtigen Servlets empfangen HTTP-Anfragen aus der eingehenden E-Mail, um die Anfragen zu verarbeiten und die Antwort zu senden.

Empfangs-E-Mail in Java-Klasse erstellen

Wir haben die Verwendung der Java Mail-API zum Versenden von E-Mails untersucht. Da nur ein Protokoll (SMTP) erlernt werden musste, war das Versenden von E-Mails ziemlich einfach. POP3 und IMAP sind jedoch die beiden Protokolle, die für den Empfang verwendet werden. Das traditionellere POP3-Protokoll bietet einen einzigen Posteingang mit einer einzigen Warteschlange für E-Mail-Nachrichten. Der neuere Standard IMAP zeigt E-Mails als Einträge in einer Ordnerhierarchie an, von denen einer ein Posteingang sein wird.

Verfahren zum Empfangen von Post

  • Definieren Sie die E-Mail-Eigenschaften, die die Eigenschaftenklasse verwenden, um das Protokoll und den Mailserver zu definieren.
  • Erstellen Sie die Sitzung mit den Attributen, die wir bereits definiert haben, um den Brief zu lesen.
  • Stellen Sie eine Verbindung her und erstellen Sie einen Speicher zum Lesen von Nachrichten.
  • Definieren und öffnen Sie den Ordner, den wir lesen müssen. Der schreibgeschützte Ordner sollte geöffnet werden.
  • Durchsuchen Sie den ungelesenen Inhalt des ausgewählten Ordners und speichern Sie die Ergebnisse in einer Reihe von Nachrichten.
  • Zeigen Sie dann die Nachrichten an.

Zwei Jar-Dateien in JavaMail

POP3- und IMAP-Provider-Implementierungen sowie ihre sicheren Gegenstücke, POP3S und IMAPS, sind in Java Mail enthalten.

Wir müssen die folgenden zwei JAR-Dateien laden, um E-Mails mit der JavaMail-API zu senden:

Empfangen von E-Mails in Java

  • mail.jar
  • activation.jar

Wir können die JavaMail-API-Implementierung, die völlig kostenlos und Open Source ist, in das Produkt integrieren. Diese Edition soll auch bei SMTP-, POP3- und IMAP-Anbietern verfügbar sein. Eine Jakarta EE-API namens Jakarta Mail, die hauptsächlich zum Senden und Empfangen von E-Mails über die Protokolle SMTP, POP3 und IMAP verwendet wird. Die Java EE-Plattform enthält eine integrierte Version von Jakarta Mail, Java SE-Benutzer können jedoch alternativ ein zusätzliches Paket nutzen. In der neuesten Version, die in den letzten Monaten veröffentlicht wurde, unterstützt eine weitere Open-Source-Java-Mail-Implementierung, GNU JavaMail, nur Version 1.3 der JavaMail-Spezifikation, bietet aber nur das kostenlose NNTP-Backend und ermöglicht so die Nutzung dieser Technologie zum Lesen und Senden Newsgroup-Artikel.

  • Mail.jar: Wir können die JavaMail-API-Implementierung, die völlig kostenlos und Open Source ist, in das Produkt integrieren. Darüber hinaus sind IMAP-, POP3- und SMTP-Anbieter in dieser JAR-Edition enthalten.
  • Activation.jar: Die JavaBeans Activation Framework-Klassen sind in dieser JAR-Datei (Java Archive) enthalten. Demos: Eine Sammlung einfacher, nicht unterstützter Demos, die mehrere JAF-Funktionen nutzten, die in diesem Verzeichnis zu finden sind. Als Dokumentation dient ein Verzeichnis mit den Javadoc-API-Beschreibungen für die öffentlichen Klassen der JAF.

Beispiel für den Empfang von E-Mails in Java

Nachstehend finden Sie das genannte Beispiel:

Code:

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);
}
}

Ausgabe:

Empfangen von E-Mails in Java

Erklärung:

  • Im obigen Beispiel haben wir E-Mails von den Java-Mail-Diensten erhalten.
  • Hier werden Store, Pop3 und andere SMTP-Dienste verwendet, um die spezifischen E-Mail-Benutzer zu verbinden.
  • Die Verwendung von Ordner- und Nachrichten[]-Arrays dient dazu, die Instanz zu erstellen und die Daten zu einem bestimmten Zeitpunkt zu speichern.
  • Damit die Schleife die Daten iteriert und die erforderliche Bedingung validiert, werden schließlich alle Daten gedruckt.
  • Die Hauptmethode ruft die Methode auf und erstellt erneut die Verbindungsinstanz, um diesen Vorgang auszuführen.

FAQs

Im Folgenden sind die häufig gestellten Fragen aufgeführt:

Q1. Definieren Sie den Java-E-Mail-Empfang.

Antwort:

Die Verwendung der JavaMail-API zum Abrufen oder Empfangen einer einfachen E-Mail mit zugrunde liegenden Protokollen hat keinerlei Einfluss auf diese Ebene.

Q2. Welche Protokolle werden zum Empfangen der E-Mail in Java verwendet?

Antwort:

  • IMAP
  • POP3

Dabei ist IMAP ein erweitertes Protokoll zum Empfangen von Nachrichten.

Q3. Wie kann ich Java-E-Mails empfangen?

Antwort:

  • Erfassen Sie das Sitzungsobjekt.
  • Stellen Sie eine Verbindung zum Pop-Server her und erstellen Sie das POP3- oder Store-Objekt.
  • Öffnen Sie das Ordnerobjekt, nachdem Sie es erstellt haben.
  • Drucken Sie eine Reihe der Nachrichten, die Sie aus dem Ordner abgerufen haben.
  • Schließen Sie den Ordner und speichern Sie Objekte.

Fazit

Das Programm empfängt E-Mail-Nachrichten als HTTP-Anfragen. Wir müssen E-Mail-Adressen mit Servlets in der Anwendungseinrichtung verknüpfen, um eingehende E-Mail-Nachrichten zu verarbeiten. Wir sollten den Servlet-Code in die App einbinden. Dann empfangen die richtigen Servlets HTTP-Anfragen aus der eingehenden E-Mail und verarbeiten sie.

Das obige ist der detaillierte Inhalt vonEmpfangen von E-Mails in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:E-Mail in Java löschenNächster Artikel:E-Mail in Java löschen