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ácie ktorý 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

Nie Metóda Popis
1 verejná statická relácia getDefaultInstance(Properties props) vráti predvolenú reláciu.
2 verejná statická relácia getDefaultInstance(Properties Properties,Authenticator auth) vráti predvolenú reláciu.
3 verejná statická relácia getInstance (rekvizity vlastností) vráti novú reláciu.
4 verejná 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

Nie Metóda Popis
1 public void setFrom(adresa) sa používa na nastavenie poľa od hlavičky.
2 public void addRecipient(Message.RecipientType type, Address address) slúži na pridanie danej adresy k typu príjemcu.
3 public void addRecipients(Message.RecipientType type, Address[] addresss) slúži na pridanie daných adries k typu príjemcu.
4 public void setSubject(String subject) sa používa na nastavenie poľa hlavičky predmetu.
5 public void setText(String textmessage) sa používa na nastavenie textu ako obsahu správy pomocou typu text/plain MIME.
6 public 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

Nie Metóda Popis
1 verejné statické void odoslať (správa správy) odošlite správu.
2 verejné 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 jar c:> set classpath=mail.jar;activation.jar;.;
skompilovať zdrojový súbor c:> 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 jar c:> set classpath=mail.jar;activation.jar;.;
skompilovať zdrojový súbor c:> javac SendMailBySite.java
prebehnúť c:> java SendMailBySite