Vorheriger Artikelinteressium für Javamail Im dritten Artikel, um E -Mails zu senden, haben wir gelernt, wie die von der Javamail -API bereitgestellte Transportklasse zum Senden von E -Mails verwendet wird. In ähnlicher Weise bietet die Javamail -API auch einige spezielle Klassen, um verwandte Operationen für die Rezeption von E -Mails auszuführen. Bevor wir diese Klassen einführen, verstehen wir zunächst die Architektur der E -Mail -Empfangs -API. Die Javamail -API definiert eine Java.Mail.Store -Klasse, mit der E -Mail -Empfangsaufgaben ausgeführt werden. Wir rufen Methoden in dieser Klasse im Programm auf, um Informationen zu jedem Mail -Ordner in der Mailbox zu erhalten. Javamail verwendet das Ordnerobjekt, um den Mail -Ordner darzustellen. Über die Ordnerobjektmethode können alle E -Mail -Informationen im E -Mail -Ordner erhalten werden. Wir wissen, dass die Informationen der E -Mail durch das Nachrichtenobjekt dargestellt werden können. Die Nachrichtenklasse enthält verschiedene Methoden zum Betrieb der E -Mail, z. B. das Erhalten des Absenders, des Betreffs, des Körperinhalts, des Sendens von Zeit usw. ihre Arbeitsbeziehung lautet wie folgt:
1. Erhalten Sie ein Store -Objekt, das ein bestimmtes E -Mail -Senden -Protokoll aus dem Sitzungsobjekt implementiert.
2. Melden Sie sich bei der E -Mail -Adresse an und stellen Sie eine Verbindung zum POP3- oder IMAP4 -Server her.
3. Rufen Sie die GetFolder -Methode des Speichers an, um das Ordnerobjekt eines bestimmten Mail -Ordners in der Mailbox zu erhalten.
V. Jede E -Mail wird als Nachrichtenobjekt zurückgegeben.
Als nächstes verwenden wir die oben genannte Klasse, um E -Mails zu erhalten
import java.util.properties; import javax.mail.address; import javax.mail.folder; import javax.mail.message; import javax.mail pop3server = "pop.qq.com"; String protocol = "pop3"; String username = "[email protected]"; String password = "****************"; // Der SMTP -Autorisierungscode des QQ -Mailboxs, was ist der Autorisierungscode und wie wird er festgelegt? Eigenschaften props = neue Eigenschaften (); props.setProperty ("mail.transport.protocol", Protocol); // verwendetes Protokoll (verwendet durch Javamail -Spezifikation) props.setProperty ("mail.smtp.host", pop3server); // Die SMTP -Serveradresse des Postfachs des Absenders // die Verbindungssitzung Session = Session.getDefaultInstance (Requisiten) abrufen; Session.setDebug (false); // Holen Sie sich den Store Object Store Store = Session.getStore (Protokoll); store.connect (pop3Server, Benutzername, Passwort); // Die Authentifizierung des POP3 -Servers anmelden // Wenn das Store -Objekt über POP3 -Protokoll abgerufen wird, kann der Name des E -Mail -Ordners nur als "Posteingang" Ordner order = store.getFolder ("Posteingang") angegeben werden; // Erhalten Sie den E -Mail -Konto des Benutzers. Open (order.read_write); // Zugriff auf die Mail -Konto -Nachricht setzen [] message = order.getMessages (); // Erhalten Sie alle Nachrichten in das Mail -Konto für (Nachrichtennachricht: messages) {String -Betreff = message.getSubject (); // Erhalten Sie die E -Mail -Subjektadresse von = (Adresse). System.out.println ("Der Inhalt der Nachricht ist:"); Message.Writeto (System.out); // Ausgabe des E -Mail -Inhalts in den Ordner console }.CLOSE (false); // Schließen Sie den Ordner -Objekt Store.CLOSE (); // Schließen Sie das Verbindungsobjekt}}
Konsolenausgabeergebnis:
Sie können sehen, dass die Konsole den ursprünglichen Inhalt der E -Mail ausgibt, der noch nicht analysiert wurde, und muss daher vor dem Lesen analysiert werden. Der nächste Artikel, Einführung in Javamail, Kapitel 5, Parsen -E -Mails, erklärt, wie Sie E -Mails analysieren können.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.