logo

Odosielanie e-mailov v jazyku Java

  1. Odosielanie e-mailov pomocou JavaMail API
  2. Kroky na odosielanie e-mailov pomocou JavaMail API
    1. Získajte objekt relácie
    2. Napíšte správu
    3. odošlite správu
  3. Jednoduchý príklad odosielania e-mailov pomocou JavaMail API
  4. Príklad odosielania e-mailov pomocou JavaMail API cez SMTP server poskytnutý poskytovateľom hostiteľa

Existujú rôzne spôsoby odosielania e-mailov pomocou JavaMail API. Na tento účel musíte mať server SMTP, ktorý je zodpovedný za odosielanie e-mailov.

Na získanie servera SMTP môžete použiť jednu z nasledujúcich techník:

  • Nainštalujte a používajte akýkoľvek server SMTP, ako je server Postcast, server Apache James, server cmail atď. (alebo)
  • Použite SMTP server poskytovaný poskytovateľom hostiteľa, napr. môj SMTP server je mail.javatpoint.com (alebo)
  • Použite SMTP server poskytovaný inými spoločnosťami, napr. gmail atď.

Tu sa naučíme vyššie uvedené tri prístupy k odosielaniu e-mailov pomocou rozhrania Javamail API. Mali by sme sa však naučiť základné kroky na odosielanie e-mailov z aplikácie Java.


Kroky na odosielanie e-mailov pomocou JavaMail API

Na odoslanie e-mailu pomocou JavaMail sú nasledujúce tri kroky. Sú nasledovné:

    Získajte objekt reláciektorý ukladá všetky informácie o hostiteľovi, ako je názov hostiteľa, používateľské meno, heslo atď.napísať správu odošlite správu


1) Získajte objekt relácie

The trieda javax.mail.Session poskytuje dve metódy na získanie objektu relácie, metódu Session.getDefaultInstance() a metódu Session.getInstance(). Na získanie objektu relácie môžete použiť akúkoľvek metódu.

Trieda metódy relácie

NieMetódaPopis
1verejná statická relácia getDefaultInstance(Properties props)vráti predvolenú reláciu.
2verejná statická relácia getDefaultInstance(Properties Properties,Authenticator auth)vráti predvolenú reláciu.
3verejná statická relácia getInstance (rekvizity vlastností)vráti novú reláciu.
4verejná statická relácia getInstance (podpory vlastností, authenticator auth)vráti novú reláciu.

Príklad metódy getDefaultInstance().

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

Príklad metódy getInstance().

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

2) Napíšte správu

Trieda javax.mail.Message poskytuje metódy na vytvorenie správy. Je to však abstraktná trieda, takže sa väčšinou používa jej podtrieda javax.mail.internet.MimeMessage.
Ak chcete vytvoriť správu, musíte odovzdať objekt relácie v konštruktore triedy MimeMessage. Napríklad:
 MimeMessage message=new MimeMessage(session); 
Teraz bol vytvorený objekt správy, ale na ukladanie informácií do tohto objektu trieda MimeMessage poskytuje mnoho metód. Pozrime sa na metódy, ktoré poskytuje trieda MimeMessage:

Bežne používané metódy triedy MimeMessage

NieMetódaPopis
1public void setFrom(adresa)sa používa na nastavenie poľa od hlavičky.
2public void addRecipient(Message.RecipientType type, Address address)slúži na pridanie danej adresy k typu príjemcu.
3public void addRecipients(Message.RecipientType type, Address[] addresss)slúži na pridanie daných adries k typu príjemcu.
4public void setSubject(String subject)sa používa na nastavenie poľa hlavičky predmetu.
5public void setText(String textmessage)sa používa na nastavenie textu ako obsahu správy pomocou typu text/plain MIME.
6public void setContent(Object msg, String contentType)sa používa na nastavenie obsahu ako obsahu správy pomocou daného typu MIME.

Príklad na vytvorenie správy:

 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) Pošlite správu

Trieda javax.mail.Transport poskytuje metódu na odoslanie správy.

Bežne používané metódy triedy Transport

NieMetódaPopis
1verejné statické void odoslať (správa správy)odošlite správu.
2verejné statické void odoslať (správa správy, adresa[] adresa)sa používa odoslanie správy na uvedené adresy.

Príklad na odoslanie správy:

 Transport.send(message); 

Jednoduchý príklad odosielania e-mailov v jazyku Java

stiahnite si tieto jar súbory alebo prejdite na stránku Oracle a stiahnite si najnovšiu verziu.
V tomto príklade sa naučíme odosielať e-maily pomocou servera SMTP nainštalovaného na stroji, napr. Postcast server, server Apache James, server Cmail atď. Ak chcete posielať e-maily pomocou servera SMTP poskytnutého poskytovateľom hostiteľa, pozrite si príklad po tomto.
Ak chcete odoslať e-mail pomocou rozhrania JavaMail API, musíte načítať dva súbory jar:
mail.jar
aktivácia.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();} } } 
stiahnite si tento príklad na odoslanie e-mailu

V tomto príklade sa naučíme odosielať e-maily pomocou servera SMTP nainštalovaného na stroji, napr. Postcast server, server Apache James, server Cmail atď. Ak chcete posielať e-maily pomocou servera SMTP poskytnutého poskytovateľom hostiteľa, pozrite si príklad po tomto.

Ak chcete spustiť tento príklad, musíte načítať dva súbory jar. Existujú 4 spôsoby, ako načítať súbor jar. Jedným zo spôsobov je nastavenie classpath. Pozrime sa, ako spustiť tento príklad:

Načítajte súbor jarc:> set classpath=mail.jar;activation.jar;.;
skompilovať zdrojový súborc:> javac SendEmail.java
prebehnúťc:> java SendEmail

Príklad odosielania e-mailov v jazyku Java cez server SMTP poskytnutý poskytovateľom hostiteľa

stiahnite si tieto jar súbory alebo prejdite na stránku Oracle a stiahnite si najnovšiu verziu.
Ak používate server SMTP poskytovaný poskytovateľom hostiteľa, napr. mail.javatpoint.com , musíte overiť používateľské meno a heslo. Na overenie hesla sa používa trieda javax.mail.PasswordAuthentication.
Ak odosielate e-mail pomocou rozhrania JavaMail API, načítajte dva súbory jar:
mail.jar
aktivácia.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();} } } 
stiahnite si tento príklad na odoslanie e-mailu

Ako môžete vidieť vo vyššie uvedenom príklade, ID používateľa a heslo je potrebné overiť. Ako ukazuje tento program, môžete jednoducho odosielať e-maily. Podľa toho zmeňte používateľské meno a heslo. Pozrime sa, ako to znova spustiť jednoduchou technikou:

Načítajte súbor jarc:> set classpath=mail.jar;activation.jar;.;
skompilovať zdrojový súborc:> javac SendMailBySite.java
prebehnúťc:> java SendMailBySite