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.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
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.
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.
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:
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.
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:
Erklärung:
Im Folgenden sind die häufig gestellten Fragen aufgeführt:
Antwort:
Die Verwendung der JavaMail-API zum Abrufen oder Empfangen einer einfachen E-Mail mit zugrunde liegenden Protokollen hat keinerlei Einfluss auf diese Ebene.
Antwort:
Dabei ist IMAP ein erweitertes Protokoll zum Empfangen von Nachrichten.
Antwort:
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!