E-mail küldése Java nyelven

  1. E-mail küldése JavaMail API használatával
  2. E-mail küldésének lépései a JavaMail API használatával
    1. Szerezze be a munkamenet objektumot
    2. Írja meg az üzenetet
    3. küldje el az üzenetet
  3. Egyszerű példa e-mail küldésére JavaMail API használatával
  4. Példa e-mail küldésére JavaMail API használatával a gazdagép szolgáltatója által biztosított SMTP-kiszolgálón keresztül

A JavaMail API használatával többféleképpen küldhet e-mailt. Ehhez SMTP-kiszolgálóval kell rendelkeznie, amely felelős a levelek küldéséért.

Az SMTP-kiszolgáló beszerzéséhez az alábbi technikák egyikét használhatja:

  • Telepítsen és használjon bármilyen SMTP-kiszolgálót, például Postcast-kiszolgálót, Apache James-kiszolgálót, cmail-kiszolgálót stb. (vagy)
  • Használja a gazdagép szolgáltató által biztosított SMTP szervert pl. az SMTP szerverem a mail.javatpoint.com (vagy)
  • Használja a más cégek által biztosított SMTP szervert pl. gmail stb.

Itt a fenti három megközelítést fogjuk megtanulni az e-mailek küldésére a javamail API használatával. De meg kell tanulnunk az e-mailek Java alkalmazásból történő küldésének alapvető lépéseit.


E-mail küldésének lépései a JavaMail API használatával

A következő három lépésben kell e-mailt küldeni a JavaMail használatával. Ezek a következők:

    Szerezze be a munkamenet objektumot amely tárolja a gazdagép összes információját, például a gazdagép nevét, felhasználónevét, jelszavát stb. összeállítani az üzenetet küldje el az üzenetet


1) Szerezze be a munkamenet objektumot

A javax.mail.Session osztály két módszert biztosít a session objektumának lekérésére, a Session.getDefaultInstance() metódust és a Session.getInstance() metódust. A munkamenet objektum beszerzéséhez bármilyen módszert használhat.

A foglalkozási osztály módszere

Nem. Módszer Leírás
1 nyilvános statikus munkamenet getDefaultInstance (Tulajdonságok kellékei) visszaadja az alapértelmezett munkamenetet.
2 nyilvános statikus munkamenet getDefaultInstance (Tulajdonságok kellékei, Authenticator auth) visszaadja az alapértelmezett munkamenetet.
3 nyilvános statikus munkamenet getInstance (tulajdonságok kellékei) visszaadja az új munkamenetet.
4 nyilvános statikus munkamenet getInstance (Tulajdonságok kellékei, Hitelesítő hitelesítés) visszaadja az új munkamenetet.

Példa a getDefaultInstance() metódusra

 Properties properties=new Properties(); //fill all the information like host name etc. Session session=Session.getDefaultInstance(properties,null);  

Példa a getInstance() metódusra

 Properties properties=new Properties(); //fill all the information like host name etc. Session session=Session.getInstance(properties,null);  

2) Írja meg az üzenetet

A javax.mail.Message osztály módszereket biztosít az üzenet összeállításához. De ez egy absztrakt osztály, ezért a javax.mail.internet.MimeMessage osztályt többnyire használják.
Az üzenet létrehozásához át kell adnia a munkamenet objektumot a MimeMessage osztálykonstruktorban. Például:
 MimeMessage message=new MimeMessage(session);  
Most az üzenetobjektum létrejött, de az információ tárolására ebben az objektumban a MimeMessage osztály számos módszert biztosít. Lássuk a MimeMessage osztály által biztosított metódusokat:

A MimeMessage osztály általánosan használt metódusai

Nem. Módszer Leírás
1 public void setFrom(cím cím) a from header mező beállítására szolgál.
2 public void addRecipient(Üzenet.Címzett típusa, Címcím) A megadott cím hozzáadására szolgál a címzett típushoz.
3 public void addRecipients (Üzenet. Címzett típusa, Cím[] címek) A megadott címek hozzáadására szolgál a címzett típushoz.
4 public void setSubject(String tárgy) a tárgyfejléc mező beállítására szolgál.
5 public void setText (karakterlánc szöveges üzenet) arra szolgál, hogy a szöveget üzenettartalomként állítsa be szöveg/sima MIME típus használatával.
6 public void setContent(Object Message, String contentType) A tartalom beállítására szolgál üzenettartalomként az adott MIME típus használatával.

