E - mails,

javamail API, in het vorige hoofdstuk hebben we geleerd hoe je e - mail.Laten we nu eens kijken naar hoe de toegang tot elke e - mail gelezen, en de inhoud ervan.We schrijven een Java, fetchingemail lezen, zal de volgende soorten e - mail:,,,,, e - mail, e - mail, e - mail, bijlage, in beeld,,, met inachtneming van de fundamentele stappen in de code als volgt:,,,,,, dat de zitting voorwerp. De Oprichting van het voorwerp van opslag en in verband met de opslag. Een map.,,, voorwerpen in je brievenbus open, en de desbetreffende dossiers,,,,,,, het opzoeken van informatie. Sluit de MAP en de opslag van, respectievelijk, het creëren van een object,., Java, het creëren van Een Java - het creëren van een Java dossiers, fetchingemail, die luidt als volgt:,, pakket com.tutorialspoint; de invoer van java.io.bufferedoutputstream; de invoer van java.io.bufferedreader; de invoer van java.io.dataoutputstream; de invoer van java.io.file; de invoer van java.io.fileoutputstream; invoer;De invoer van java.io.inputstream; de invoer in java.io.inputstreamreader; de invoer van gespecificeerde formaat; de invoer van java.util.properties; de invoer van javax.mail.address; de invoer van javax.mail.folder; de invoer van javax.mail.message; de invoer van javax.mail.messagingexception; de invoer van javax.mail.multipart; de invoer van javax.mail.nosuchproviderexception; de invoer van javax.mail.part; de invoer van javax.mail.session; de invoer van javax.mail.store; de cursus (publiek fetchingemail statische leegte die (... Pop3host, koord touw. Storetype, de gebruiker, de code) {proberen (///////het creëren van eigendom = nieuwe eigenschappen (); de prestaties van prestaties. De (post. De winkel. - overeenkomst "," pop3 "); prestaties. (post pop3. De ontvangende", pop3host); ("het paard van aard.Kim. 3. Export "," 995 "); prestaties. (" e - mail pop3. Starttls. "En de" echte "); de conferentie emailsession = zitting. Getdefaultinstance (aard van emailsession); //////////////. Setdebug (echt); Het creëren van opslag van materialen en diensten voor pop3 POP = emailsession in verband met de winkel. GetStore (" POP3S "); de winkel. In verband met de (pop3host, de gebruikers, de code); ///////MAP en een map. Emailfolder = de winkel te openen. Getfolder (" werk "); (emailfolder. Open de map. Read_only); de lezer is = (nieuwe inputstreamreader (systeem.); toegang tot informatie van de MAP) ///////- en het drukken van berichten in de [...] = emailfolder.getmes nieuwsSages (); het systeem.. leegte fac ("bericht. Lengte..." + nieuws. Lengte); (int i = 0; ik < messages.length; I + +) (nieuws bericht [M] =; systeem. Leegte fac ("---------------------------------"); writepart (informatie); akkoord = De lezer. Met toevoeging (); als ("is gelijk aan de". () {nieuws. Adres (het systeem);} anders als ("opt - out" (draad). Gelijk aan) {}) ///////doorbraak, winkels en een map. Emailfolder. Het sluiten van een (pseudo); de winkel (;). Pak (nosuchproviderexception e) {}); printstacktrace (zoals de vangst (messagingexception e) {zoals printstacktrace ();} vangst (ioexception e) {} vangst (abnormale printstacktrace (E.); e) {zoals printstacktrace ();}} openbare statische leegte belangrijkste (touw [...] dringt erop) {gastheer = "pop. Gmail. COM"; ///////veranderd... Mailstoretype = "pop3 gebruikersnaam is" ABC "; de string @ gmail. COM" het wachtwoord veranderd; //////////////* * * * * * * = "; de methoden veranderen /call (gastheer, mailstoretype, gebruikersnaam en wachtwoord) /* * * * * * * *) Deze methode; het controleren van de inhoud - * * * * * * * op basis van het proces en de boodschap van de inhoud van een statische leegte writepart * /(P) (als een uitzondering (P - is de boodschap writeenvelope) /call.Writeenvelope ((-) p); het systeem.. leegte fac ("---------------------------------"); het systeem.. leegte fac ("content-type:" + blz.; ///////getcontenttype ()) of de inhoud van de tekst als (p.ismimetype ("text /plain") {systeem. Leegte fac ("het is de tekst"); het systeem.. leegte fac ("---------------------------"); het systeem.. leegte fac ((...) blz. Getcontent ()) ///////;) of de inhoud van een bijlage of als (p.ismimetype ("meerdere /*") {systeem. Uit de leegte fac (". Dit is meer dan een deel van"); systeem. Leegte fac ("---------------------------"); sommige leden = (sub) blz. Getcontent (); int = MP. Getcount (.); voor de (int i = 0; ik < tellen;Ik writepart + +) (MP. Getbodypart (i)) ///////;) of de inhoud van de informatie is een nest als (p.ismimetype ("bericht /volgens de") {systeem. Leegte fac ("het is een nest van de informatie"); het systeem.. leegte fac ("---------------------------"); writepart ((deel), blz. Getcontent ()) ///////;) of de inhoud is in beeld als (p.ismimetype ("image/jpeg") {systeem. Uit de leegte fac ('->. Image/jpeg "); het doel van getcontent = P X = ((); de lijst opgenomen lijst opgenomen) O; ///////de vereiste aantal bytes systeem. Leegte fac (x.length =" X "beschikbaar ()); en (i = (int) ((Port) X). Beschikbaar ())> 0) (int resultaten = (int)(((Port) (x). Lees Barray); als (effect = = 1) int i = 0; byte [...] Barray = nieuwe byte [X] beschikbaar (); de pauze;} F2 = nieuwe FileOutputStream ("/tmp /beeld.") (Barray schrijven; f2).;} anders als (blz. Getcontenttype (.) bevat ("foto 's") {systeem. Leegte fac ("type inhoud" + blz. Getcontenttype ()); f = nieuwe documenten (documenten "foto' s" + nieuwe () (). Gettime + "." DataOutputStream produktie = nieuwe DataOutputStream); (de nieuwe produktie - (nieuwe (f)) = (COM); com.sun.mail.util.base64decoderstream test. De zon. E - mail. Gebruik. Base64decoderstream) p. Getcontent byte [();Nieuwe buffer] = [1024]; in de bytesread; en (bytesread = te beproeven. Lezen (buffer)).= 1) {produktie. Schrijven (buffer, 0, bytesread);}} {object of o = P (O getcontent (); als een string) {systeem. Leegte fac ("het is een string"); het systeem.. leegte fac ("---------------------------"); het systeem, de leegte fac (. (...) O);} anders als (O is Port) {systeem. Uit de leegte fac (. 'het is maar een input - "); het systeem. Leegte fac (" --------------------------- "); de port is = (Port) O; = (Port) O; int C; en ((C = Read ()).= 1). (C) schrijven;} {systeem anders. Uit de leegte fac (". Dit is een onbekend type"); het systeem.. leegte fac ("---------------------------"); het systeem.. leegte fac (O. Tostring ()); * * * * * * * *}}} deze methode zal drukken en de boodschap * /openbare statische nietig writeenvelope betreft (informatie) {systeem gegooid.. leegte fac ("dit is de post"); het systeem.. leegte fac ("---------------------------"); adres []; ///////als (A. M. Getfrom ()).= nul) (voor (int J = 0; J < a.length; j) systeem. Leegte fac (":" + J. Tostring ()) ///////.} als (a m.getrecipients (nieuws. Recipienttype,).= nul) (voor (int J = 0; J < a.length; j) systeem. Leegte fac (":" + J. Tostring ()) ///////getsubject;} onderwerp als () (M.= nul) systeem. Leegte fac ("betreft:" + M. Getsubject ());}}, kun je beter verklaringen emailsession. Setdebug (echt);,, opgesteld, nu, we zijn klaar voor de klas, laten we deze soort.Ik heb fetchingemail.java catalogus: klasse, /home /de /javamailapiexercise,.We moeten de pot, javax.mail.jar, en activation.jar op pad.De tenuitvoerlegging van de beschikking stellen de volgende soorten (met inbegrip van blikken op /home /de /catalogus): van een bevel tot opgenomen - CP /home /de /geactiveerd. De tank: //de /javax.mail.jar:fetchingemail.java, die nu wordt opgesteld, de uitvoering van de volgende commando, Java CP /home /de /geactiveerd. De tank: /home /de /javax.mail.jar:fetchingemail, te controleren of de produktie, moet je de volgende boodschap: het paneel, dit is messages.length---3 --------------------------------- post ---------------------------:XYZ < XYZ gmail. COM >: ABC < ABC "gmail. COM > betreft: eenvoudige informatie --------------------------------- content-type: Meerdere /vervangen; het is 047d7b343d6ad3e4ea04e8ec6579 grens = een- automatische content-type: tekst /vlakten; charset = ISO - 8859 - 1, dit is de tekst --------------------------- hé is een eenvoudige boodschap aan de touwtjes.- dit is de post zoals ---------------------------:XYZ < XYZ gmail. COM >: ABC < ABC @ gmail. COM > betreft: bijlage --------------------------------- content-type: meerdere /gemengde; dit is de grens = 047d7b343d6a99180904e8ec6751 bestaat uit meerdere onderdelen van de automatische content-type: tekst /duidelijk; tekenset ISO - 8859 - 1, dit is de tekst --------------------------- hé ik... Een bijlage. Controleer XYZ --------------------------------- content-type:application/octet-stream; naam = sample_attachement gewoon een input - --------------------------- bij uw training, training en artikelen in het Witboek onze gids.Dit is een handleiding voor de database, we zijn hier voor de belangen van de andere partij behoudt alle delen van de handleiding.Dit is de post ---------------------------:XYZ < XYZ gmail. COM >: ABC < ABC @ gmail. COM > betreft: in beeld --------------------------------- content-type:Multipart/related; grens = f46d04182582be803504e8ece94b dat bestaat uit meerdere onderdelen van de automatische content-type: tekst /vlakte; charset = ISO - 8859 - 1, dit is de tekst --------------------------- hé ik in beeld [3 - een beeld: in beeld. Image/png XYZ --------------------------------- content-type:; naam: "javamail mini - logo. Papoea - Nieuw - Guinea" inhoud typeimage /formaat; naam: "javamail mini - logo. Papoea - Nieuw - Guinea", zoals u hier kunt zien hebben we drie E - mails.Ten eerste is het gewoon een e - mail van de post "Hallo is een eenvoudige boodschap aan de touwtjes...".E - mail met bijlage II.Inhoud van de bijlage bij de afdruk van zijn, zoals hierboven werd gezien.Het derde post met een in beeld.



Previous:
Next Page: