1. Trang chủ
  2. » Công Nghệ Thông Tin

Java mail

17 882 32
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 2,6 MB

Nội dung

Trang 205 Chng 9: JAVA MAIL I. Các khái nim MAIL Ngày nay e-mail hay thn tã tr nên ph bin và hu nh không th thiu trong th gii Internet. E-mail cho phép gi thông p t ni này n ni khác tng t nh cách gi th truyn thng thông qua bu n. Trong cách thông thng bn phi cung p a ch ngi gi (sender), a ch ngi nhn (reciept) sau ó ngi gi mang thn u n nh bu n chuyn thi. Bu n s chuyn thn hp th ca ngi nhn.  i vi thn t e-mail gi qua h thng Internet hay mng thì c ch gi/nhn ng hoàn toàn tng t. Các máy ch (mail server) cung cp cho bn  ch mail (còn gi là e-mail address). Bn ghi a ch mail ca bn và ca ngi nhn, sau ó nhp vào ni dung cn gi. Mail server s gi th ca bn n mt máy ch hay mail server ca a ch ngi nhn. Mail server ni nhn s ct th vào mt ni thích hp (mail box hay còn gi là p th) trên máy ch. Ngi nhn s tin hành ng nhp (hay còng gi là login) vào hp th ca máy chc ni dung e-mail gi cho mình.   thng nht gia các máy ch mail trên toàn th gii v cách thc gi nhn mail òi hi hình thành các chun v mail. u này giúp cho vic gi nhn các thông p c m bo, làm cho nhng ngi  các ni khác nhau có th trao i thông tin vi nhau. Có 2 chun v Mail thng c các máy ch mail h tr là X.400 và SMTP (Simple Mail Transfer Protocol). SMTP thng i kèm vi chun POP3 và do hn ch ca SMTP mà ngày nay ngi ta dùng chun m rng ca nó là ESMTP (Extended SMTP). c ích chính ca X.400 là cho phép các mail có thc truyn nhn thông qua các loi ng khác nhau bt chp cu hình phn cng, hu hành mng, giao thc truyn dn c dùng. Còn mc ích ca chun SMTP miêu t cách u khin các thông p trên ng Internet. u quan trng ca chun SMTP là ginh máy nhn phi dùng giao thc SMTP gi Mail cho mt Server luôn luôn hot ng. Sau ó, ngi nhn sn ly Mail a h t Server khi nào h mun dùng giao thc POP (Post Office Protocol), ngày nay POP c ci tin thành POP3 (Post Officce Protocol vertion 3). Các giao thc Mail thông ng : chun X.400, chun MAIP, SMTP (ESMTP), POP3. Trong chng này ta s s ng hai giao thc :POP3 và SMTP  gi nhn mail. Mô hình gi nhn mail Trc khi i vào phn chính chúng ta cùng ôn li mt s khái nim c s sau: Sende r Reveicer Mail Server trung gian Mail Server ngi i Mail Server ngi nhn ng ng Trang 206 Mail server: là mt chng trình chy di dng mt dch v. dch v này có nhim v nhn mail t máy khách gi n, phân phi mail n máy ch khác, cho phép máy khách truy cp vào  ly mail, lu tr mail… Chính vì vy trc khi bn gi nhn mail n phi bit a ch ca máy ch mail (máy ang chy dch v mail). a ch này thng c gi là mail host. Giao thc gi mail (Mail transport protocol): gi mail n máy ch, trình khách phi s dng mt giao thc trò chuyn vi mail server. Tng t nh trình duyt s ng giao thc HTTP  trò chuyn vi Web server. Các máy khách mun bt tay vi trình ch và gi mail lên máy ch s s dng giao thc SMTP (Simple Mail Transport Protocol). SMTP khá ni ting và c hu các máy ch mail trên th gii h tr. a ch ca máy ch nhn mail gi i c gi là outgoing mail address. Trình ch tip nhn mail theo giao thc SMTP c gi là SMTP Server. Trình khách s dng giao thc SMTP  gi thi c gi là SMTP Client. Giao thc lu tr và nhn mail (mail store protocol): Khi trình ch mail tip nhn c mail. Nó tin hành lu tr mail theo mt cách thc nào ó  trình khác có th d dàng truy cp vào và nhn mail v. Hin nay POP3 (Post Office Protocol) và IMAP (Internal Message Access Protocol) là hai giao thc lu tr và ly mail t hp th (Inbox) c nhiu mail server s dng. a ch ca máy ch lu tr mail cho phép máy khách truy cp vào  nhn mail v c gi là incoming mail address. Các chng trình mail Client thng s dng giao thc POP3  nhn mail t trình ch. Trình ch tip nhn yêu cu ca trình khách theo giao thc POP3 c gi là POP Server. SMTP Relay: Các mail server nu nhn c mail không thuc a ch do mình qun lý, khi ó nó có trách nhim gi mail n máy ch khác vi cùng giao thc SMTP. Trong trng hp này mail server (ni chuyn tip thi) óng vai trò nh mt trình khác (mail client) i vi máy ch ni nhn. C th. Internet mail là mt h thng chuyn mail liên tc gia các máy ch mail vi nhau cho n khi nào mail n c máy chích. Các mail server a phn h tr tính nng Relay. POP before SMTP (Chng thc quyn truy cp theo giao thc POP trc khi s ng SMTP): tránh tình trng máy ch mail c li dng  gi mail mt cách  t. C ch POP before SMTP yêu cu máy khách mun s dng dch v mail ca máy ch phi trc ht phi ng nhp (login) vào tài khon (account) theo giao thc POP. u quá trình ng nhp thành công, c ch gi mail bng SMTP mi có th thc hin c. Mail client, Web mail: là chng trình dùng  nhn mail v t trình ch và cho phép i mail lên trình ch. Nu mail client c vit di giao din Web thì nó c gi là Web mail. II. Gi mail vi th vin có sn ca java Java cung cp cho bn mt th vin nh gn giúp bn có th gu mail mt cách d dàng, tuy nhiên vi th vin này bn không có c các tính nng cao cp nh gi file ính kèm…,  s dng các tính nng cao cp bn x th vin Mail API (gii thiu trong phn sau). Th vin này có lp SmtpClient dùng  gi mail.  gi mail bn cung cp a ch ca ngi gi (from), a ch ca ngi nhn (to), a ch ca mail server (máy ch tip nhn mail do bn gi lên) cùng vi ni dung mà bn mun gi. Di ây là mt chng trình n gin dùng  gi mail n a Trang 207 ch thek44a2@yahoo.com nh vào máy ch mail utehy.edu.vn (máy ch mail ca trng DHSP KT Hng Yên). a ch ngi gi có tht tu ý. Nhng thng là a ch ca bn  ngi nhn sau khi c th xong có th hi âm (Reply) li cho n. //SendMailApp.java import sun.net.smtp.*; import java.io.*; public class SendMailApp { public static void main(String[] args) throws Exception { String host = "utehy.edu.vn"; String from = "theth@utehy.edu.vn"; String to = "thek44a2@yahoo.com"; String subject = "Test Message"; String body = "Hello this is test message for mail"; /* To i tng gi mail theo giao thc SMTP, host là a ch ca máy ch nhn mail do ta i lên */ SmtpClient mailer = new SmtpClient(host); // Thit lp a ch ca ngi gi và ngi nhn mailer.from(from); mailer.to(to); //Ly v lung xut gn vi mail PrintStream ps = mailer.startMessage(); //Din các thông tin khác ps.println("From:" + from); ps.println("To:" + to); ps.println("Subject:" + subject); ps.println();// Thêm CRLF vào trc phn ni dung ps.println(body); //Kt thúc quá trình gi mail mailer.closeServer(); System.out.println("Mail has been sent"); } } Chú ý: Hãy thay a ch From, To bng a ch e-mail mà bn mun gi. III. Gii thiu java mail API Lp SmtpClient ca java mà chúng ta s dng trên ây ch giúp bn gi mail  mc n gin nht vi ni dung mail  dng thun vn bn. Mt ng dng mail phía máy khách thng có các chc nng phc tp hn nh : Gi file ính kèm, d liu c nhúng c hình nh, âm thanh… thc hin nhng chc nng này java a ra mt th vin riêng chuyên  lý các thao tác gi nhn mail. 1. Cài t th vin java mail Mc nh các th vin java mail API không c cài t khi bn cài JDK. Th vin này gm ba phn: Phn th nht là ht nhân ca các tác v x lý mail, nó c óng gói trong tp mail.jar. n có th download ta ch http://java.sun.com/javamail/index.html Trang 208 Phn th hai là JavaBean Activation FrameWork cn cho mi phiên bn ca java mail. Th vin này mang tên activation.jar. vi th vin này bn có th ti xung t http://java.sun.com/products/javabean/glasgow/jar.html Phn th ba là các lp c hay nhn mail t trình ch. Trong java 1.4 th vin này có tên mail.jar n t bin môi trng classpath=%CLASSPATH%; C:\JBuilderX\lib\mail.jar; C:\JBuilderX\lib\activation.jar; Chú ý: Khi bn cài JBuilder hai th vin này cng c tng cài t vào máy, bn có th tìm thy nó trong th mc Jbuilder_Home/lib 2. Các bc gi nhn mail Các bc  nhn mail: o i tng mail Session. o i tng store chun b ly mail v.  to i tng Store bn yêu cu ngi dùng nhp vào tên và mt khu chng thc quyn truy cp hp pháp.  dng i tng Store  ly vi tng Folder. Mi Folder s cha mt loi mà n mun ly. Nh Folder Inbox cha các th vin gi n. Folder trash cha các th a b xoá. Folder sent cha các th va gi i… Duyt i tng Folder  ly v danh sách các th. Các bc  gi mail Yêu cu ngi gi chn giao thc  gi (SMTP) và nhn (POP3 hay IMAP…). Lu các thông tin này vào i tng Session. o i tng Message. i tng này s cha các thông tin v mail cn gi i nha ch ngi gi, a ch ngi nhn, tiêu  mail, ni dung mail… i phng thc Transport.send() hoc phng thc sendMessage ca i tng Transport  gi thi. 3. Các lp c bn x lý thao tác gi nhn mail Ta tìm hiu các gói trong th vin java mail. Hu ht các ng dng mail client cn import các th vin javax.mail, javax.mail.interner, javax.mail.activation. 3.1. Các lp liên quan n vic gi mail 3.1.1. Lp Session Lp này th hin mt phiên kt ni ti mail server. Trc khi truy cp (gi/nhn) n cn phi to ra mt i tng Session th hin cho mt phiên làm vic. ví d: //To i tng Properties cha thông tin khi to nu có Properties props=new Properties(); /*gán giá tr cho các thuc tính bng phng thc props.setProperty(PropertyName, PropertyValue) */ //To i tng Session Session session =Session.getDefaultInstance(props,null); Hoc bn có th gi phng thc getInstance() ca lp Session thay cho getDefaultInstance()  to ra th hin ca i tng Session nh sau: //To i tng Properties cha thông tin khi to nu có Properties props=new Properties(); Trang 209 /*gán giá tr cho các thuc tính bng phng thc props.setProperty(PropertyName, PropertyValue)*/ //To i tng Session Session session =Session.getInstance(props,null); Trong c hai phng thc khi to i tng Session nêu trên. các thuc tính cu hình c t trong i tn Properties nên trc khi bn bn gi nhn mail bn cn thit t các thuc tính này. ví d: props.setProperty("mail.host","utehy.edu.vn"); props.setProperty("mail.from","theht@utehy.edu.vn");… ây thng thì bn truyn null cho tham s th hai vi ý ngha s dng c ch chng thc (authentication) mc nh ca mail server. S khác nhau gia hai phng thc này là getInstance() thì luôn to ra mt Session i còn getDefaultInstance() thì không to ra mt th hin mi ca Session nu nh nó ã c to ra trong cùng java virtual machine. 3.1.2. Lp Message Sau khi có i tng Session bn,  gi mail bn bn cn to ra i tng Message. Tuy nhiên ít khi bn làm vic trc tip vi i tng này mà bn thng làm vic vi các p con ca nó, lp MimeMessage. ví d, bn to thông p mail  chun b gi i nh sau: MimeMessage message =new MimeMessage(mailsession); u ni dung ca thông p là thun vn bn, bn có th thit t ni dung th gi bng nh: message.setText(content); u bn chnh Mime cho ni dung cn gi nu nó không phi là thun vn bn nh sau: message.setContent(content,"text/html"); u ni dung không phi thun vn bn thì bn phi chnh Mime cho nó,  ni nhn mail s cn c vào Mime  hin thúng ni dung ca thông p nhn c. Mt thói quen tt nên có là t cho mail mt tiêu  (subject). Ngi nhn cn c vào tiêu  th bit c ni dung vn tt mô t trong th. Phng thc setSubject() s giúp ta làm vic ó. Ví d: Session.setSubject(Xin chao); 3.1.3. Lp Address Sau khi bn to ra i tng Session và Message, tip n ta s dng lp Address  o ra  ch ca ngi gu và ngi nhn. Lp Address là lp tru tng, bn s ng lp con ca nó là InternetAddresss. Ví d bn to a ch mail t lp này nh sau: Address address =new InternetAddresss(theht@utehy.edu.vn); Hoc InternetAddresss address =new InternetAddresss(theht@utehy.edu.vn); Nu bn mun a ch e-mail có thêm thông tin din gii bn thêm s dng cú pháp nh sau: Address address =new InternetAddresss(theht@utehy.edu.vn, Hoang Trong The); Thông tin din gii này sc hin th thay khi ngi nhn c th thay cho a ch mail from. Trang 210 Sau khi to xong a ch ca ngi gi, a ch ca ngi nhn bn cn gn nó vào thông p cn gi i. Java cung cp cho bn ba loi a ch ph bin: Kiu a ch ý ngha Message.RecipientType.TO a ch ni n Message.RecipientType.CC a ch ngi gi cn lu ý Message.RecipientType.BCC a ch ngi gi cn tham kho Bn gi phng thc addRecipient() ca i tng Message  gán a ch cn gi. Ví d: //To a ch Address toAddress=new InternetAddresss(“thek44a2@yahoo.com”); Address ccAddress=new InternetAddresss(“theht@walla.com”); //Gán a ch cho ngi nhn message.addRecipient(Message.RecipientType.TO, toAddress); message.addRecipient(Message.RecipientType.CC, ccAddress);  t a ch ca ngi gi bn gi phng thc setFrom(). Ví d: Address myAddress=new InternetAddresss(“theht@utehy.edu.vn”); message.setFrom(myAddress);  a ch ca ngi gi không quan trng, bn có tht cho nó mt a ch e-mail không có thc, nu bn t a ch ca ngi gi không có thc thì ngi nhn không th phn hi (reply) li cho bn. Ta có tht a ch ca ngi gi là mt danh sách (mng)  ngi nhn có th phn hi li cho nhiu ngi cùng mt lúc. Bn gi phng thc addFrom() nh sau: Address address[]=… Message.addFrom(address); Chú ý: java mail không cung cp c ch kim tra xem a ch ca ngi gi có hp l hay không.  kim tra mt a ch mail có hp l hay không không phi là d, thông thng n gin nht bn kim tra xem trong a chó có kí t @ hay không? 3.1.4. Lp Transport Lp Transport cung cp các phng thc gi mail n mail server. n gin bn gi phng thc tnh send() ca lp Transport  gi i tng thông p i. Ví d: Transport.send(message); Hoc bn có th chn giao thc gi mail ti tng Session, to kt ni n trình ch mail và gi phng thc sendMessage()  gi mail i: Transport transport; transport =mailSession.getStransport(smtp); transport.connnect(host, user, password); // hoc bn có th gi phng thc transport.connnect(); transport.sendMessage(message, message.getAllRecipients()); transport.close(); Trang 211 Cách th hai này nhanh hn cách th nht trong trng hp bn mun gi mt s ng ln các mail, kt ni vn c duy trì cho n khi bn gi phng thc transport.close(), trong khi kt ni vn còn m bn có th gi bao nhiêu th tu ý mà không phi kt ni li vi mail server. Trong khi phng thc transport.send() phi t ni, óng kt ni mi khi có mt thông p c gi i, do vy mt thi gian. 3.2. Các lp liên quan n vic nhn mail p Store và lp Folder: Là hai lp này phc v ch yu cho vic nhn và c mail cha trong hp th ca mail server.  s dng hai lp này trc tiên bn cn chnh giao thc nhn mail. Có hai giao thc nhn mail chính là POP3 và IMAP. Ví d nu s dng giao thc POP3 thì bn khai báo gói com.sun.mail.pop3 nh sau: import com.sun.mail.pop3.*; Còn nu bn s dng giao thc IMAP thì bn khai báo gói com.sun.mail.imap nh sau: import com.sun.mail.imap.*; ng t nh lp Transport trong thao tác gi mail, bn dùng i tng Session, gi phng thc getStore()  ly vi tng Store phc v cho mc ích kt ni vi mail server  nhn mail. Store store =mailSession.getStore(pop3);  kt ni vào mail server bn gi phng thc connect() nh sau: store.connect(host, user, password); Trong ó: host là a ch ca mail server mà bn mun ly th user/password là tài khon ng nhp vào hp th ca bn. u kt ni thành công bn ly vi tng Folder  duyt mail. Folder folder = store.getFolder(“INBOX”); folder.open(Folder.READ_ONLY); Message message[]=folder.getMessages(); Các thông p mail c lu tr trên mail theo mt cu trúc cây, tng t nh cu trúc cây th mc ca hu hành. INBOX ám ch th mc cha th gi n. Chú ý: Vi giao thc POP3 bn ch có th ly mail t INBOX vi giao thc IMAP (m ng ca giao thc POP3) bn có th nhn mail trong các th mc TRASH, SENT… Phng thc getMessages() tr v mt mng các i tng Message. Bn gi phng thc getConten()  ly v ni dung ca mail nh sau: for(int i=0;i<message.lenth();i++) System.out.println(((MimeMessage)message[i]).getConten()); t ã c xong th bn óng hp th và ngt kt ni: folder.close(true); store.close(); i s true cho bit có cp nht các lnh xoá mail hay không (s cp trong phn sau). Trang 212 III. Gi mail 1. Gi mail n gin Chng trình SendMailAPI di ây s gi mail i theo giao thc SMTP, SendMailAPI là chng trình java thun tuý s dng th vin java mail. Nó tng t chng trình SenMailApp chúng ta ã tìm hiu trong phn trc. Mc dù vy thay vì s ng lp SmtpClien bn s dng các lp Session, Transport ca java mail API. //SendMailAPI.java import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import java.util.*; public class SendMailAPI { public static void main(String args[]) throws Exception { String smtpHost = "utehy.edu.vn"; int smtpPort = 25; String from = "theht@utehy.edu.vn"; String to = "thek44a2@yahoo.com"; String subject = "Xin chao"; String content = ""; // Create a mail session Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", "" + smtpPort); Session session = Session.getDefaultInstance(props, null); // Construct the message Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject(subject); msg.setText(content); // Send the message Transport.send(msg); } } Trc tiên bn to ra mt i tng Properties  cha các thông tin: tên máy ch mail, ng ca mail server bng câu lnh Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", "" + smtpPort); c nh cng ca mail s là 25, nu mail hot ng trên mt cng không phi là 25 thì bn phi ch rõ cng ca mail server bng dòng lnh: props.put("mail.smtp.port", "" + smtpPort); Tip theo bn ly v mt phiên kt ni bng dòng lnh: Session session = Session.getDefaultInstance(props, null); Trang 213 Tip theo bn to ra i tng thông p và n các thông tin cn thit vào: Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject(subject); msg.setText(content); Cui cùng  gi thi bn gi phng thc: Transport.send(msg); n có th thay dòng lnh này bng n lnh sau: Transport tp= session.getTransport("smtp"); tp.connect(); tp.sendMessage(msg,msg.getAllRecipients()); tp.close(); u bn cha gán a ch mail server và cng ca nó thì bn phi gi phng thc: tp.connect(host,user,password); Do bn ang gi mail nên các thông tin ng nhp user,password không cn thit, n có th cung cp cho nó mt xâu rng nh sau: tp.connect(host,””,””); 2. Gi th vi ni dung có nh dng HTML Nu ni dung th là thun vn bn bn gi phng thc Message.setText(StringMsg) gán ni dung cho i tng thông p cn gi i. Nu ni dung th không phi là dng thun vn bn bn cn gi phng thc Message.setConten(StringMsg, MimeType) vi MimeType là mt xâu cho bit kiu ni dung c cha trong mail. Ví d sau minh ho cách gi th vi ni dung có nh dng HTML: // SendMailAPIFromat.java import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import java.util.*; public class SendMailAPIFromat{ public static void main(String args[]) throws Exception { String smtpHost = "utehy.edu.vn"; int smtpPort = 25; String from = "theht@utehy.edu.vn"; String to = "thek44a2@yahoo.com"; String subject = "Xin chao"; //Gán ni dung là mt xâu có nh dng HTML String content = "<p><b><font face=\".VnArialH\" size=\"8\">Xin chào các n</font></b></p><p><font face=\".VnTimeH\">Chúc mt ngày vui v</font></p>"; // Create a mail session Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", "" + smtpPort); Session session = Session.getDefaultInstance(props, null); // Construct the message Trang 214 Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject(subject); //Gán kiu ni dung MimeType là text/html msg.setContent(content, "text/html"); // Send the message Transport tp = session.getTransport("smtp"); tp.connect("utehy.edu.vn", "", ""); tp.sendMessage(msg, msg.getAllRecipients()); tp.close(); } } Trong ví d trên bn gán ni dung là mt xâu có nh dng HTML,  báo cho ngi nhn bit ni dung bên trong th có nh dng HTML bn gi phng thc msg.setContent(content, "text/html"); 3. Gi th vi file ính kèm Th vin java mail API cho phép bn gi mail vi các file ính kèm. Nhng file này thng c nhúng vào phn ni dung mail gi i  dng mã hoá tng phân n (Multi – part MIME). Mt Message c xem là gm nhiu phân n. Mi phân n c gi là mt BodyPart, Tt c các BodyPart c gi là MultiPart. Da vào hai lp BodyPart và MultiPart ta có th to ra mt mail phc tp có th phân tích bi i nhn. Chng trình SendMailAttachAPI.java di ây s cho thy k thut gi mail vi file ính kèm. //SendMailAttachAPI.java import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import java.util.*; public class SendMailAttachAPI { public static void main(String args[]) throws Exception { String smtpHost = "utehy.edu.vn"; int smtpPort = 25; String from = "theht@utehy.edu.vn"; String to = "thek44a2@yahoo.com"; String subject = "Xin chao"; String content = "Chuc mot buoi sang tot lanh"; //Tên ca file ính kèm String fileName = "C:/test.txt"; //to i tng session Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", "" + smtpPort); Session session = Session.getDefaultInstance(props, null); //To i tng thông p [...]... Nh n mail v i các file ính kèm N u n i dung th có ch a file ính kèm b n có th tách ph n ính kèm, ph n th ra Ví d GetMailAttach .java minh ho cách ki m tra mail có file ính kèm hay không?, n u có thì ghi n i dung c a file ính kèm xu ng th m c C:\data //GetMailAttach .java import java. util.*; import javax .mail. *; import javax .mail. internet.*; import com.sun .mail. pop3.*; import java. net.*; import java. io.*;... file tu ý, b ng cách t o ra nhi u BodyPart khác nhau IV Nh n mail 1 Nh n mail n gi n nh n mail, b n k t n i vào mail server l y v các Message trong th m c INBOX Ví d GetMailAPI sau minh ho cách nh n mail t trình ch và hi n th ra màn hình //GetMailAPI .java import java. util.*; import javax .mail. *; import com.sun .mail. pop3.*; public class GetMailAPI { public static void main(String[] args) throws Exception... Trang 220 V Xoá mail 1 Xoá mail xoá mail b n m h p th v i quy n c/ghi nh sau: Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message[] messages = folder.getMessages(); Ti p n t c xoá: Messages[i].setFlag(Flags.Flag.DELETE,true); Ti p n óng k t n i, mail server s t ng xoá mail folder.close(true);//Chú ý b t bu c ph i là tham s true 2 Ki m tra tr ng thái c c a mail // Ki m tra... javax .mail. internet.*; import com.sun .mail. pop3.*; import java. net.*; import java. io.*; public class GetMailAttach { public static void main(String[] args) throws Exception { String smtpHost = "utehy.edu.vn"; int smtpPort = 25; //t o ra m t mail Session Properties props = new Properties(); props.put( "mail. smtp.host", smtpHost); props.put( "mail. smtp.port", "" + smtpPort); Trang 218 Session session = Session.getDefaultInstance(props,... store = session.getStore("pop3"); //K t n i v i mail server store.connect(smtpHost, "thek44a2", "abc"); //L y v th m c INBOX Folder folder = store.getFolder("INBOX"); //N u không có th m c này thì thoát if (folder == null) { System.out.println("No folder"); System.exit(1); } //M th m c l y th theo ch ch c folder.open(Folder.READ_ONLY); //L y v các th trong Mail Box Message[] messages = folder.getMessages();... static void main(String[] args) throws Exception { String smtpHost = "utehy.edu.vn"; int smtpPort = 25; //T o i t ng Session Trang 215 Properties props = new Properties(); props.put( "mail. smtp.host", smtpHost); props.put( "mail. smtp.port", "" + smtpPort); Session session = Session.getDefaultInstance(props, null); //T o i t ng Store Store store = session.getStore("pop3"); store.connect(smtpHost, "thek44a2",... các i t ng Message và hi n th ra màn hình Message[] messages = folder.getMessages(); for (int i = 0; i < messages.length; i++) { printMessage(messages[i]); } /* óng k t n i nh ng không xoá các Message t mail server folder.close(false); store.close(); */ } public static void printMessage(Message m) throws Exception { //In ph n tiêu th //L y v các a ch g i Address[] from = m.getFrom(); if (from != null)... urlName=new URLName("pop3","utehy.edu.vn",110,"INBOX","thek44a2","abc"); Folder folder = session.getFolder(urlName); ng cách này b n không c n ph i t o ra i t ng Store 2 L y v các thông tin i kèm v i mail n có th l y v các thông tin i kèm v i th nh : ngày g i, tiêu … ph ng th c printInfo sau s in ra màn hình các thông tin i kèm v i th public static void printInfo(Message m)throws Exception { //L y... msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject(subject); /* T o i t ng Multipart, i t ng này dùng ch a các BodyPart */ Multipart multiPart = new MimeMultipart(); //T o ra i t ng BodyPart ch a n i dung mail BodyPart msgBodyPart = new MimeBodyPart(); msgBodyPart.setText(content); //Thêm i t ng msgBodyPart vào multiPart multiPart.addBodyPart(msgBodyPart); /*T o i t ng BodyPart th hai, i t ng này dùng ch . ca java mail API. //SendMailAPI .java import javax .mail. *; import javax .mail. internet.*; import javax.activation.*; import java. util.*; public class SendMailAPI. nhn mail Ta tìm hiu các gói trong th vin java mail. Hu ht các ng dng mail client cn import các th vin javax .mail, javax .mail. interner, javax .mail. activation.

Ngày đăng: 29/09/2013, 09:20

Xem thêm

HÌNH ẢNH LIÊN QUAN

Mô hình gi nh n mail - Java mail
h ình gi nh n mail (Trang 1)

TỪ KHÓA LIÊN QUAN

w