, i det foregående kapitel vi lærte at kontrollere e - mails.lad os se, hvor efter hver e - mail og læse indholdet.lad os skrive en java - klasse, fetchingemail, som vil læse følgende former for e - mail:,,, simple mail, e - mail - med tillæg, e - mail - med inline - image, grundlæggende skridt følges i kode, er som følger:,,, - samling objekt.,,, skabe pop3 butik og formål forbinder til butikken.,,, skabe mappe genstand og åbne de relevante mappe i din postkasse.,,, hent beskeder.,,, luk mappen og opbevare objekter.,,, skabe java - klasse, skabe en java - skabe en java klasse fil, fetchingemail, indhold, der er som følger: pakke com.tutorialspoint; import java.io.bufferedoutputstream; import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.file; import java.io.fileoutputstream; import java.io.ioexception;import java.io.inputstream; import java.io.inputstreamreader; import java.util.date; import java.util.properties; import javax.mail.address; import javax.mail.folder; import javax.mail.message; import javax.mail.messagingexception; import javax.mail.multipart; import javax.mail.nosuchproviderexception; import javax.mail.part; import javax.mail.session; import javax.mail.store; offentlige klasse fetchingemail {offentlige statisk tomrum, hent (string - pop3host, snor storetype, snor bruger snor password) (prøve {//skabe egenskaber inden egenskaber egenskaber = nye properties() egenskaber. ("post. butik. - protokollen", "pop3) egenskaber. (" post. pop3. vært ", pop3host) egenskaber (" mor.il. pop3. havn "," 995) egenskaber. ("post. pop3. starttls. at", "ægte"), samling emailsession = samling. getdefaultinstance (egenskaber); //emailsession. setdebug (korrekt); //skabe pop3 opbevarer genstand og forbinder med pop - butik butikken = emailsession. getstore ("pop3s"); butik. - (pop3host, bruger kodeord); //skabe den mappe, formål og åbne den mappe emailfolder = butik. getfolder ("indbakke"); emailfolder. åben (mappe. read_only); bufferedreader læser = nye bufferedreader (nye inputstreamreader (system.)); //hente budskaber fra mappe i et system og trykke det budskab, [...] beskeder = emailfolder.getmessages(); system. println ("beskeder. længde - - -" + beskeder. længde); int (i = 0. jeg < messages.length; jeg + +) (besked besked = meddelelser [i]; system. println ("---------------------------------"); writepart (meddelelse); streng linje = læser. readline(); hvis ("ja". = (line) {besked. writeto (.);} andre, hvis ("stop". = (line) {pauser) //lukke butikken og folder objekter emailfolder. tæt (forkert); butik. close();} fangst (nosuchproviderexception e) (f. printstacktrace();} fangst (messagingexception e) (f. printstacktrace();} fangst (ioexception e) (f. printstacktrace();} fangst (undtagen e) (f. printstacktrace();}} offentlige statisk tomrum vigtigste (string [] args) (string vært = "pop. gmail. com"; //ændres i overensstemmelse hermed. mailstoretype = "pop3" snor brugernavn = abc @ gmail. com "//ændres i overensstemmelse hermed - kodeord =" * * * * * "; //ændring i overensstemmelse hermed //kalder metode, hent hente (vært, mailstoretype, brugernavn, password)} /* * denne metode kontrol for content type * baseret på, som det processer og * henter indholdet * /offentlige statisk tomrum writepart (p) gør undtagelse (hvis (p - tilfælde af meddelelse) //til afsnit iii metoder writeenvelopewriteenvelope (meddelelse) p) system. println ("----------------------------"); system. println ("content-type:" + s. getcontenttype()); //kontrollere, om indholdet er almindelig tekst, hvis (p.ismimetype ("tekst /almindelig") (system. println ("det er almindelig tekst"); system. println ("---------------------------"); system. println (...), s. getcontent())} //kontrollere, om indholdet er beslaglæggelse andre, hvis (p.ismimetype ("i flere dele /* *) {system. println (" det er flere dele "); system. println (" --------------------------- "); i flere dele mp = (flere dele), s. getcontent(); int tæller = mp. getcount(); int (i = 0. jeg < tæller.jeg + +) writepart (mp. getbodypart (i));} //kontrollere, om indholdet er en indlejrede besked andre, hvis (p.ismimetype ("meddelelse /rfc822") (system. println ("dette er en indlejrede besked"); system. println ("---------------------------"); writepart (del), s. getcontent())} //kontrol, hvis indhold er i overensstemmelse med billede, andre, hvis (p.ismimetype ("image /jpeg") (system. println ("--------> image /jpeg"); objekt, o = s. getcontent(); inputstream x = (inputstream) o ////////opbygge den nødvendige byte array - system. println ("x.length =" + x. available()); og (i = (int) (inputstream) x). available())> 0) (int resultat = (int)(((inputstream) x). læs (barray), hvis resultat = = - 1) int - = 0, byte [] barray = nye byte [x. available()] pause.} fileoutputstream f2 = nye fileoutputstream ("/tmp /image. jpg"); f2. skrive (barray);} andre, hvis (s. getcontenttype(). indeholder ("image") (system. println ("content type" + s. getcontenttype()); sag f = nye fil ("image" + nye date(). gettime() + "jpg"); dataoutputstream produktion = nye dataoutputstream (nye bufferedoutputstream (nye fileoutputstream (f)); com.sun.mail.util.base64decoderstream test = (kom. sol. - post. util. base64decoderstream) p. getcontent(); byte -] buffer = nye byte - 1024]; int bytesread; mens ((bytesread = prøve. læs (buffer)).= - 1) (output. skrive (buffer, 0, bytesread)}} andre {objekt, o = s. getcontent(); hvis o tilfælde string) (system. println ("det er en serie"); system. println ("---------------------------"); system. println ((...) o)} andre, hvis o tilfælde inputstream) (system. println ("det er bare en input - stream"); system. println ("---------------------------"); inputstream er = (inputstream) o = (inputstream) o int c; mens (c =. read()).= - 1) system. skrive (c)} andre {system. println ("det er en ukendt type"); system. println ("---------------------------"); system. println (o. tostring())}}} /* * denne metode ville trykke af. til og med den besked, * /offentlige statisk tomrum writeenvelope (besked m) gør undtagelse (system. println ("det er" konvolut "); system. println (" --------------------------- "); adresse [] en; //fra, hvis (a = m. getfrom()).= null) (for int (j = 0 j < a.length; j + +) - system. println ("fra:" + [j]. tostring())} //, hvis (a = m.getrecipients (besked. recipienttype.)).= null) (for int (j = 0 j < a.length; j + +) - system. println ("til:" + [j]. tostring())} //emne, hvis (m. getsubject()!= retligt system). println ("om:" + m. getsubject())}}, du kan sætte den ser på uncommenting den erklæring, emailsession. setdebug (korrekt), udarbejde og løb, nu hvor vores klasse er klar, lad os samle over klasse.jeg har gemt den klasse fetchingemail.java til fortegnelse:, /home /manisha /javamailapiexercise,.vi har brug for et glas, javax.mail.jar, og activation.jar, i classpath.gennemføre kommando under til opgørelse af klasse (både glassene anbringes i /home /manisha /directory) fra kommando hurtig:, javac - kp /home /manisha /aktivering. glas: /home /manisha /javax.mail.jar: fetchingemail.java, nu, at klasse er udarbejdet, gennemføre under kommando til at løbe, java: - kp /home /manisha /aktivering. glas: /home /manisha /javax.mail.jar: fetchingemail, verificere output, skulle du se følgende budskab på kommando konsol: dette er det budskab, messages.length---3 --------------------------------- kuvert --------------------------- fra: xyz < xyz @ gmail. kom >: abc < abc @ gmail. kom > om: simpelt budskab ---------------------------- content-type: flere dele /alternative; grænse = 047d7b343d6ad3e4ea04e8ec6579. det er eti flere dele --------------------------- ---------------------------- content-type: tekst /plain; charset = iso-8859-1 det er almindelig tekst --------------------------- hej er et enkelt budskab snor...- angår xyz det er budskabet kuvert --------------------------- fra: xyz < xyz @ gmail. kom >: abc < abc @ gmail. kom > om: attachement ---------------------------- content-type: flere dele /blandet; grænse = 047d7b343d6a99180904e8ec6751 er flere dele --------------------------- ---------------------------- content-type: tekst /plain; charset = iso-8859-1 det er almindelig tekst --------------------------- hej, jeg har en tilknytning. venligst... angår xyz ---------------------------- content-type: anvendelse /oktet stream navn = sample_attachement, det er bare en indgående strøm --------------------------- forelægge deres tutorials, hvidbøger og artikler i vores tutorials fortegnelse.det er en manuduktion database, hvor vi holder alle tutorials deles af internettet ef til fordel for andre.det er det budskab, kuvert --------------------------- fra: xyz < xyz @ gmail. kom >: abc < abc @ gmail. kom > om: overensstemmelse image ---------------------------- content-type: flere dele /forbundne; grænse = f46d04182582be803504e8ece94b er flere dele --------------------------- ---------------------------- content-type: tekst /plain; charset = iso-8859-1 denne er almindelig tekst --------------------------- hej, jeg har et billede, billede: i overensstemmelse med [3] - angår udsalg i overensstemmelse med billede ---------------------------- content-type: image /men heller ikke dér er menneskene sikre; navn = "javamail mini - logo. men heller ikke dér er menneskene sikre" indhold typeimage /men heller ikke dér er menneskene sikre; navn = "javamail mini - logo. men heller ikke dér er menneskene sikre", så du kan se, er der tre e - mails i vores postkasse.først en enkelt post med beskeden "hej er et enkelt budskab snor...".den anden post er et tillæg.indholdet af tillæg er også udgivet som anført ovenfor.den tredje post er i overensstemmelse med billede.
javamail api - nydelig e - mails
Previous:javamail api - tjekker e - mails
Next Page:javamail api - autentificering