Javamail -API - Senden Sie E -Mail mit Java von Googleail SMTP

Javamail -API - Senden Sie E -Mail mit Java von Googleail SMTP

Javamail -API Unterstützt die Javamail (Javax.Post) Schnittstelle zum Senden von E -Mail -Nachrichten. Es bietet Klassen zum Senden von E -Mails vom Remote SMTP -Server mit Authentifizierung wie Google Mail, SendGrid usw.

In diesem Artikel verwenden wir Javamail -API zum Senden von E -Mails mithilfe der Java -Programmiersprache über Remote SMTP -Server. In diesem Artikel wird Gmail SMTP -Server als Remote SMTP -Server zum Senden von E -Mails verwendet.

Schritt 1: Javamail -Umgebung einrichten

Zuerst müssen wir JAR -Datei mit allen Klassen in Javax herunterladen.Post. Jar herunterladen (Post.Krug) Datei auf der offiziellen Website von Oracle.

Stellen Sie nun den Klassenpfad in der Systemumgebung fest. Windows -Benutzer stellen sicher, dass Sie die Pfadvariable für Ihre Java -Installation konfiguriert haben.

Fenster:

C:> Setzen Sie ClassPath = Mail.Krug;.; 

Linux:

# exportieren java_home =/opt/jdk1.8.0_05/ # Export Path = $ Pfad: $ java_home/bin # export classpath = $ java_home/jre/lib/ext: $ java_home/lib/tools.Jar: Mail.Krug:. 

Schritt 2: Schreiben Sie ein Java -Programm, um E -Mails zu senden

Erstellen Sie eine Java -Datei Sendmail.Java mit dem folgenden Inhalt. In diesem Skript müssen Sie viele Einstellungen gemäß Ihrem Setup ändern. Dieses Skript kann zum Senden von E -Mails über TLS- oder SSL SMTP -Verbindung über Google Mail SMTP -Server verwendet werden.

Java importieren.Util.Eigenschaften; Javax importieren.Post.Nachricht; Javax importieren.Post.MessagingException; Javax importieren.Post.PasswortAuthentication; Javax importieren.Post.Sitzung; Javax importieren.Post.Transport; Javax importieren.Post.Internet.Internetadresse; Javax importieren.Post.Internet.Mimemessage; Javax importieren.Post.Internet.Adressexception; öffentliche Klasse Sendmail public static void main (String [] args) löst Ausnahme aus endgültig String SMTP_HOST = "SMTP.Google Mail.com "; endgültige String SMTP_USERNAME =" [email protected] "; endgültige Zeichenfolge SMTP_PASSWORD =" _email_password_ "; Finale String SMTP_CONNECTION =" TLS "; // Verwenden.com "; endgültige String von Semail =" [email protected] "; Eigenschaften Requisiten = neue Eigenschaften (); Requisiten.put ("Mail.SMTP.auth "," true "); if (SMTP_Connection.gleich ("tls")) Props.put ("Mail.SMTP.Starttls.aktivieren "," wahr "); Requisiten.put ("Mail.SMTP.Port "," 587 "); else Requisiten.put ("Mail.SMTP.SocketFactory.Port "," 465 "); Requisiten.put ("Mail.SMTP.SocketFactory.Klasse "," Javax.Netz.SSL.Sslsocketfactory "); Requisiten.put ("Mail.SMTP.Port "," 465 "); Sitzung Session = Sitzung.GetInstance (Requisiten, New Javax.Post.Authenticator () Protected PasswordAuthentication getPasswordAuthentication () Neue PasswordAuthentication zurückgeben (SMTP_USERNAME, SMTP_PASSWORD); ); try message msg = new Mimemessage (Sitzung); Nachricht.setFrom (New InternetAddress (Fromemail, "Nory")); Nachricht.AddRecipient (Nachricht.Empfängertyp.An neue Internetaddress (Toemail, Mr. Empfänger ")); MSG.setSubject ("Willkommen bei Javamail API"); Nachricht.setText ("Javamail -API -Test - E -Mail -Beispiel über Remote SMTP -Server senden"); Transport.send (msg); System.aus.println ("E -Mail erfolgreich gesendet ..."); catch (adressException e) neue runTimeexception (e) werfen; catch (MessagingException e) neue runTimeException (e) werfen;
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657Java importieren.Util.Eigenschaften; Javax importieren.Post.Nachricht; Javax importieren.Post.MessagingException; Javax importieren.Post.PasswordAuthentication; Javax importieren.Post.Sitzung; Javax importieren.Post.Transport; Javax importieren.Post.Internet.Internetaddress; Javax importieren.Post.Internet.Mimemessage; Javax importieren.Post.Internet.Adressexception; öffentliche Klasse Sendmail public static void main (String [] args) löst Ausnahme aus endgültig String SMTP_HOST = "SMTP.Google Mail.com "; endgültige String SMTP_USERNAME =" [email protected] "; endgültige Zeichenfolge SMTP_PASSWORD =" _email_password_ "; Finale String SMTP_CONNECTION =" TLS "; // Verwenden.com "; endgültige String von Semail =" [email protected] "; Eigenschaften Requisiten = neue Eigenschaften (); Requisiten.put ("Mail.SMTP.auth "," true "); if (SMTP_Connection.gleich ("tls")) Props.put ("Mail.SMTP.Starttls.aktivieren "," wahr "); Requisiten.put ("Mail.SMTP.Port "," 587 "); else Requisiten.put ("Mail.SMTP.SocketFactory.Port "," 465 "); Requisiten.put ("Mail.SMTP.SocketFactory.Klasse "," Javax.Netz.SSL.Sslsocketfactory "); Requisiten.put ("Mail.SMTP.Port "," 465 "); Sitzung Session = Sitzung.GetInstance (Requisiten, New Javax.Post.Authenticator () Protected PasswordAuthentication getPasswordAuthentication () Neue PasswordAuthentication zurückgeben (SMTP_USERNAME, SMTP_PASSWORD); ); try message msg = new Mimemessage (Sitzung); Nachricht.setFrom (New InternetAddress (Fromemail, "Nory")); Nachricht.AddRecipient (Nachricht.Empfängertyp.An neue Internetaddress (Toemail, Mr. Empfänger ")); MSG.setSubject ("Willkommen bei Javamail API"); Nachricht.setText ("Javamail -API -Test - E -Mail -Beispiel über Remote SMTP -Server senden"); Transport.send (msg); System.aus.println ("E -Mail erfolgreich gesendet..."); catch (adressException e) werfen neuer runTimeexception (e); catch (MessagingException e) werfen neuer runTimeexception (e);

Schritt 3: Führen Sie das Programm aus, um E -Mails zu senden

Schließlich müssen wir das Java -Programm ausführen, um E -Mails zu senden. Wie wir wissen, dass dies in zwei Schritten passiert, erstellen Sie zunächst das Programm und zweitens, um es auszuführen.

# Javac sendmail.Java # Java Sendmail