Anwendungsserver
(1) javax.mail.Properties-Klasse
JavaMail benötigt Eigenschaften, um ein Sitzungsobjekt zu erstellen. Es wird nach der Zeichenfolge „mail.smtp.host“ gesucht, wobei der Eigenschaftswert der Host ist, von dem die E-Mail gesendet wurde.
Verwendung:
Kopieren Sie den Codecode wie folgt:
Eigenschaften props = neue Eigenschaften ();
props.put("mail.smtp.host", "smtp.163.com");//Sie können es durch Ihren SMTP-Hostnamen ersetzen.
Kopieren Sie den Codecode wie folgt:
Eigenschaften props = neue Eigenschaften ();
props.put("mail.smtp.host", "smtp.163.com");//Sie können es durch Ihren SMTP-Hostnamen ersetzen.
(2) javax.mail.Session-Klasse
Diese Session-Klasse stellt eine E-Mail-Sitzung in JavaMail dar. Jede JavaMail-basierte Anwendung verfügt über mindestens eine Sitzung, kann jedoch beliebig viele Sitzungen haben. In diesem Beispiel muss das Session-Objekt den SMTP-Server kennen, der für die E-Mail-Verarbeitung verwendet wird.
Verwendung:
Kopieren Sie den Codecode wie folgt:
Sitzung sendMailSession;
sendMailSession = Session.getInstance(props, null);
Kopieren Sie den Codecode wie folgt:
Sitzung sendMailSession;
sendMailSession = Session.getInstance(props, null);
(3) javax.mail.Transport-Klasse
E-Mails können sowohl gesendet als auch empfangen werden. JavaMail verwendet zwei verschiedene Klassen, um diese beiden Funktionen auszuführen: Transport und Store. Transport wird zum Senden von Nachrichten verwendet, und Store wird zum Empfangen von Nachrichten verwendet. Für dieses Tutorial müssen wir nur das Transportobjekt verwenden.
Verwendung:
Kopieren Sie den Codecode wie folgt:
Transporttransport;
transport = sendMailSession.getTransport("smtp");
Kopieren Sie den Codecode wie folgt:
Transporttransport;
transport = sendMailSession.getTransport("smtp");
Verwenden Sie die getTransport-Methode des JavaMail-Sitzungsobjekts, um den Transport zu initialisieren. Die übergebene Zeichenfolge deklariert das vom Objekt zu verwendende Protokoll, beispielsweise „smtp“. Dadurch sparen wir viel Zeit. Weil JavaMail über viele integrierte Protokollimplementierungsmethoden verfügt.
Hinweis: JavaMail unterstützt nicht unbedingt jedes Protokoll. Derzeit werden IMAP, SMTP und POP3 unterstützt.
(4) javax.mail.MimeMessage-Klasse
Das Message-Objekt speichert die tatsächlich von uns gesendete E-Mail-Nachricht. Das Message-Objekt wird als MimeMessage-Objekt erstellt und muss wissen, welche JavaMail-Sitzung ausgewählt werden soll.
Verwendung:
Kopieren Sie den Codecode wie folgt:
Nachricht newMessage = new MimeMessage(sendMailSession);
Kopieren Sie den Codecode wie folgt:
Nachricht newMessage = new MimeMessage(sendMailSession);
Nachricht newMessage = new MimeMessage(sendMailSession);
(5) javax.mail.InternetAddress-Klasse
Nachdem Sie die Sitzung und die Nachricht erstellt und den Inhalt mit der Nachricht ausgefüllt haben, können Sie mithilfe von „Adresse“ die Adresse des Briefs ermitteln. Wie Message ist auch Address eine abstrakte Klasse. Sie verwenden die Klasse Javax.mail.internet.InternetAddress.
Verwendung:
Kopieren Sie den Codecode wie folgt:
InternetAddress from=new InternetAddress("[email protected]");
Kopieren Sie den Codecode wie folgt:
InternetAddress from=new InternetAddress("[email protected]");
(6) javax.mail.Store-Klasse
Die Store-Klasse implementiert Vorgänge wie Lesen, Schreiben, Überwachen und Suchen in bestimmten E-Mail-Protokollen. Auf die Klasse Javax.mail.Folder kann über die Klasse Javax.mail.Store zugegriffen werden.
Verwendung:
Kopieren Sie den Codecode wie folgt:
Store store=s.getSorte("pop3");//s ist eine E-Mail-Sitzung
store.connect(popserver,username,password);//Melden Sie sich über die von Ihnen angegebene Pop-Adresse, den Benutzernamen und das Passwort bei Ihrem Postfach an
Kopieren Sie den Codecode wie folgt:
Store store=s.getSorte("pop3");//s ist eine E-Mail-Sitzung
store.connect(popserver,username,password);//Melden Sie sich über die von Ihnen angegebene Pop-Adresse, den Benutzernamen und das Passwort bei Ihrem Postfach an
(7) javax.mail.Folder-Klasse
Die Folder-Klasse wird zum hierarchischen Organisieren von E-Mails verwendet und bietet die Möglichkeit, auf E-Mails im Javax.mail.Message-Format zuzugreifen.
Verwendung:
Kopieren Sie den Codecode wie folgt:
Ordnerfolder=store.getFolder("INBOX");
Ordner.open(Folder.READ_ONLY);
Kopieren Sie den Codecode wie folgt:
Ordnerfolder=store.getFolder("INBOX");
Ordner.open(Folder.READ_ONLY);
(8) javax.mail.Internet.MimeMultpart
Der Container, der im Allgemeinen E-Mail-Inhalte speichert, ist die abstrakte Klasse Multipart, die Methoden zum Hinzufügen, Löschen und Abrufen verschiedener Teile der E-Mail definiert. Da Multipart eine abstrakte Klasse ist, müssen wir dafür eine konkrete Unterklasse verwenden, die von der JavaMail-API bereitgestellt wird javax.mail.Internet.MimeMultpart-Klasse zur Verwendung von MimeMessage-Objekten.
Verwendung:
Kopieren Sie den Codecode wie folgt:
MimeMultipart multipart=new MimeMultipart();
Kopieren Sie den Codecode wie folgt:
MimeMultipart multipart=new MimeMultipart();
Hinweis: Eine Möglichkeit, das MimeMultipart-Objekt zu verwenden, ist addBodyPart(), das unserem E-Mail-Inhalt ein BodyPart-Objekt (die BodyPart-Klasse wird weiter unten vorgestellt) hinzufügt. Die Nachricht kann aus mehreren Teilen bestehen, und ein BodyPart kann einen Teil darstellen.
(9) javax.mail.Internet.MimeBodyPart-Klasse
MimeBodyPart ist eine Unterklasse von BodyPart, die speziell für mimeMessage verwendet wird.
Ein MimeBodyPart-Objekt stellt einen Teil des Inhalts eines MimeMessage-Objekts dar. Jeder MimeBodyPart besteht aus zwei Teilen:
⊙Ein MIME-Typ
⊙Passen Sie Inhalte dieses Typs an
Verwendung:
Kopieren Sie den Codecode wie folgt:
MimeBodyPart mdp=new MimeBodyPart();
String text="Hallo JavaMail!";
mdp.setContent(text,"text/plain");//Definieren Sie den MIME-Typ als text/plain und legen Sie den Inhalt von MimeBodyPart fest.
Kopieren Sie den Codecode wie folgt:
MimeBodyPart mdp=new MimeBodyPart();
String text="Hallo JavaMail!";
mdp.setContent(text,"text/plain");//Definieren Sie den MIME-Typ als text/plain und legen Sie den Inhalt von MimeBodyPart fest.
(10) javax.activation.DataHandler-Klasse (in JAF enthalten)
Die JavaMail-API beschränkt Nachrichten nicht nur auf Text; jede Form von Nachricht kann zusätzlich zu Textnachrichten enthalten sein, es ist üblich, sie als Dateianhänge als Teil von E-Mail-Nachrichten einzuschließen Eine Möglichkeit, uns eine bequeme Methode zum Einschließen von Nicht-Text-BodyPart-Objekten zu ermöglichen.
Verwendung:
Kopieren Sie den Codecode wie folgt:
DataHandler dh=new DataHandler(text,type);
mdp.setDatahandler(dh);//mdp ist ein MimeBodyPart-Objekt
Kopieren Sie den Codecode wie folgt:
DataHandler dh=new DataHandler(text,type);
mdp.setDatahandler(dh);//mdp ist ein MimeBodyPart-Objekt
(11) javax.activation.FileDataSource-Klasse (in JAF enthalten)
Ein FileDataSource-Objekt kann lokale Dateien und Ressourcen darstellen, auf die der Server direkt zugreifen kann. Eine lokale Datei kann an ein mimeMessage-Objekt angehängt werden, indem ein neues MimeBodyPart-Objekt erstellt wird.
Verwendung:
Kopieren Sie den Codecode wie folgt:
MimeMultipart mm=new MimeMultipart();
MimeBodyPart mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(new DataHandler(fds)); //Datenquelle festlegen
mm.addBodyPart(mdp); //MimeBodyPart zum MimeMultipart-Objekt der aktuellen Nachricht hinzufügen
Kopieren Sie den Codecode wie folgt:
MimeMultipart mm=new MimeMultipart();
MimeBodyPart mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(new DataHandler(fds)); //Datenquelle festlegen
mm.addBodyPart(mdp); //MimeBodyPart zum MimeMultipart-Objekt der aktuellen Nachricht hinzufügen
(12) javax.activation.URLDataSource-Klasse (in JAF enthalten)
Remote-Ressourcen, auf die die URL nicht verweist, werden durch ein URLDataSource-Objekt dargestellt. Eine Remote-Ressource kann an ein mimeMessage-Objekt angehängt werden, indem ein neues mimeBodyPart-Objekt erstellt wird (ähnlich einer FileDataSource).
Verwendung:
Kopieren Sie den Codecode wie folgt:
//Der einzige Unterschied zu FileDataSource ist die Einstellung der Datenquelle:
URLDataSource uds=new URLDataSource("/JAVA/UploadFiles_6441/200703/20070320105128501.gif");