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