Email siv JavaMail API li cas?

JavaMail API

JavaMail API – Xa thiab Tau Txais Email siv Java

Txheej txheem cej luam:

Nyob rau hauv ib daim ntawv thov software, xa tau thiab txais tau cov lus hauv, e-mails li no yog ib qhov tseem ceeb. Emails yog tus nruab nrab ntawm kev sib txuas lus ntawm ob tog sib txawv uas yuav siv cov ntaub ntawv rau. Feem ntau tus txheem programming lug, emails APIs muaj kev sib txuas lus, thiab Java no kuj tsis yog ib qho kos. Java muab e-mail APIs uas yog platform thiab raws tu qauv ywj siab. Qhov kev tswj framework zoo ib yam ntawm ntau hoob kawm rau defining ib e-mail kev sib txuas lus.

Nyob rau cov tshooj no, Peb yuav tham txog cov Java E-mail tswj framework thiab nws tseem ceeb components. Peb yuav tau ua hauj lwm nrog ib coding piv txwv li.


JavaMail architecture overview

Java xa API los ua ib pob default nrog Java EE platform, thiab nws yog ib qho kev xaiv Java SE platform. Java xa ntawv framework yog muaj ntau yam. JavaMail API Yog ib tug zoo li no siv los ntawm cov developers los tsim kom muaj cov ntaub ntawv. Tab sis npog, Cov APIs no yog ib tug txheej txheem java (tsim nyog) thiab cov chaw muab kev pab.

Peb muaj ib tug saib cov khaubncaws sab nraud Java xa architecture.

Java xa ntawv APis: Cov no yog cov Java interfaces xa thiab txais e-mails. Txheej txheem no tsuas yog ywj siab ntawm tus txheej txheem underlying.

JavaBeans Activation Framework (JAF): Lub moj khaum no siv los tswj cov ntaub ntawv xws li URL, attachments, mail extensions etc.

Cov Chaw Muab Kev Pab Interfaces: No txheej sits ntawm tus qauv DPlementers thiab cov ntaub ntawv Java, Tshwj xeeb tshaj yog Java xa ntawv APis. SPIS to taub cov lus raws tu qauv thiab ua tus choj ntawm ob tog.







Muab kev pab raws tu qauv: Cov no yog cov neeg muab kev pab cuam uas yuav siv raws li cov txheej txheem RHUAV, POP3 thiab IMAP yam. Nyob rau hauv cov ntsiab lus teb no peb yuav tsum muaj ib co tswv yim rau cov protocols.

  • RHUAVSimple Mtxheej Transfer Plub hauv paus hniav yuav siv xa e-mails.
  • POP3 Ptxaus siab Ontsaws Psiv tau e-mails. Nws muab ib tug rau ib mapping rau cov neeg thiab xa ntawv, uas yog ib lub thawv rau ib tus neeg siv.
  • IMAP Kuvntxhais Mmuaj hnub nyoog IBtxheej txheem Pcov rotocol no kuj siv tau e-mails. Nws txhawb ntau lub thawv rau ib tug neeg siv.
  • MIM Mntxhov siab Kuvntxhais Mtxheej Exyaum kho yog ib yam raws tu qauv los txhais lub ntsiab lus.

Tom qab yog tus Java xa architecture architecture. Muaj cov plaub layers plaub hauv lub cev. Tus kws lij choj sab saum toj yog lub txheej Java. Ob txheej yog tus neeg API txheeb nrog JAF. Thib peb txheej txheem muaj kev pab thiab cov txheej txheem DVR. Thiab, Txheej txheem yog tus neeg muab kev pab cuam thib peb.

Java Mail system architecture

Duab 1: Java Mail lawv architecture diagram

Teeb ib puag ncig

Ua ntej peb pib ua hauj lwm rau cov piv txwv code, Cia peb ua tiav ib puag nniag setup ua ntej. Rau Java mails, Peb yuav tsum download tej ntaub ntawv JAR thiab ntxiv lawv nyob rau hauv cov CLASSPATH. Tom qab ob uas yuav tsum tau muab nruab nrab uas yuav tsum tau muab nruab nrab.

  • Download JavaMail API nws thiab ua kom tiav cov plahaum
  • Download JavaBeans Activation Framework (JAF) nruab nrab
  • Ntxiv rau qhov xa ntawv thiab kev ua ub no... khaws cia rau hauv koj cov ntaub ntawv CLASSPATH
  • Nruab muaj SMTP pab rau xa emails. Nyob rau hauv peb cov piv txwv peb yuav siv JangoSMTP



