PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /opt/cpanel/ea-ruby24/root/usr/share/ri/system/Net/IMAP
Viewing File: /opt/cpanel/ea-ruby24/root/usr/share/ri/system/Net/IMAP/cdesc-IMAP.ri
U:RDoc::NormalClass[iI" IMAP:ETI"Net::IMAP;TI" Object;To:RDoc::Markup::Document: @parts[o;;[0o:RDoc::Markup::Paragraph;[I"INet::IMAP implements Internet Message Access Protocol (IMAP) client ;TI"9functionality. The protocol is described in [IMAP].;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI"IMAP Overview;T@o; ;[I"AAn IMAP client connects to a server, and then authenticates ;TI">itself using either #authenticate() or #login(). Having ;TI"8authenticated itself, there is a range of commands ;TI">available to it. Most work with mailboxes, which may be ;TI">arranged in an hierarchical namespace, and each of which ;TI"Acontains zero or more messages. How this is implemented on ;TI"Bthe server is implementation-dependent; on a UNIX server, it ;TI"?will frequently be implemented as files in mailbox format ;TI"'within a hierarchy of directories.;T@o; ;[ I"?To work on the messages within a mailbox, the client must ;TI"?first select that mailbox, using either #select() or (for ;TI"Eread-only access) #examine(). Once the client has successfully ;TI"?selected a mailbox, they enter _selected_ state, and that ;TI"?mailbox becomes the _current_ mailbox, on which mail-item ;TI")related commands implicitly operate.;T@o; ;[I">Messages have two sorts of identifiers: message sequence ;TI"numbers and UIDs.;T@o; ;[ I"?Message sequence numbers number messages within a mailbox ;TI"@from 1 up to the number of items in the mailbox. If a new ;TI">message arrives during a session, it receives a sequence ;TI"?number equal to the new size of the mailbox. If messages ;TI"Bare expunged from the mailbox, remaining messages have their ;TI"7sequence numbers "shuffled down" to fill the gaps.;T@o; ;[ I"@UIDs, on the other hand, are permanently guaranteed not to ;TI"?identify another message within the same mailbox, even if ;TI"<the existing message is deleted. UIDs are required to ;TI"?be assigned in ascending (but not necessarily sequential) ;TI"Border within a mailbox; this means that if a non-IMAP client ;TI"=rearranges the order of mailitems within a mailbox, the ;TI"=UIDs have to be reassigned. An IMAP client thus cannot ;TI"rearrange message orders.;T@S; ; i; I"Examples of Usage;T@S; ; i; I"JList sender and subject of all recent messages in the default mailbox;T@o:RDoc::Markup::Verbatim;[ I".imap = Net::IMAP.new('mail.example.com') ;TI"=imap.authenticate('LOGIN', 'joe_user', 'joes_password') ;TI"imap.examine('INBOX') ;TI"2imap.search(["RECENT"]).each do |message_id| ;TI"I envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"] ;TI"> puts "#{envelope.from[0].name}: \t#{envelope.subject}" ;TI" end ;T: @format0S; ; i; I"QMove all messages from April 2003 from "Mail/sent-mail" to "Mail/sent-apr03";T@o;;[I".imap = Net::IMAP.new('mail.example.com') ;TI"=imap.authenticate('LOGIN', 'joe_user', 'joes_password') ;TI"#imap.select('Mail/sent-mail') ;TI"-if not imap.list('Mail/', 'sent-apr03') ;TI"& imap.create('Mail/sent-apr03') ;TI" end ;TI"Ximap.search(["BEFORE", "30-Apr-2003", "SINCE", "1-Apr-2003"]).each do |message_id| ;TI"0 imap.copy(message_id, "Mail/sent-apr03") ;TI"4 imap.store(message_id, "+FLAGS", [:Deleted]) ;TI" end ;TI"imap.expunge ;T;0S; ; i; I"Thread Safety;T@o; ;[I"8Net::IMAP supports concurrent threads. For example,;T@o;;[ I"3imap = Net::IMAP.new("imap.foo.net", "imap2") ;TI"6imap.authenticate("cram-md5", "bar", "password") ;TI"imap.select("inbox") ;TI">fetch_thread = Thread.start { imap.fetch(1..-1, "UID") } ;TI"4search_result = imap.search(["BODY", "hello"]) ;TI"'fetch_result = fetch_thread.value ;TI"imap.disconnect ;T;0o; ;[I"OThis script invokes the FETCH command and the SEARCH command concurrently.;T@S; ; i; I" Errors;T@o; ;[I"LAn IMAP server can send three different types of responses to indicate ;TI" failure:;T@o:RDoc::Markup::List: @type: NOTE: @items[o:RDoc::Markup::ListItem: @label[I"NO;T;[o; ;[I"Ethe attempted command could not be successfully completed. For ;TI"Hinstance, the username/password used for logging in are incorrect; ;TI".the selected mailbox does not exist; etc.;T@o;;[I"BAD;T;[o; ;[ I">the request from the client does not follow the server's ;TI"Cunderstanding of the IMAP protocol. This includes attempting ;TI"Dcommands from the wrong client state; for instance, attempting ;TI"Cto perform a SEARCH command without having SELECTed a current ;TI"5mailbox. It can also signal an internal server ;TI"1failure (such as a disk crash) has occurred.;T@o;;[I"BYE;T;[o; ;[ I"Athe server is saying goodbye. This can be part of a normal ;TI"Blogout sequence, and can be used as part of a login sequence ;TI"@to indicate that the server is (for some reason) unwilling ;TI"Eto accept your connection. As a response to any other command, ;TI"Cit indicates either that the server is shutting down, or that ;TI"Fthe server is timing out the client connection due to inactivity.;T@o; ;[ I">These three error response are represented by the errors ;TI"BNet::IMAP::NoResponseError, Net::IMAP::BadResponseError, and ;TI"ANet::IMAP::ByeResponseError, all of which are subclasses of ;TI"FNet::IMAP::ResponseError. Essentially, all methods that involve ;TI"Gsending a request to the server can generate one of these errors. ;TI"BOnly the most pertinent instances have been documented below.;T@o; ;[ I"HBecause the IMAP class uses Sockets for communication, its methods ;TI"Dare also susceptible to the various errors that can occur when ;TI"?working with sockets. These are generally represented as ;TI"EErrno errors. For instance, any method that involves sending a ;TI"Erequest to the server and/or receiving a response from it could ;TI"Hraise an Errno::EPIPE error if the network connection unexpectedly ;TI"Jgoes down. See the socket(7), ip(7), tcp(7), socket(2), connect(2), ;TI"and associated man pages.;T@o; ;[ I"GFinally, a Net::IMAP::DataFormatError is thrown if low-level data ;TI"Jis found to be in an incorrect format (for instance, when converting ;TI"Ebetween UTF-8 and UTF-16), and Net::IMAP::ResponseParseError is ;TI"2thrown if a server response is non-parseable.;T@S; ; i; I"References;T@o;;: LABEL;[o;;[I" [IMAP];T;[o;;: UALPHA;[o;;0;[o; ;[I"ACrispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1",;To; ;[I"BRFC 2060, December 1996. (Note: since obsoleted by RFC 3501);T@o;;[I"[LANGUAGE-TAGS];T;[o; ;[I"5Alvestrand, H., "Tags for the Identification of ;TI"&Languages", RFC 1766, March 1995.;T@o;;[I" [MD5];T;[o; ;[I"AMyers, J., and M. Rose, "The Content-MD5 Header Field", RFC ;TI"1864, October 1995.;T@o;;[I"[MIME-IMB];T;[o; ;[I"@Freed, N., and N. Borenstein, "MIME (Multipurpose Internet ;TI"HMail Extensions) Part One: Format of Internet Message Bodies", RFC ;TI"2045, November 1996.;T@o;;[I"[RFC-822];T;[o; ;[I"ACrocker, D., "Standard for the Format of ARPA Internet Text ;TI"EMessages", STD 11, RFC 822, University of Delaware, August 1982.;T@o;;[I"[RFC-2087];T;[o; ;[I"@Myers, J., "IMAP4 QUOTA extension", RFC 2087, January 1997.;T@o;;[I"[RFC-2086];T;[o; ;[I">Myers, J., "IMAP4 ACL extension", RFC 2086, January 1997.;T@o;;[I"[RFC-2195];T;[o; ;[I"NKlensin, J., Catoe, R., and Krumviede, P., "IMAP/POP AUTHorize Extension ;TI">for Simple Challenge/Response", RFC 2195, September 1997.;T@o;;[I"[SORT-THREAD-EXT];T;[o; ;[I"FCrispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - SORT and THREAD ;TI"4Extensions", draft-ietf-imapext-sort, May 2003.;T@o;;[I" [OSSL];T;[o; ;[I"http://www.openssl.org;T@o;;[I" [RSSL];T;[o; ;[I"-http://savannah.gnu.org/projects/rubypki;T@o;;[I" [UTF7];T;[o; ;[I"OGoldsmith, D. and Davis, M., "UTF-7: A Mail-Safe Transformation Format of ;TI""Unicode", RFC 2152, May 1997.;T: @fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[ [ I"client_thread;TI"RW;T: publicFI"lib/net/imap.rb;T[ I" greeting;TI"R;T;F@[ I"response_handlers;TI"R;T;F@[ I"responses;TI"R;T;F@[U:RDoc::Constant[iI" SEEN;FI"Net::IMAP::SEEN;T00o;;[o; ;[I"-Flag indicating a message has been seen.;T;@;0@@cRDoc::NormalClass0U;[iI" ANSWERED;FI"Net::IMAP::ANSWERED;T00o;;[o; ;[I"1Flag indicating a message has been answered.;T;@;0@@@'0U;[iI" FLAGGED;FI"Net::IMAP::FLAGGED;T00o;;[o; ;[I"FFlag indicating a message has been flagged for special or urgent ;TI"attention.;T;@;0@@@'0U;[iI" DELETED;FI"Net::IMAP::DELETED;T00o;;[o; ;[I"CFlag indicating a message has been marked for deletion. This ;TI"7will occur when the mailbox is closed or expunged.;T;@;0@@@'0U;[iI" DRAFT;FI"Net::IMAP::DRAFT;T00o;;[o; ;[I"KFlag indicating a message is only a draft or work-in-progress version.;T;@;0@@@'0U;[iI" RECENT;FI"Net::IMAP::RECENT;T00o;;[o; ;[I"EFlag indicating that the message is "recent," meaning that this ;TI"Hsession is the first session in which the client has been notified ;TI"of this message.;T;@;0@@@'0U;[iI"NOINFERIORS;FI"Net::IMAP::NOINFERIORS;T00o;;[o; ;[I"@Flag indicating that a mailbox context name cannot contain ;TI"children.;T;@;0@@@'0U;[iI" NOSELECT;FI"Net::IMAP::NOSELECT;T00o;;[o; ;[I"4Flag indicating that a mailbox is not selected.;T;@;0@@@'0U;[iI" MARKED;FI"Net::IMAP::MARKED;T00o;;[o; ;[I"EFlag indicating that a mailbox has been marked "interesting" by ;TI"Cthe server; this commonly indicates that the mailbox contains ;TI"new messages.;T;@;0@@@'0U;[iI" UNMARKED;FI"Net::IMAP::UNMARKED;T00o;;[o; ;[I"EFlag indicating that the mailbox does not contains new messages.;T;@;0@@@'0U;[iI"DATE_MONTH;FI"Net::IMAP::DATE_MONTH;T00o;;[;@;0@@@'0U;[iI"ContinuationRequest;FI"#Net::IMAP::ContinuationRequest;T00o;;[ o; ;[I"MNet::IMAP::ContinuationRequest represents command continuation requests.;T@o; ;[ I"KThe command continuation request response is indicated by a "+" token ;TI"Kinstead of a tag. This form of response indicates that the server is ;TI"Iready to accept the continuation of a command from the client. The ;TI"2remainder of this response is a line of text.;T@o;;[I"8continue_req ::= "+" SPACE (resp_text / base64) ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" data;T;[o; ;[I"0Returns the data (Net::IMAP::ResponseText).;T@o;;[I" raw_data;T;[o; ;[I"!Returns the raw data string.;T;@;0@@@'0U;[iI"UntaggedResponse;FI" Net::IMAP::UntaggedResponse;T00o;;[ o; ;[I"?Net::IMAP::UntaggedResponse represents untagged responses.;T@o; ;[I"GData transmitted by the server to the client and status responses ;TI"Ithat do not indicate command completion are prefixed with the token ;TI","*", and are called untagged responses.;T@o;;[I"Fresponse_data ::= "*" SPACE (resp_cond_state / resp_cond_bye / ;TI"H mailbox_data / message_data / capability_data) ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" name;T;[o; ;[I";Returns the name, such as "FLAGS", "LIST", or "FETCH".;T@o;;[I" data;T;[o; ;[I"8Returns the data such as an array of flag symbols, ;TI"+a ((<Net::IMAP::MailboxList>)) object.;T@o;;[I" raw_data;T;[o; ;[I"!Returns the raw data string.;T;@;0@@@'0U;[iI"TaggedResponse;FI"Net::IMAP::TaggedResponse;T00o;;[ o; ;[I";Net::IMAP::TaggedResponse represents tagged responses.;T@o; ;[I"DThe server completion result response indicates the success or ;TI"Ffailure of the operation. It is tagged with the same tag as the ;TI".client command which began the operation.;T@o;;[ I"8response_tagged ::= tag SPACE resp_cond_state CRLF ;TI" ;TI"6tag ::= 1*<any ATOM_CHAR except "+"> ;TI" ;TI"?resp_cond_state ::= ("OK" / "NO" / "BAD") SPACE resp_text ;T;0S; ; i ; I" Fields:;T@o;;;;[ o;;[I"tag;T;[o; ;[I"Returns the tag.;T@o;;[I" name;T;[o; ;[I"3Returns the name, one of "OK", "NO", or "BAD".;T@o;;[I" data;T;[o; ;[I"9Returns the data. See ((<Net::IMAP::ResponseText>)).;T@o;;[I" raw_data;T;[o; ;[I"!Returns the raw data string.;T;@;0@@@'0U;[iI"ResponseText;FI"Net::IMAP::ResponseText;T00o;;[ o; ;[I"<Net::IMAP::ResponseText represents texts of responses. ;TI"3The text may be prefixed by the response code.;T@o;;[I"Lresp_text ::= ["[" resp_text_code "]" SPACE] (text_mime2 / text) ;TI"B ;; text SHOULD NOT begin with "[" or "=" ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" code;T;[o; ;[I"BReturns the response code. See ((<Net::IMAP::ResponseCode>)).;T@o;;[I" text;T;[o; ;[I"Returns the text.;T;@;0@@@'0U;[iI"ResponseCode;FI"Net::IMAP::ResponseCode;T00o;;[ o; ;[I"7Net::IMAP::ResponseCode represents response codes.;T@o;;[ I"-resp_text_code ::= "ALERT" / "PARSE" / ;TI"I "PERMANENTFLAGS" SPACE "(" #(flag / "\*") ")" / ;TI"D "READ-ONLY" / "READ-WRITE" / "TRYCREATE" / ;TI"9 "UIDVALIDITY" SPACE nz_number / ;TI"4 "UNSEEN" SPACE nz_number / ;TI"C atom [SPACE 1*<any TEXT_CHAR except "]">] ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" name;T;[o; ;[I"KReturns the name, such as "ALERT", "PERMANENTFLAGS", or "UIDVALIDITY".;T@o;;[I" data;T;[o; ;[I"$Returns the data, if it exists.;T;@;0@@@'0U;[iI"MailboxList;FI"Net::IMAP::MailboxList;T00o;;[ o; ;[I"ENet::IMAP::MailboxList represents contents of the LIST response.;T@o;;[I"<mailbox_list ::= "(" #("\Marked" / "\Noinferiors" / ;TI"I "\Noselect" / "\Unmarked" / flag_extension) ")" ;TI"I SPACE (<"> QUOTED_CHAR <"> / nil) SPACE mailbox ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" attr;T;[o; ;[I"BReturns the name attributes. Each name attribute is a symbol ;TI"Icapitalized by String#capitalize, such as :Noselect (not :NoSelect).;T@o;;[I" delim;T;[o; ;[I"%Returns the hierarchy delimiter.;T@o;;[I" name;T;[o; ;[I"Returns the mailbox name.;T;@;0@@@'0U;[iI"MailboxQuota;FI"Net::IMAP::MailboxQuota;T00o;;[ o; ;[ I"GNet::IMAP::MailboxQuota represents contents of GETQUOTA response. ;TI"HThis object can also be a response to GETQUOTAROOT. In the syntax ;TI"Ispecification below, the delimiter used with the "#" construct is a ;TI"single space (SPACE).;T@o;;[ I"1quota_list ::= "(" #quota_resource ")" ;TI" ;TI"8quota_resource ::= atom SPACE number SPACE number ;TI" ;TI"@quota_response ::= "QUOTA" SPACE astring SPACE quota_list ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" mailbox;T;[o; ;[I"+The mailbox with the associated quota.;T@o;;[I" usage;T;[o; ;[I"*Current storage usage of the mailbox.;T@o;;[I" quota;T;[o; ;[I"(Quota limit imposed on the mailbox.;T;@;0@@@'0U;[iI"MailboxQuotaRoot;FI" Net::IMAP::MailboxQuotaRoot;T00o;;[ o; ;[I"ENet::IMAP::MailboxQuotaRoot represents part of the GETQUOTAROOT ;TI"Fresponse. (GETQUOTAROOT can also return Net::IMAP::MailboxQuota.);T@o;;[I"Gquotaroot_response ::= "QUOTAROOT" SPACE astring *(SPACE astring) ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" mailbox;T;[o; ;[I"+The mailbox with the associated quota.;T@o;;[I"quotaroots;T;[o; ;[I":Zero or more quotaroots that affect the quota on the ;TI"specified mailbox.;T;@;0@@@'0U;[iI"MailboxACLItem;FI"Net::IMAP::MailboxACLItem;T00o;;[ o; ;[I"CNet::IMAP::MailboxACLItem represents the response from GETACL.;T@o;;[ I"Nacl_data ::= "ACL" SPACE mailbox *(SPACE identifier SPACE rights) ;TI" ;TI"!identifier ::= astring ;TI" ;TI"!rights ::= astring ;T;0S; ; i ; I" Fields:;T@o;;;;[o;;[I" user;T;[o; ;[I"7Login name that has certain rights to the mailbox ;TI"0that was specified with the getacl command.;T@o;;[I" rights;T;[o; ;[I"5The access rights the indicated user has to the ;TI" mailbox.;T;@;0@@@'0U;[iI"StatusData;FI"Net::IMAP::StatusData;T00o;;[ o; ;[I"JNet::IMAP::StatusData represents the contents of the STATUS response.;T@S; ; i ; I" Fields:;T@o;;;;[o;;[I" mailbox;T;[o; ;[I"Returns the mailbox name.;T@o;;[I" attr;T;[o; ;[I"IReturns a hash. Each key is one of "MESSAGES", "RECENT", "UIDNEXT", ;TI"5"UIDVALIDITY", "UNSEEN". Each value is a number.;T;@;0@@@'0U;[iI"FetchData;FI"Net::IMAP::FetchData;T00o;;[ o; ;[I"HNet::IMAP::FetchData represents the contents of the FETCH response.;T@S; ; i ; I" Fields:;T@o;;;;[o;;[I" seqno;T;[o; ;[I"*Returns the message sequence number. ;TI"J(Note: not the unique identifier, even for the UID command response.);T@o;;[I" attr;T;[ o; ;[I"EReturns a hash. Each key is a data item name, and each value is ;TI"its value.;T@o; ;[I" The current data items are:;T@o;;;;[o;;[I" BODY;T;[o; ;[I"4A form of BODYSTRUCTURE without extension data.;To;;[I"$BODY[<section>]<<origin_octet>>;T;[o; ;[I"DA string expressing the body contents of the specified section.;To;;[I"BODYSTRUCTURE;T;[o; ;[I"JAn object that describes the [MIME-IMB] body structure of a message. ;TI"<See Net::IMAP::BodyTypeBasic, Net::IMAP::BodyTypeText, ;TI">Net::IMAP::BodyTypeMessage, Net::IMAP::BodyTypeMultipart.;To;;[I" ENVELOPE;T;[o; ;[I">A Net::IMAP::Envelope object that describes the envelope ;TI"structure of a message.;To;;[I" FLAGS;T;[o; ;[I"IA array of flag symbols that are set for this message. Flag symbols ;TI"*are capitalized by String#capitalize.;To;;[I"INTERNALDATE;T;[o; ;[I"<A string representing the internal date of the message.;To;;[I" RFC822;T;[o; ;[I"Equivalent to BODY[].;To;;[I"RFC822.HEADER;T;[o; ;[I"%Equivalent to BODY.PEEK[HEADER].;To;;[I"RFC822.SIZE;T;[o; ;[I";A number expressing the [RFC-822] size of the message.;To;;[I"RFC822.TEXT;T;[o; ;[I"Equivalent to BODY[TEXT].;To;;[I"UID;T;[o; ;[I">A number expressing the unique identifier of the message.;T;@;0@@@'0U;[iI" Envelope;FI"Net::IMAP::Envelope;T00o;;[ o; ;[I"DNet::IMAP::Envelope represents envelope structures of messages.;T@S; ; i ; I" Fields:;T@o;;;;[o;;[I" date;T;[o; ;[I"/Returns a string that represents the date.;T@o;;[I" subject;T;[o; ;[I"2Returns a string that represents the subject.;T@o;;[I" from;T;[o; ;[I"EReturns an array of Net::IMAP::Address that represents the from.;T@o;;[I" sender;T;[o; ;[I"GReturns an array of Net::IMAP::Address that represents the sender.;T@o;;[I" reply_to;T;[o; ;[I"IReturns an array of Net::IMAP::Address that represents the reply-to.;T@o;;[I"to;T;[o; ;[I"CReturns an array of Net::IMAP::Address that represents the to.;T@o;;[I"cc;T;[o; ;[I"CReturns an array of Net::IMAP::Address that represents the cc.;T@o;;[I"bcc;T;[o; ;[I"DReturns an array of Net::IMAP::Address that represents the bcc.;T@o;;[I"in_reply_to;T;[o; ;[I"6Returns a string that represents the in-reply-to.;T@o;;[I"message_id;T;[o; ;[I"5Returns a string that represents the message-id.;T;@;0@@@'0U;[iI" Address;FI"Net::IMAP::Address;T00o;;[ o; ;[I"=Net::IMAP::Address represents electronic mail addresses.;T@S; ; i ; I" Fields:;T@o;;;;[ o;;[I" name;T;[o; ;[I"/Returns the phrase from [RFC-822] mailbox.;T@o;;[I" route;T;[o; ;[I"1Returns the route from [RFC-822] route-addr.;T@o;;[I" mailbox;T;[o; ;[I"+nil indicates end of [RFC-822] group. ;TI"?If non-nil and host is nil, returns [RFC-822] group name. ;TI"-Otherwise, returns [RFC-822] local-part.;T@o;;[I" host;T;[o; ;[I"+nil indicates [RFC-822] group syntax. ;TI".Otherwise, returns [RFC-822] domain name.;T;@;0@@@'0U;[iI"ContentDisposition;FI""Net::IMAP::ContentDisposition;T00o;;[ o; ;[I"INet::IMAP::ContentDisposition represents Content-Disposition fields.;T@S; ; i ; I" Fields:;T@o;;;;[o;;[I" dsp_type;T;[o; ;[I""Returns the disposition type.;T@o;;[I" param;T;[o; ;[I"JReturns a hash that represents parameters of the Content-Disposition ;TI" field.;T;@;0@@@'0U;[iI"ThreadMember;FI"Net::IMAP::ThreadMember;T00o;;[ o; ;[I"?Net::IMAP::ThreadMember represents a thread-node returned ;TI"by Net::IMAP#thread.;T@S; ; i ; I" Fields:;T@o;;;;[o;;[I" seqno;T;[o; ;[I")The sequence number of this message.;T@o;;[I" children;T;[o; ;[I":An array of Net::IMAP::ThreadMember objects for mail ;TI"3items that are children of this in the thread.;T;@;0@@@'0[[I"MonitorMixin;To;;[;@;0@[I" OpenSSL;To;;[;@;0@[I"SSL;To;;[;@;0@[[I" class;T[[;[[I"add_authenticator;F@[I" debug;F@[I" debug=;F@[I"decode_utf7;F@[I"default_imap_port;F@[I"default_imaps_port;F@[I"default_port;F@[I"default_ssl_port;F@[I"default_tls_port;F@[I"encode_utf7;F@[I"format_date;F@[I"format_datetime;F@[I"max_flag_count;F@[I"max_flag_count=;F@[I"new;T@[:protected[[: private[[I" instance;T[[;[3[I"add_response_handler;F@[I" append;F@[I"authenticate;F@[I"capability;F@[I" check;F@[I" close;F@[I" copy;F@[I" create;F@[I" delete;F@[I"disconnect;F@[I"disconnected?;F@[I" examine;F@[I" expunge;F@[I" fetch;F@[I" getacl;F@[I" getquota;F@[I"getquotaroot;F@[I" idle;F@[I"idle_done;F@[I" list;F@[I" login;F@[I" logout;F@[I" lsub;F@[I" move;F@[I" noop;F@[I"remove_response_handler;F@[I" rename;F@[I" search;F@[I" select;F@[I" setacl;F@[I" setquota;F@[I" sort;F@[I" starttls;F@[I" status;F@[I" store;F@[I"subscribe;F@[I" thread;F@[I" uid_copy;F@[I"uid_fetch;F@[I" uid_move;F@[I"uid_search;F@[I" uid_sort;F@[I"uid_store;F@[I"uid_thread;F@[I"unsubscribe;F@[I" xlist;F@[;[[;[[I"copy_internal;F@[I"create_ssl_params;F@[I"fetch_internal;F@[I"generate_tag;F@[I"get_response;F@[I"get_tagged_response;F@[I"!normalize_searching_criteria;F@[I"put_string;F@[I"receive_responses;F@[I"record_response;F@[I"search_internal;F@[I"send_command;F@[I"send_data;F@[I"send_list_data;F@[I"send_literal;F@[I"send_number_data;F@[I"send_quoted_string;F@[I"send_string_data;F@[I"send_symbol_data;F@[I"send_time_data;F@[I"sort_internal;F@[I"start_tls_session;F@[I"store_internal;F@[I"thread_internal;F@[I"validate_data;F@[[U:RDoc::Context::Section[i0o;;[;0;0[@I"Net;FcRDoc::NormalModule