logo

Слање е-поште у Јави

  1. Слање е-поште помоћу ЈаваМаил АПИ-ја
  2. Кораци за слање е-поште помоћу ЈаваМаил АПИ-ја
    1. Набавите објекат сесије
    2. Саставите поруку
    3. послати поруку
  3. Једноставан пример слања е-поште користећи ЈаваМаил АПИ
  4. Пример слања е-поште помоћу ЈаваМаил АПИ-ја преко СМТП сервера који обезбеђује провајдер домаћина

Постоје различити начини за слање е-поште користећи ЈаваМаил АПИ. У ту сврху морате имати СМТП сервер који је одговоран за слање поште.

Можете користити једну од следећих техника да бисте добили СМТП сервер:

  • Инсталирајте и користите било који СМТП сервер као што је Постцаст сервер, Апацхе Јамес сервер, цмаил сервер итд. (или)
  • Користите СМТП сервер који обезбеђује хост провајдер, нпр. мој СМТП сервер је маил.јаватпоинт.цом (или)
  • Користите СМТП сервер других компанија, нпр. гмаил итд.

Овде ћемо научити изнад три приступа слању е-поште помоћу јавамаил АПИ-ја. Али требало би да научимо основне кораке за слање е-поште из јава апликације.


Кораци за слање е-поште помоћу ЈаваМаил АПИ-ја

Постоје три корака за слање е-поште користећи ЈаваМаил. Они су следећи:

    Набавите објекат сесијекоји чува све информације о хосту као што су име хоста, корисничко име, лозинка итд.саставити поруку послати поруку


1) Узмите објекат сесије

Тхе јавак.маил.Сессион цласс пружа две методе за добијање објекта сесије, метод Сессион.гетДефаултИнстанце() и метод Сессион.гетИнстанце(). Можете користити било који метод да бисте добили објекат сесије.

Метод часа Сесије

Не.МетодОпис
1јавна статичка сесија гетДефаултИнстанце(Пропертиес пропс)враћа подразумевану сесију.
2јавна статичка сесија гетДефаултИнстанце(Пропертиес пропс, Аутхентицатор аутх)враћа подразумевану сесију.
3јавна статичка сесија гетИнстанце (Пропертиес Пропертиес)враћа нову сесију.
4јавна статичка сесија гетИнстанце(Пропертиес пропс, Аутхентицатор аутх)враћа нову сесију.

Пример методе гетДефаултИнстанце().

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

Пример методе гетИнстанце().

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

2) Саставите поруку

Класа јавак.маил.Мессаге пружа методе за састављање поруке. Али то је апстрактна класа тако да се углавном користи њена подкласа јавак.маил.интернет.МимеМессаге.
Да бисте креирали поруку, потребно је да проследите објекат сесије у конструктору класе МимеМессаге. На пример:
 MimeMessage message=new MimeMessage(session); 
Сада је креиран објекат поруке, али за чување информација у овом објекту класа МимеМессаге пружа много метода. Хајде да видимо методе које обезбеђује класа МимеМессаге:

Често коришћене методе класе МимеМессаге

Не.МетодОпис
1публиц воид сетФром(Адресна адреса)се користи за постављање поља из заглавља.
2публиц воид аддРеципиент(Мессаге.РеципиентТипе тип, адреса адресе)се користи за додавање дате адресе типу примаоца.
3публиц воид аддРеципиентс(Мессаге.РеципиентТипе тип, Аддресс[] адресе)се користи за додавање датих адреса типу примаоца.
4публиц воид сетСубјецт(Стринг субјект)се користи за постављање поља заглавља предмета.
5публиц воид сетТект(стринг текстуална порука)се користи за постављање текста као садржаја поруке користећи текст/обичан МИМЕ тип.
6публиц воид сетЦонтент(Објецт мсг, Стринг цонтентТипе)се користи за постављање садржаја као садржаја поруке користећи дати МИМЕ тип.

Пример за састављање поруке:

 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) Пошаљите поруку

Класа јавак.маил.Транспорт обезбеђује метод за слање поруке.

Најчешће коришћене методе класе Транспорт

Не.МетодОпис
1јавно статична неважећа порука (порука поруке)се користи пошаљи поруку.
2јавно статичко поништено слање (порука поруке, адреса [] адреса)се користи послати поруку на дате адресе.

Пример за слање поруке:

 Transport.send(message); 

Једноставан пример слања е-поште у Јави

преузмите ове јар датотеке или идите на Орацле локацију да преузмете најновију верзију.
У овом примеру ћемо научити како да шаљемо е-пошту преко СМТП сервера инсталираног на машини, нпр. Постцаст сервер, Апацхе Јамес сервер, Цмаил сервер итд. Ако желите да шаљете е-пошту користећи свој СМТП сервер који обезбеђује хост провајдер, погледајте пример после овог.
За слање е-поште користећи ЈаваМаил АПИ, потребно је да учитате две јар датотеке:
маил.јар
активација.јар
 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();} } } 
преузмите овај пример да бисте послали е-пошту

У овом примеру ћемо научити како да шаљемо е-пошту преко СМТП сервера инсталираног на машини, нпр. Постцаст сервер, Апацхе Јамес сервер, Цмаил сервер итд. Ако желите да шаљете е-пошту користећи свој СМТП сервер који обезбеђује хост провајдер, погледајте пример после овог.

Да бисте покренули овај пример, потребно је да учитате две јар датотеке. Постоје 4 начина за учитавање јар датотеке. Један од начина је постављање путање класе. Хајде да видимо како да покренемо овај пример:

Учитајте јар датотекуц:> сет цласспатх=маил.јар;ацтиватион.јар;.;
компајлирајте изворну датотекуц:> јавац СендЕмаил.јава
водиц:> јава СендЕмаил

Пример слања е-поште у Јави преко СМТП сервера који обезбеђује хост провајдер

преузмите ове јар датотеке или идите на Орацле локацију да преузмете најновију верзију.
Ако користите СМТП сервер који обезбеђује хост провајдер, нпр. маил.јаватпоинт.цом , потребно је да потврдите аутентичност корисничког имена и лозинке. Класа јавак.маил.ПассвордАутхентицатион се користи за аутентификацију лозинке.
Ако шаљете е-пошту користећи ЈаваМаил АПИ, учитајте две јар датотеке:
маил.јар
активација.јар
 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();} } } 
преузмите овај пример да бисте послали е-пошту

Као што можете видети у горњем примеру, кориснички ИД и лозинка морају бити аутентификовани. Као што овај програм илуструје, можете лако да шаљете е-пошту. У складу са тим промените корисничко име и лозинку. Хајде да видимо како да га покренемо још једном једноставном техником:

Учитајте јар датотекуц:> сет цласспатх=маил.јар;ацтиватион.јар;.;
компајлирајте изворну датотекуц:> јавац СендМаилБиСите.јава
водиц:> јава СендМаилБиСите