Tam sim no lub chaw setup tag thiab peb yuav dhia mus rau qhov coding.

Yuav xa thiab txais e-mails?

Xa Email:

Nyob rau hauv peb thawj piv txwv peb yuav xyuas seb tus email yuav muab xa los ntawm kev siv Java API thiab SMTP pab. Nram qab no yog cov kauj ruam rau tom qab.

  • Setup 'Los' thiab 'To' chaw nyob nrog tus neeg siv id thiab lo lus zais.
  • Setup SMTP hom tsiaj
  • Setup zog qhov tseem ceeb
  • Tsim kom muaj kev sib kho kom haum
  • Daim ntawv hais kom meej
  • Xa cov lus los ntawm kev siv cov khoom thauj khoom.



Tom qab daim ntawv teev cov kauj ruam.

Listing1: Qauv code xa emails

[chaws]

chaw nres nkoj java..zog;

chaw nres nkoj javax.xa ntawv..;

Chaw nres nkoj javax.xa... MessagingException;

Chaw nres nkoj javax.xa.mail.passwordathentication;

chaw nres nkoj javax.xa..;

Chaw nres nkoj javax.mail.xa ntawv;

Chaw nres nkoj javax.mail.internet.InternetAddress;

Chaw nres nkoj javax.mail.internet.MimeMessagesage;

Pej xeem chav kawm ntawv DemoSendEmail {

pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua[] args) {

//Tus neeg tau txais kev pab & xa ntawv e-mail.

Hlua destmailid = “destemail@techalpine.com”;

Kauj ruam xa xis ntxhib = “frmemail@techalpine.com”;

//Mention neeg siv lub npe thiab lo lus zais ua ib daim ntawv hais txog koj tus kheej

Kawg nkaus uname = “username”;

Kawg nkaus pwd = “lo lus zais”;

//Peb siv relay.jangosmtp.net relay.jangosmtp.net xa emails

Kauj ruam smphost = “relay.jangosmtp.net”;

//Txheej cov khoom thiab lawv qhov tseem ceeb

Cov kev vam meej = cov khoom tshiab();

provhl.rho(“mail.smtp.auth.auth”, “tseeb”);

provhl.rho(“mail.smtp.starttls.enable”, “tseeb”);

provhl.rho(“mail.smtp.host”, txhaj koob tshuaj);

provhl.rho(“xa.10 pm.port”, “25”);

//Tsim kom muaj ib tug kwv tij neej tsa & authenticate uid thiab pwd

Qhib zaug qhib = Zaum...(npaj ua,

tshiab javax.xa ntawv.authenticator() {

tiv thaiv passwordathication getPasswordathication() {

xa tshiab Passwordathication(npe, pwd);

}

});

sim {

//Tsim MimeMessagesage khoom & qhov tseem ceeb

Lus hais = tshiab MimeMessagesage(sib kho ua zog);

lus hais... setFrom(InternetAddress tshiab(sendrmail));

lus.setRecipients(Message.RecipientType.TO,InternetAddress.parse(dab ntxwg nyoog));

hais..setSubject(“Qhov kev kuaj no yog txoj kev ntsuam xyuas no yog txoj kev kuaj no”);

lus hais... setText(“Xyuas xa emails uas siv JavaMail APis”);

//Tam sim no xa cov lus

Thauj...(lus hais);

System.out.println(“Koj tug raug xa mus rau email ntse….”);

} ntes (Messaging Tshwj xeeb exp) {

pov RuntimeException tshiab(piv txwv);

}

}

}

[/chaws]


Tom qab ua tiav thiab khiav daim ntawv thov kev pab koj yuav tau txais cov tso nram no.

Koj tug raug xa mus rau email ntse….

Tau txais Email:

Tam sim no nyob rau hauv cov piv txwv thib ob peb yuav xyuas seb yuav tau txais emails siv Java mail APis.

Thov ua raws li cov kauj ruam nram qab no kom tiav daim ntawv thov

  • Teeb zog qhov tseem ceeb rau POP3 pab
  • Tsim kom muaj kev sib kho kom haum
  • Ua kom khw poP3 khw thiab txuas
  • Tsim kom tau cov khoom thiab qhib nws
  • Retrieve email lus thiab luam tawm nyob rau hauv ib lub loop
  • Kaw folder thiab khw khoom

