In diesem Artikel wird der detaillierte Prozess des Sendens von Java -E -Mails als Referenz erläutert. Der spezifische Inhalt ist wie folgt
1. E -Mail -Vereinbarung
E -Mail von: SMTP (Simple Mail Transport -Protokal)
E -Mail -Empfangsprotokoll: POP3 (Post -Office -Protokal 3)
E -Mails können auch durch Senden neuer IMAP -Protokolle empfangen werden.
(Schritt für Schritt mit dem Server interagieren)
SMTP:
2. Der Prozess des Sendens und Empfangens von E -Mails:
Im Allgemeinen sind SMTP und POP3 zwei Server (Hosts).
Der Port der SMTP -Mail ist 25.
Der POP3 -Port ist 110.
E -Mail -Beispiel
1) Foxmail installieren:
2) Beim Senden einer E -Mail ist die Basis64 -Codierung des Benutzernamens und des Kennworts
// Base64 Codierung von Benutzername und Passwort @test public void base64 () {String name = "wj_leaf12345"; String pwd = "1QAZ2WSX"; Base64Encoder en = new Base64EnenCoder (); name = en.code (name.getBytes ()); pwd = en.code (pwd.getBytes ()); System.err.println (Name); System.err.println (PWD); }3) Senden Sie E -Mails über Java -Code
Senden Sie E -Mails in Java, Sie müssen ein neues Paket importieren
Mail.jar Core -Paket zum Senden von E -Mails
acity.jar verschlüsselt Benutzer und Passwörter.
Es gibt drei Kernklassen in Mail.jar:
Javax.mail.Session bezieht sich auf eine Sitzung mit einem Mailserver. Es gibt nur einen im gesamten Projekt.
Javax.mail.message (Schnittstelle) - Vorbereiten Sie das Senden von Dateninformationen.
Mimemessage - Sie können die Art der Dateninformationen festlegen.
Transport IT verfügt über eine Methode, um eine Nachricht zu senden.
Schritt 1: Importieren Sie zwei JAR -Pakete
Schritt 2: Senden Sie eine einfache E -Mail
public void sendmail () löst Ausnahme aus {// Schritt 1: Deklarieren Sie das Objekt des Eigenschaften, Informationseigenschaften prop = neue Eigenschaften (); // Setzen Sie, welchen Server eine Verbindung zu Prop.setProperty ("mail.host", "SMTP.126.com") festlegen; // Legen Sie fest, ob Prop.setProperty ("mail.smtp.auth", "true") verifizieren soll; // Schritt 2: Deklarieren Sie den Benutzernamen und das Kennwort Authenticator Auth = new Authenticator () {// Dieses Zugriffsobjekt, das den Benutzer und das Passwort öffentliche Passwortauthentication getSpasswordAuthentication () {PasswordAuthentication pa = new PasswordAuthentication ("AAA", "SSS") zurückgibt. Return PA; }}; //// Schritt 2: Holen Sie sich die Sitzungsobjekt -Sitzung Session = Session.getDefaultInstance (Prop, Auth); // Setzen Sie den Debug -Modus der Sitzung.setDebug (true); // Schritt 3: Deklarieren Sie die Informationen mimemessage mm1 = neue Mimemessage (Sitzung); // Schritt 4: Setzen Sie die Sender -E -Mail -Adresse von = new InternetAddress ("[email protected]"); mm1.setfrom (von); // Schritt 5: Setzen Sie den Empfänger mm1.setRecipient (recicentType.to, New InternetAddress ("[email protected]"); mm1.setRecipient (recicalTetType.cc, New InternetAddress ("[email protected]")); mm1.setRecipient (recicalTetype.bcc, neuer InternetAddress ("[email protected]")); // Schritt 6: Setzen Sie das Thema mm1.setsubject ("Dies ist eine E -Mail, die in Java 3 gesendet wird"); MM1.SetContent ("Hallo, dies ist eine E-Mail, die in Java gesendet wird, versuchen Sie es erneut 3333", "Text/Plain; CharSet = UTF-8"); // Schritt 7: Transport.Send (MM1); }Schritt 3: V E -Mails mit Hyperconnection senden
mm1.setsubject ("Dies ist die E -Mail, die in Java sfasdf3 gesendet wurde"); mm1.setContent ("Hallo, dies ist die E-Mail, die in Java gesendet wird, <a href = 'http: //www.baidu.com'> baidu </a>", "text/html; charset = utf-8"); // Schritt 7: Transport.Send (MM1);Schritt 4: E -Mail des Symbols
public void sendFile () löst Ausnahme aus {Eigenschaften p = neue Eigenschaften (); P.SetProperty ("Mail.host", "SMTP.163.com"); P.SetProperty ("mail.smtp.auth", "true"); Sitzung s = session.getDefaultInstance (p, neuer Authenticator () {@Override publicAtAuthentication getPasswordAuthentication () {Neue PasswordAuthentication zurückgeben ("ww", "123");}}); S.SetDebug (true); // mimemessage mimemessage msg = neue mimemessage (s) deklarieren; msg.setfrom (neue InternetAddress ("[email protected]")); msg.setRecipient (recicentType.to, neuer InternetAtaddress ("[email protected]")); msg.setsubject ("picture"); // Schritt 1: Deklary Multiprocessing -Teil Mimemultipart MM = new mimemultipart (); // Schritt 2: deklarieren Sie Mimebodypart body1 = neuer mimebodypart (); // Schritt 3: Setzen Sie die Zeichendatenource ds = new farredataSource (neue Datei ("./ img/a.jpg")); Datahandler DH = New Datahandler (DS); Body1.SetDatahandler (DH); // Der Name muss body.setFileName (mimeutility.encodetext ("Beauty.jpg") festgelegt werden; Mimebodypart body2 = neuer Mimebodypart (); // Schritt 3: Setzen Sie die Zeichendatenource ds2 = new fileDataSource (neue Datei ("./ img/b.jpg")); Datahandler dh2 = neuer datahandler (ds2); Body2.SetDatahandler (DH2); // Der Name muss Body2.SetFileName (Mimeutility.EndEText ("Beauty 2.jpg") festgelegt werden; Mimebodypart body3 = neu mimebodypart (); // Schritt 3: Setzen Sie die Zeichendatenource ds3 = new fileDataSource (neue Datei ("./ img/m.mp3")); Datahandler dh3 = neuer datahandler (ds3); Body3.SetDatahandler (DH3); // Der Name muss Body33.SetFileName (mimeutility.EndeText ("Ende des Jahrhunderts.mp3") festgelegt werden; // Body1 zu MM mm.addbodypart (Body1) hinzufügen; mm.addbodypart (Body2); mm.addbodypart (Body3); MSG.SetContent (MM); // Transport.Send (msg) senden; }Das Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.