Példa az üzenet összeállítására:

 MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress('[email protected]')); message.addRecipient(Message.RecipientType.To, new InternetAddress('[email protected]')); message.setHeader('Hi, everyone'); message.setText('Hi, This mail is to inform you...');  

3) Küldje el az üzenetet

A javax.mail.Transport osztály biztosítja az üzenet elküldésének módját.

A Transport osztály általánosan használt metódusai

Nem. Módszer Leírás
1 nyilvános statikus érvénytelen küldés (üzenet) használja, küldje el az üzenetet.
2 nyilvános statikus érvénytelen küldés (üzenet, cím[] cím) használja, küldje el az üzenetet a megadott címekre.

Példa az üzenet küldésére:

 Transport.send(message);  

Egyszerű példa e-mail küldésére Java nyelven

töltse le ezeket a jar fájlokat, vagy látogasson el az Oracle webhelyére a legújabb verzió letöltéséhez.
Ebben a példában megtanuljuk, hogyan lehet e-mailt küldeni a gépre telepített SMTP szerverrel, pl. Postcast szerver, Apache James szerver, Cmail szerver stb. Ha a gazdagép szolgáltatója által biztosított SMTP-szerver használatával szeretne e-mailt küldeni, nézze meg az ezt követő példát.
Az e-mail JavaMail API használatával történő küldéséhez be kell töltenie a két jar fájlt:
mail.jar
aktiválás.jar
 import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendEmail { public static void main(String [] args){ String to = '[email protected]';//change accordingly String from = '[email protected]';change accordingly String host = 'localhost';//or IP address //Get the session object Properties properties = System.getProperties(); properties.setProperty('mail.smtp.host', host); Session session = Session.getDefaultInstance(properties); //compose the message try{ MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject('Ping'); message.setText('Hello, this is example of sending email '); // Send message Transport.send(message); System.out.println('message sent successfully....'); }catch (MessagingException mex) {mex.printStackTrace();} } }  
töltse le ezt a példát e-mail küldéséhez

Ebben a példában megtanuljuk, hogyan lehet e-mailt küldeni a gépre telepített SMTP szerverrel, pl. Postcast szerver, Apache James szerver, Cmail szerver stb. Ha a gazdagép szolgáltatója által biztosított SMTP-kiszolgálón keresztül szeretne e-mailt küldeni, nézze meg az ezt követő példát.

A példa futtatásához két jar fájlt kell betöltenie. A jar fájl betöltésének 4 módja van. Ennek egyik módja az osztályútvonal beállítása. Nézzük meg, hogyan futtassuk ezt a példát:

Töltse be a jar fájlt c:> set classpath=mail.jar;activation.jar;.;
fordítsa le a forrásfájlt c:> javac SendEmail.java
működteti c:> java SendEmail

Példa e-mail küldésére Java nyelven a gazdagép szolgáltatója által biztosított SMTP-kiszolgálón keresztül

töltse le ezeket a jar fájlokat, vagy keresse fel az Oracle webhelyét a legújabb verzió letöltéséhez.
Ha a gazdagép szolgáltató által biztosított SMTP szervert használja pl. mail.javatpoint.com , hitelesítenie kell a felhasználónevet és a jelszót. A javax.mail.PasswordAuthentication osztály a jelszó hitelesítésére szolgál.
Ha az e-mailt JavaMail API használatával küldi, töltse be a két jar fájlt:
mail.jar
aktiválás.jar
 import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class SendMailBySite { public static void main(String[] args) { String host='mail.javatpoint.com'; final String user='[email protected]';//change accordingly final String password='xxxxx';//change accordingly String to='[email protected]';//change accordingly //Get the session object Properties props = new Properties(); props.put('mail.smtp.host',host); props.put('mail.smtp.auth', 'true'); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user,password); } }); //Compose the message try { MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(user)); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject('javatpoint'); message.setText('This is simple program of sending email using JavaMail API'); //send the message Transport.send(message); System.out.println('message sent successfully...'); } catch (MessagingException e) {e.printStackTrace();} } }  
töltse le ezt a példát e-mail küldéséhez

Amint az a fenti példában látható, a felhasználói azonosítót és a jelszót hitelesíteni kell. Ahogy ez a program mutatja, könnyen küldhet e-mailt. Ennek megfelelően módosítsa a felhasználónevet és a jelszót. Nézzük meg, hogyan futtassuk még egyszer egyszerű technikával:

Töltse be a jar fájlt c:> set classpath=mail.jar;activation.jar;.;
fordítsa le a forrásfájlt c:> javac SendMailBySite.java
működteti c:> java SendMailBySite