Tom qab cov qauv ua raws li cov kauj ruam piav saum toj no.








Listing2: Qauv code los emails

[chaws]

chaw nres nkoj java..zog;

chaw nres nkoj javax.xa ntawv..;

chaw nres nkoj javax.xa ntawv..;

Chaw nres nkoj javax.xa... MessagingException;

Chaw nres nkoj javax.xa.xa nosuchProviderception;

chaw nres nkoj javax.xa..;

Chaw nres nkoj javax.mail.xa ntawv;

Pej xeem hoob kawm DemoCheckEmail{

pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua[] args) {

//Teev cia cov khoom thiab configure raws li

Hostval hostval = “pop.gmail.com”;

Txoj Kev Txhim Kho Txoj Kev Xyaum Txhim Kho = “zoj zis”;

Hlua ntxhib = “uname@gmail.com”;

Hlua pwd = “lo lus zais”;

// Hu rau checkMail txoj kev mus xyuas emails

checkMail(ib hom tsiaj, kev xeem ntawv, npe, pwd);

}

pej xeem txheej txheem checkMail(txoj hlua hostal, Txoj hlua mailStrprot, Txoj hlua uname,Txoj hlua pwd)

{

sim {

//Txheej Txheej Txheem

Cov kev vam meej = cov khoom tshiab();

provals.rho(“mail.pop3.host”, ib hom tsiaj);

provals.rho(“xa.33.port”, “995”);

provals.rho(“mail.pop3.starttls.enable”, “tseeb”);

Qhib emailssionOb = qhib lawm... tau zoo(provals);

//Ua khw poP3 khw thiab txuas nrog cov pab pawg neeg

Khw storeOb = emailssionsOb.getStore(“plhaub taum paj”);

txuas(ib hom tsiaj, npe, pwd);

//Tsim kom tau khoom thiab qhib nws nyob nyeem ntawv tsuas hom

Folder emailFolderOb = storeObj.getFolder(“INBOX”);

emailFolderOb.qhib(Folder.READ_ONLY);

//Fetch lus los ntawm cov laus thiab luam tawm nyob rau hauv ib lub loop

Xov[] lus = emailFolderOb.getMessages();

rau (rau cov menyuam kuv = 0, ne = lus ntev...; Kuv < n; i ) {

Lus indvidualmsg = lus[Kuv];

System.out.println(“Printing ib tug neeg lus”);

System.out.println(“Tsis # ” + (Kuv + 1));

System.out.println(“Email Subject: ” + cov tib neeg uas raug tus mob no...());

System.out.println(“Xab ntoo: ” + indvidualms.getFrom()[0]);

System.out.println(“Cov Txheej Txhe: ” + Cov tib neeg uas raug tus mob no...().toString());

}

//Tam sim no ze tag nrho cov khoom

emailFolderOb.kaw(tsis tseeb);

ze ntawm lub dab neeg...();

} ntes (NosuchProviderception exp) {

exp.printStackTrace();

} ntes (Messaging Tshwj xeeb exp) {

exp.printStackTrace();

} ntes (Tshwj) {

exp.printStackTrace();

}

}
}

[/chaws]

Tom qab ua tiav thiab khiav daim ntawv thov kev pab koj yuav tau tus email number, xa ntawv, txheej txheem.







Xaus:

Xa ntawv sib txuas lus yog ib hom feature heev nyob rau hauv tej daim ntawv thov software. Nyob rau hauv tsab xov xwm no peb tau tham txog lub ntsiab xam qhov txhais hauv Java platform. Java muaj ib daim ntawv tag nrho cov pob khoom uas muaj APIs rau lub tsev email enabled. Tab sis npog, nrog rau API txheeb ze, Peb tog muab kev pab cuam no kuj yog ib feem ntawm Java xa lub kaw lus. Peb muaj kuj kov ib me ntsis rau sab architecture sab tau ib lub tswv yim li cas nws ntiaj teb. Thiab, Thaum kawg peb tau ua hauj lwm nrog ob tug piv txwv qhia xa thiab tau txais emails. Vam cia no tutorial yuav pab koj nkag siab Java xa zog rau ib txoj kev zoo.


============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share