Einführung in die grundlegenden Konzepte von E -Mails
E -Mail wird verwendet, um Vertrauen zu vermitteln und online zu kommunizieren, und es ist eines der wichtigsten Internetdienste. Laut Statistiken beziehen sich 30% der Internetdienste mit E -Mails. Gleichzeitig können wir nicht leugnen, dass es eine wichtige Rolle in unserem täglichen Leben, in der Arbeit und in unserem Büro spielt. Zum Beispiel: Viele Office -Automatisierungsprojekte (OAS) haben die Funktion, E -Mails zu senden. Wenn Sie auch manuelle Methoden wie Outlook verwenden, ist dies nicht geeignet. In dieser Hochgeschwindigkeitszeit müssen wir Arbeitseffizienz anbieten, damit die Arbeit automatisiert werden kann. Gleichzeitig müssen viele Websites auch E-Mails senden: Senden Sie eine willkommene E-Mail an neu registrierte Benutzer mit ihren Registrierungsinformationen, senden Sie die neuesten Aktivitätsinformationen der Website per E-Mail an alle registrierten Mitglieder usw.
Vor Beginn der E -Mail -Entwicklung: Wir müssen mehrere Konzepte verstehen: E -Mail -System, Mailserver, E -Mail, E -Mail -Client -Software, E -Mail -Übertragungsprotokoll und E -Mail -Übertragungsprozess.
E -Mail -System
Ähnlich wie bei den herkömmlichen Postdiensten besteht das E -Mail -System aus einem E -Mail -Büro, einem E -Mail -Senden und Empfangssystem. Absender und Empfänger senden und empfangen E -Mails per E -Mail -Senden und Empfangssysteme, bei denen es sich tatsächlich um E -Mail -Client -Programme handelt, die auf Computern ausgeführt werden. Das E -Mail -Büro spielt eine Brücke, bei der es sich tatsächlich um ein E -Mail -Serverprogramm handelt, das auf dem Server ausgeführt wird. Der Prozess der E -Mail -Verarbeitung ähnelt dem der Postdienste.
Mailserver
Ein Mailserver ist ein Gerät, das zum Verwalten von E -Mails verwendet wird. Es gibt eine große Anzahl von E -Mail -Servern im Internet, wie: 126, 163, Hotmail ...
Die wichtigsten Funktionen des E -Mail -Servers:
1. Erhalten Sie E -Mails, die von Benutzern gesendet werden.
2. Leiten Sie die vom Benutzer gelieferte E -Mail an den Ziel -Mail -Server.
3. Erhalte E -Mails, die von anderen E -Mail -Servern weitergeleitet werden, und speichern Sie die E -Mails in den von ihnen verwalteten E -Mails des Benutzers.
4. Geben Sie Benutzern an, die zum Lesen von E -Mails zum Lesen von E -Mails kommen.
Mail -Server bilden den Kern des E -Mail -Systems. Jeder Empfänger verfügt über eine Mailbox (Mailbox) auf einem bestimmten Mailserver. Bobs Mailbox wird verwendet, um E -Mail -Nachrichten zu verwalten und zu verwalten, die an ihn gesendet wurden. Eine typische Reise einer E -Mail -Nachricht beginnt mit dem Benutzeragenten des Absenders, dem E -Mail -Server des Absenders, wird auf den E -Mail -Server des Empfängers übertragen und dann an die E -Mail -Adresse des Empfängers geliefert. Wenn Bob die E -Mail -Nachrichten in seinem Mailbox anzeigen möchte, authentifiziert der Mail -Server, der das Mailbox speichert, mit dem von ihm angegebenen Benutzernamen und Passwort. Der Mailserver von Alice muss sich auch mit dem E -Mail -Server -Fehler von Bob befassen. Wenn der Mailserver von Alice nicht sofort E -Mail -Nachrichten an Bobs Mailserver liefern kann, speichert der Server von Alice sie in der Nachrichtenwarteschlange und versucht sie später zu liefern. Dieser Versuch wird normalerweise alle 30 Minuten oder so durchgeführt: Wenn der Versuch nach mehreren Tagen nicht erfolgreich ist, entfernt der Server die Nachricht aus der Nachrichtenwarteschlange und benachrichtigt den Absender (d. H. Alice) mit einer anderen E -Mail -Nachricht.
E-Mail
E -Mail ist eine moderne Kommunikationsmethode, die über das Netzwerk Informationen voneinander überträgt und empfängt. Es ist eine Kommunikationsmethode, die den Informationsaustausch auf elektronischen Mitteln bietet und der am häufigsten verwendete Service im Internet ist. Über das E -Mail -System des Netzwerks können Benutzer in einem sehr niedrigen Preis und sehr schnell in jeder Ecke der Welt kontaktieren. Diese E -Mails können auf verschiedene Weise wie Text, Bilder, Ton usw. vorhanden sein. Gleichzeitig können Benutzer eine große Anzahl kostenloser Nachrichten und spezielle E -Mails erhalten und einfache Informationssuche erkennen.
E -Mail besteht aus zwei Teilen: Umschlag und Inhalt. Umschläge werden auch als Mail -Header bezeichnet, und der E -Mail -Server liefert E -Mails basierend auf dem Vertrauen in den Umschlag. Inhalt wird als Mail -Einrichtung bezeichnet, mit der der spezifische Inhalt der E -Mail bereitgestellt wird.
Die E -Mail -Adresse im Internet ist weltweit eindeutig und das Format "E -Mail -Name@Mail Server -Domänenname". Domain (Mail -Domäne) ist die grundlegende Verwaltungseinheit des E -Mail -Servers. Der E-Mail-Dienst ist domänenbasiert und jedes Mailbox entspricht einem Benutzer. Der Name des Mailserver -Domänennamens muss ein registrierter DNS -Domänenname sein und mit dem MX -Datensatz (Mail Switch) übereinstimmen. DNS wird verwendet, um Domain -Namen und Hostnamen in IP -Adressen zu beheben. Der MX -Datensatz verweist auf den E -Mail -Server -Hostdatensatz des Domänennamens und ist den E -Mail -Diensten gewidmet.
E -Mail -Client -Software
Die E -Mail -Client -Software ist für die Kommunikation mit dem E -Mail -Server verantwortlich, der hauptsächlich verwendet wird, um Benutzern E -Mails an den SMTP -Server und den POP3/IMAP -Mailserver zu senden, um die E -Mail des Benutzers zu lesen. E -Mail -Client -Software integriert normalerweise das Schreiben, Senden und Empfangen von E -Mails.
E-Mail
Mehrere E-Mail-Adressen können über jeden E-Mail-Server gestartet werden, auch als E-Mail-Adressen bezeichnet. Es ähnelt einer realen Mailing-Adresse, über die Benutzer E-Mails von anderen akzeptieren und senden.
Um eine E -Mail zu erhalten, müssen Sie sich auf dem E -Mail -Server bewerben. Um genau zu sein, ist die E -Mail tatsächlich ein Konto, das der Benutzer auf dem E -Mail -Server beantragt. Der Mailserver hält die empfangene E -Mail im Mailbox -Speicherplatz ein, das für ein Konto zugewiesen wird, und der Benutzer meldet sich über den Benutzernamen und das Kennwort an den Mailserver an, den er anfordert, die von der Adresse empfangenen E -Mail -Nachrichten anzuzeigen.
E -Mail -Übertragungsprozess
Das E -Mail -System befindet sich im Client/Server -Modus. Die E -Mail -Zustellung erfordert die folgenden 3 wichtigen Module:
UA (Mail -Benutzeragent, Mail -Benutzeragent): Der Benutzer befasst sich mit dem E -Mail -Server darüber. MUA ist tatsächlich die Mail -Client -Software.
MTA (Mailübertragungsvertreter, Mail Transfer Agent): Es ist hauptsächlich für die Bearbeitung aller empfangenen und gesendeten E -Mails, die Bereitstellung von E -Mail -Zustellungsdiensten an MUA oder MTA verantwortlich und Empfangen von E -Mails, die von anderen MTAs gesendet werden.
MDA (Mail -Liefervertreter, Mail -Liefervertreter): Es ist für die lokale Lieferung von Mail verantwortlich. Wenn die MTA beschließt, eine bestimmte E -Mail an den lokalen Benutzer zu senden, gibt die MTA die E -Mail an das MDA -Programm zur Verteilung, dh es wird dem Benutzer geliefert.
Der spezifische Übertragungsprozess ist wie folgt:
1. Der Absender verwendet MUA, um die E -Mail an den MTA zu senden.
2. Nach Erhalt der E -Mail stellt der MTA fest, ob der Empfänger ein lokales Konto ist. Wenn es sich um ein lokales Konto handelt, wird es an die MDA an die E -Mail -Adresse des Kontos übergeben, vervollständigen Sie den Sendevorgang und überspringen Sie mit Schritt 5. Wenn nicht, führen Sie den nächsten Schritt aus.
3..
4. Die MTA des letzten Zwecks überreicht die MDA an seine Verarbeitung, und die MDA liefert die E -Mail an die E -Mail -Adresse des Empfängers.
5. Der Empfänger verwendet MUA, um eine Verbindung zum Server herzustellen, auf dem sich die E -Mail -Adresse über das POP/IMAP -Protokoll befindet, und um zu überprüfen, ob E -Mails in seinem Posteingang enthalten sind. Wenn es eine E -Mail gibt, wird der MUA des Empfängers durch sie übertragen.
Hinweis: Der E -Mail -Zugriffsdienst wird aufgefordert, POP- oder IMAP -Serversoftware zu sein, nicht die MTA, die die E -Mail erhalten hat. Die Rollen der beiden sind getrennt.
Postübertragungsprotokoll
Die E -Mail -Service -Übertragung verwendet hauptsächlich die folgenden drei Netzwerkprotokolle
SMTP (Simple Mail Transfer Protocol)
SMTP ist ein einfaches Mail -Transfer -Protokoll. Der Standard -TCP -Port beträgt 25. MUA sendet die E -Mail an die MTA, und die MTA sendet die E -Mail an die nächste MTA, die beide SMTP verwenden müssen. Das Ziel von SMTP ist es, Post zuverlässig und effizient zu liefern. Es ist unabhängig vom Liefersubsystem und erfordert nur einen Kanal, der die Reihenfolge der Dateneinheiten garantiert.
SMTP ist ein "Einweg" -Protokoll, das von Benutzern von anderen Mail-Servern nicht gesammelt werden kann. Es übernimmt selbst den Client/Server -Modus. Der SMTP -Prozess, der für das Senden von E -Mails verantwortlich ist, ist der SMTP -Client, und der SMTP -Prozess, der für den Empfang von E -Mails verantwortlich ist, ist der SMTP -Server. Ein vollständiger SMTP -Kommunikationsprozess enthält hauptsächlich drei Prozesse: das Erstellen einer Verbindung, die Lieferung von E -Mails und die Veröffentlichung einer Verbindung.
Stellen Sie eine Verbindung her: Erstens sendet der Absender die E -Mail an den E -Mail -Cache. Der SMTP -Client scannt den E -Mail -Cache regelmäßig. Sobald es eine Nachricht gibt, wird eine TCP -Verbindung mit dem SMTP -Server hergestellt und dann einen HRLLLO -Befehl sendet, um den Hostnamen des Absenders anzuhängen.
Zustellungs -E -Mail: Der SMTP -Client verwendet den Mail -Befehl, um die E -Mail zu senden, die die Adresse des Absenders angibt. führt dann den Befehl rcpt aus und liefert die Adresse des Empfängers. Führen Sie schließlich den Datenbefehl aus, um den E -Mail -Inhalt zu übertragen.
Veröffentlichung der Verbindung: Nach der Lieferung der E -Mail sendet der SMTP -Client einen Out -Befehl, um die TCP -Verbindung zu schließen.
Pop (Post -Office -Vereinbarung)
Pop ist Postprotokoll. Der Standard -TCP -Port wird hauptsächlich zum Empfang von E -Mails verwendet. MUA stellt eine Verbindung zum Benutzer -Posteingang von MTA über das POP -Protokoll her, um Benutzerpost im Posteingang zu lesen oder herunterzuladen.
Das derzeit verwendete POP -Protokoll ist POP3. POP3 verwendet TCP als Übertragungsprotokoll.
IMAP (Internetinformationszugriffsprotokoll)
IMAP ist ein Internet -Message -Zugriffsprotokoll. Der Standard -TCP -Anschluss beträgt 143, wodurch MUA auch Post vom MTA sammelt. Die Version des Zielball -IMAP -Protokolls ist IMAP4.
Sowohl Pop als auch IMAP können verwendet werden, um E -Mails sowohl im Client/Server -Modus zu sammeln. Der Hauptunterschied zwischen beiden besteht darin, dass sie E -Mails unterschiedlich abrufen. Bei der Verwendung von POP befindet sich die E -Mail auf dem Server. Sobald die E -Mail empfangen wurde, wird die E -Mail vom Server auf den Computer des Benutzers heruntergeladen. IMAP kann die Situation verstehen, in der Mail auf dem Server gespeichert ist, und die heruntergeladene Mail steckt immer noch auf dem Server, um die Mail -Archivierung und -freigabe zu erleichtern.
Javamail
1. Einführung in Javamail
Javamail bietet, wie der Name schon sagt, eine Programmierschnittstelle für Entwickler, um E -Mails zu verarbeiten. Es ist eine API, die von Sun veröffentlicht wurde, um E -Mails zu behandeln. Es kann bequem einige häufig verwendete E -Mail -Transfers durchführen. Die Javamail -API ist ein Standardentwicklungspaket von Sun, um Java -Entwicklern zu erleichtern, um E -Mail -Senden und Empfangen von Funktionen in Anwendungen zu implementieren. Es unterstützt einige häufig verwendete E -Mail -Protokolle wie SMTP, POP3 und IMAP. Wenn Entwickler die Javamail -API verwenden, um eine E -Mail -Verarbeitungssoftware zu schreiben, müssen sie die Implementierungsdetails des zugrunde liegenden E -Mail -Protokolls nicht berücksichtigen. Rufen Sie einfach die entsprechende API -Klasse im Javamail -Entwicklungspaket an.
2. Javamail -Entwicklungsumgebung
Vor der Javamail -Entwicklung müssen Sie das entsprechende JAR -Paket importieren. Das JAR -Paket kann von der offiziellen Website von Oracle heruntergeladen werden: http://www.oracle.com/technetwork/java/javamail/index.html.
Nach Abschluss des Downloads können Sie das folgende Verzeichnis erhalten:
Mail.jar: ist das Kernentwicklungspaket, mit dem Javamail -Programme entwickelt werden müssen.
lib Subditionory: Dieses Verzeichnis enthält 5 unabhängige E -Mail -Entwicklungspakete: SMTP.JAR, POP3.JAR, IMAP.JAR und Mailapi.jar. Diese 5 -Jar -Dateien sind eine klassifizierte Verpackung für Mail.jar -Dateien. Unter ihnen fasst Mailapi.jar die API -Klasse zusammen, in der E -Mail -Inhalte erstellt und das E -Mail -Senden an gewöhnliche Entwickler gesendet und empfangen wird, während die anderen drei JAR -Dateien das Service -Implementierungsprogramm mit ihren Namen entsprechen, die dem Protokoll entsprechen. . Beim Kompilieren von Java -Mail -Programmen benötigen Sie nur die mailAPI.jar -Datei, aber zur Laufzeit müssen Sie das zugrunde liegende Service -Implementierungsprogramm des entsprechenden E -Mail -Protokolls haben. Wenn Sie nur die E -Mail -Sendungsfunktion in der Anwendung verwenden müssen, können Sie nur die beiden Dateien SMTP.jar und Mailapi.jar installieren. Wenn Sie nur die E -Mail -Empfangsfunktion verwenden müssen, können Sie nur die beiden JAR -Dateien Pop3.jar, IMAP.jar und Mailapi.jar installieren, ohne die gesamte Mail.jar -Datei zu installieren.
Das Lib -Verzeichnis ist wie folgt:
3. Einführung in die Javamail -API
Die Javamail -API ist normalerweise nach ihren Funktionen in die folgenden drei Kategorien unterteilt:
1. API von E -Mail -Inhalten erstellen und analysieren. Die Nachrichtenklasse ist die Kern -API zum Erstellen und Parsen von E -Mails. Das Instanzobjekt repräsentiert eine E -Mail.
2. Die API zum Senden von E -Mails. Die Transportklasse ist die Kern -API -Klasse zum Senden von Mails. Sein Instanzobjekt repräsentiert das E -Mail -Senden von Objekt, das ein bestimmtes E -Mail -Sendenprotokoll wie das SMTP -Protokoll implementiert.
3. API zum Empfangen von E -Mails. Die Store -Klasse ist die Kern -API -Klasse für den Empfang von E -Mails. Das Instanzobjekt repräsentiert das E -Mail -Empfangsobjekt, das ein bestimmtes E -Mail -Empfangsprotokoll wie das POP3 -Protokoll implementiert.
Der Workflow von Javamail lautet wie folgt:
In diesem Workflow sind die vier Objekte, Nachrichten, Sitzungen, Transport und Speicher eng mit dem Senden und Empfangen einer E -Mail verbunden. Wir müssen nur die Funktionen und Funktionen dieser vier Kern -APIs verstehen, ihre Arbeitsbeziehungen und ihre E -Mail -Workflow kennen und können Javamail problemlos schreiben. Wenn wir sie brauchen, können wir die Hinweise befolgen und die Dokumente überprüfen, um das Problem zu lösen, wenn wir sie brauchen.
Einführung in die Kern -API:
Nachricht
Die Nachrichtenklasse ist die Kern -API zum Erstellen und Parsen von E -Mails, und ihr Instanzobjekt repräsentiert eine E -Mail. Wenn der Kunde eine E -Mail sendet, verwenden Sie zunächst die E -Mail -API, die erstellten E -Mail -Daten in das Nachrichtenobjekt zusammenfassen und dieses Objekt dann an die E -Mail -Sende -API übergeben, um sie herauszufinden. Wenn der Kunde die E -Mail erhält, installiert die E -Mail -Empfangs -API die empfangenen Ölpreisdaten im Instanzobjekt der Nachricht, und der Kunde verwendet die E -Mail -Parsen -API, um die empfangenen E -Mail -Daten von diesem Objekt zu analysieren.
Sitzung
Die Sitzungsklasse wird verwendet, um die von der gesamten Anwendung erforderlichen Umgebungsinformationen zu definieren und Sitzungsinformationen für den Client zu sammeln, um eine Netzwerkverbindung mit dem Mail -Server herzustellen, z. B. den Hostnamen, die Portnummer und das Versenden und Empfangen von E -Mails, das verwendet wird. Das Sitzungsobjekt erstellt Speicher- und Transportobjekte zum Senden und Empfangen von E -Mails basierend auf diesen Sitzungsinformationen und bietet den Client den Informationsunterstützung, um Nachrichtenobjekte zu erstellen.
Transport
Die Transportklasse ist die Kern -API -Klasse zum Senden von Mails. Sein Instanzobjekt repräsentiert das E -Mail -Senden von Objekt, das ein bestimmtes E -Mail -Sendenprotokoll wie das SMTP -Protokoll implementiert. Nachdem das Client -Programm ein Nachrichtenobjekt erstellt hat, muss nur die E -Mail -Sende -API verwendet werden, um das Transportobjekt zu erhalten, dann das Nachrichtenobjekt an das Transportobjekt übergeben und die Sendungsmethode aufrufen, um die E -Mail an den angegebenen SMTP -Server zu senden.
Speichern
Die Store -Klasse ist die Kern -API -Klasse für den Empfang von E -Mails. Sein Instanzobjekt repräsentiert das E -Mail -Empfangsobjekt, das ein bestimmtes E -Mail -Empfangsprotokoll wie POP3- und IMAP -Protokolle implementiert. Wenn das Client -Programm E -Mail empfängt, muss nur die E -Mail -Empfangs -API verwendet werden, um das Store -Objekt zu erhalten, und rufen dann die Empfangsmethode des Store -Objekts auf, um die E -Mail -Daten aus dem angegebenen POP3 -Server zu erhalten und die E -Mail -Daten in das Nachrichtenobjekt, das die E -Mail darstellt.
Iv. Beispiele
public class javamail_01 {public static void main (String [] args) löst eine Ausnahme aus {Properties props = new Properties (); props.setProperty ("mail.smtp.auth", "true"); props.setProperty ("mail.transport.protocol", "SMTP"); Session Session = Session.getInstance (Requisiten); Session.setDebug (true); Nachricht msg = new Mimemessage (Sitzung); msg.setsubject ("Dies ist ein Testprogramm ..."); msg.setText ("Hallo! Dies ist mein erstes Javamail-Programm ---- Chen Ming"); msg.setfrom (neue InternetAddress ("******@163.com"); Transport Transport = Session.GetTransport (); Transport.Connect ("SMTP.163.com", 25, "*********", "***********"); Transport.SendMessage (MSG, neue Adresse [] {neue InternetAddress ("[email protected]")}); System.out.println ("E -Mail erfolgreich gesendet ..."); Transport.close (); }}