From 1947a6b12891963866e8c96f7f9a969088350485 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Fri, 12 Apr 2019 10:57:04 +0200 Subject: [PATCH] IMAP Collect als Testfunction integriert --- App/.vs/SERV_EMAIL/DesignTimeBuild/.dtbcache | Bin 194 -> 420 bytes App/.vs/SERV_EMAIL/v15/.suo | Bin 269824 -> 269824 bytes App/CONFIG_APP/bin/Debug/AE.Net.Mail.dll | Bin 64512 -> 0 bytes App/CONFIG_APP/bin/Debug/AE.Net.Mail.pdb | Bin 159232 -> 0 bytes App/CONFIG_APP/bin/Debug/CONFIG_APP.exe | Bin 521216 -> 521216 bytes App/CONFIG_APP/bin/Debug/CONFIG_APP.pdb | Bin 456192 -> 456192 bytes .../bin/Debug/DigitalData.EMLProfiler.dll | Bin 78848 -> 78336 bytes .../bin/Debug/DigitalData.EMLProfiler.pdb | Bin 114176 -> 112128 bytes .../bin/Debug/DigitalData.EMLProfiler.xml | 6 + App/CONFIG_APP/bin/Debug/S22.Imap.dll | Bin 0 -> 132096 bytes App/CONFIG_APP/bin/Debug/S22.Imap.xml | 7178 +++++++++++++++++ App/CONFIG_APP/frmMain.vb | 2 +- App/CONFIG_APP/obj/Debug/CONFIG_APP.exe | Bin 521216 -> 521216 bytes App/CONFIG_APP/obj/Debug/CONFIG_APP.pdb | Bin 456192 -> 456192 bytes .../CONFIG_APP.vbproj.CoreCompileInputs.cache | 2 +- .../CONFIG_APP.vbproj.FileListAbsolute.txt | 4 +- .../CONFIG_APP.vbprojAssemblyReference.cache | Bin 244720 -> 249969 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 10333 -> 10440 bytes .../bin/Debug/DigitalData.EMLProfiler.dll | Bin 78848 -> 78336 bytes .../bin/Debug/DigitalData.EMLProfiler.pdb | Bin 114176 -> 112128 bytes .../bin/Debug/DigitalData.EMLProfiler.xml | 6 + .../bin/Debug/S22.Imap.dll | Bin 0 -> 132096 bytes .../bin/Debug/S22.Imap.xml | 7178 +++++++++++++++++ App/DigitalData.EMLProfiler/clsEmail.IMAP.vb | 102 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 8426 -> 8533 bytes .../obj/Debug/DigitalData.EMLProfiler.dll | Bin 78848 -> 78336 bytes .../obj/Debug/DigitalData.EMLProfiler.pdb | Bin 114176 -> 112128 bytes ...EMLProfiler.vbproj.CoreCompileInputs.cache | 2 +- ...ta.EMLProfiler.vbproj.FileListAbsolute.txt | 6 +- ....EMLProfiler.vbprojAssemblyReference.cache | Bin 64320 -> 0 bytes .../obj/Debug/DigitalData.EMLProfiler.xml | 6 + ....log => 2019-04-11-SERV_EMAIL-Error.0.log} | 497 ++ ..._EMAIL.log => 2019-04-11-SERV_EMAIL.0.log} | 497 ++ .../Debug/Log/2019-04-12-SERV_EMAIL-Error.log | 917 +++ .../bin/Debug/Log/2019-04-12-SERV_EMAIL.log | 920 +++ App/packages/S22.Imap.3.6.0.0/.signature.p7s | Bin 0 -> 9465 bytes .../S22.Imap.3.6.0.0/S22.Imap.3.6.0.0.nupkg | Bin 0 -> 204284 bytes .../S22.Imap.3.6.0.0/lib/net35/S22.Imap.XML | 6498 +++++++++++++++ .../S22.Imap.3.6.0.0/lib/net35/S22.Imap.dll | Bin 0 -> 114688 bytes .../S22.Imap.3.6.0.0/lib/net40/S22.Imap.XML | 7178 +++++++++++++++++ .../S22.Imap.3.6.0.0/lib/net40/S22.Imap.dll | Bin 0 -> 132096 bytes 41 files changed, 30926 insertions(+), 73 deletions(-) delete mode 100644 App/CONFIG_APP/bin/Debug/AE.Net.Mail.dll delete mode 100644 App/CONFIG_APP/bin/Debug/AE.Net.Mail.pdb create mode 100644 App/CONFIG_APP/bin/Debug/S22.Imap.dll create mode 100644 App/CONFIG_APP/bin/Debug/S22.Imap.xml create mode 100644 App/DigitalData.EMLProfiler/bin/Debug/S22.Imap.dll create mode 100644 App/DigitalData.EMLProfiler/bin/Debug/S22.Imap.xml delete mode 100644 App/DigitalData.EMLProfiler/obj/Debug/DigitalData.EMLProfiler.vbprojAssemblyReference.cache rename App/SERV_EMAIL/bin/Debug/Log/{2019-04-11-SERV_EMAIL-Error.log => 2019-04-11-SERV_EMAIL-Error.0.log} (75%) rename App/SERV_EMAIL/bin/Debug/Log/{2019-04-11-SERV_EMAIL.log => 2019-04-11-SERV_EMAIL.0.log} (75%) create mode 100644 App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL-Error.log create mode 100644 App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL.log create mode 100644 App/packages/S22.Imap.3.6.0.0/.signature.p7s create mode 100644 App/packages/S22.Imap.3.6.0.0/S22.Imap.3.6.0.0.nupkg create mode 100644 App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.XML create mode 100644 App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.dll create mode 100644 App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.XML create mode 100644 App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.dll diff --git a/App/.vs/SERV_EMAIL/DesignTimeBuild/.dtbcache b/App/.vs/SERV_EMAIL/DesignTimeBuild/.dtbcache index 65e68a9f0e8b2108bbec19e4967d75835a77d206..4bc3b0c70fb1bc8ca929834387626d90340bb63c 100644 GIT binary patch delta 132 zcmX@axP*DaKGyP=XOnX#isqKMFk~{M191sMB0~;?3y=h{^cY+jd>MQg0vL)I@)^>A g@;MBtKz0mJ1u5$F7|Ixu7z)6qWHH>4uL}fW0DxN`00000 delta 10 RcmZ3&e28(vzR3$1SpXO81MvU= diff --git a/App/.vs/SERV_EMAIL/v15/.suo b/App/.vs/SERV_EMAIL/v15/.suo index 07ac5e9dc09e7ea7ea261b7ab62ab842aebb400f..8a4f5c57ed037dbdc2f01d6646ffdff92d44c229 100644 GIT binary patch delta 7529 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 diff --git a/App/CONFIG_APP/bin/Debug/AE.Net.Mail.dll b/App/CONFIG_APP/bin/Debug/AE.Net.Mail.dll deleted file mode 100644 index fc7157f1ef5261b11af59c5fddb08ec5391c9925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64512 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 KWzbs3q2k{Xk9Dg6 delta 82464 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 Wrz0*Ug|+-Fu&dDWN2osl%=`}?8e0zl diff --git a/App/CONFIG_APP/bin/Debug/CONFIG_APP.pdb b/App/CONFIG_APP/bin/Debug/CONFIG_APP.pdb index a03eba37c17f5caac53252e63d171a60140b5e76..6777e3ec8fdd3b4420e7aade0803a80d09f634c9 100644 GIT binary patch delta 42080 zcmb@vd0f@S_dm|e>!Me^D7aohSrmmtwxn_g#7fHrk`lKB!_-2BpwtwF!g9f_QID1j zxTU2gYSE$wrDeH6sksY^rX>n#rMdKdo_SrCdcQxPKYqW@gU5Z%yv{juW;=6c=Df}f z8P_~Au6b;;)VE)Fc-wH{(m=u$qAjD2Jdk5{lv@){#BtG`hQ?~?BL~$ z9lQL;3Q?}wb?_49l;S46Xxr%ZOLjBayO-y8h zcLJx0xhg#{7*EckAtMb6d@MKu@6)Sb#DqNNXisoue&=66m3WFZwCy=he z{^GRi66}X(VSty4A8u3G!L8&Um(`xqXVu@q?WFBz8jvpBRYZtQ*i>eypGpg{i}tE8 zv;}1dVR>h;Rc!;VJ#Z+HRV6<+Ty+k$i(V=wG#Jm!&~PyrBKqDTa_)$ zEY)*RNsi#4pP25kEYuiV**Z zU0SZF*B|L1EJ{4q;+>IARZ_gGDtW{vyj1_ko>NhewzEER#Zit$IVeYPytA71s7*Yg ze7g9lU60!3Q&(vI5yR7Er_ISJ*~Q5z6rJ`I*m;SC%IC2FIr@q&z}m;!S*KR961iY? z<56dIs#&$_Y!^$^Bb@{AOz5nvo2zJ3n6^oJ&g|)-vU~W;o(ynTMTicCR8_dErak>3zCC(IL25I5M#=RiMG3%#I+<@cOJ)D? zR0y0~FAsGl++Vi;S+ntu@P|khM|h}2#0IN*5m6AM;)p1Sk0uC-^oM9LK^kJ8sg;qb z+||9JxN`@DyQ}10aqX}hdXzTvHJyc1QKU#MYV!plo(YF12 zM~PCrN1^2yUjb-ymHW7d3VYliEi~fsDDm`;+{fRPGUteD-@y|B^*m~{S4n;B@{1#^ z0ua!HlcIw<+9zKAbcBaL2Ls~TtBk&OYvqwDsalKf-O<-gRvuA%LIP->zi6QD^&Ku< ziqz1jItUk)GO&e84scbQpR&s~MfCY|5c-m*Y@!Wg$a|mBlx%~Iek$>4I}}R#)2vpi z(i{YAkh%oeAPvJ1p^|5fM)YN|a8?ohhND|n_VdHDD#f*ab}?Hy_xHn-VMTFGRb2l> zsFvM;t*@rD4X}$ZRl5OxcvjI(9*~G$JPX)q4fDR_rUD1Hu>M|DHI&z*vLgq&iQj?u zQr?f*)QW-L(zRF(c>*lFNA$Ixe57c!Cq^@X) zP5i1;p%LlC5yOS%4KW(H9E2K)Xzb+F1gfNt3LW{Jnl!YXZ1tmBHMG5Gr81xQqM~rj ziPwhOMW}Kf))vpm;Vo3eur$$MeT?`1Ao6=>xLuCMq7W}=0zA?30kRo4sd%6o)OEMsmeb_927;qy&tU_+Rciv`aFBP2V1|3oPA}0M{bY6U7MtvU#fm1347dy97L5X#gZM04JFqsM& z?T?{3WOM+YoUG`G(Nt|4jS+gxF}~YjT=svFM<>%Se9_;?JSJ%5Qt7Ee##q$Z7n@*^ zR=(&Z#woWkQ^osg-k8VmWM+C{bZv~?`b||KL$_jK)OM_!_(pRpN@-4ETb&!Lw6SsG ztU5F{7*9?a{W#P{$8oOWuIe!^7*Ea{)au=FFUiKoRh^fDFb;i^G5a>sYVvntnnN>GKmMf)cEy#72NK|J4_4tYA&k~+4NBx|fI{TYbx(7%w;*-5a7nP74 zfF~!3A7dmcYl>Y&E1#4AJT(!PV`+d*Q1bwrpkiJPr0H|SGph3|b}>`Myb^$C72!I- z)~elrt<{8E=Ynu-svV-1nHqp+72#39PN;IgPH4h&*&tk&W*0Y9URp4orD@?-mlF<& z3*3Ru41d*4xKQD&On>zy>3c%`@@kOqHK8G|`O97>=-kUjbCvvBE741XwR}?N zB*OzhoBHv!NS>C@b$3@Glfrm9=G92XB!8ZNx8879dnfseN>x57isx8f74)0zkC|1I zEkv}Z2|YU5AFAd4pQ#UImPS5qxeb>s(c`4DeiQ4;?KSp->TTvLsp>IdYyHFy% zQLeZBF)M`2_}&We(wk86UQS^gM#Oi+f{yUJyD6b4$%>?nD}B-l3F zAESy1Zq4@R5#>3jm+(+2b3N3wIsUTCPnu1^9DfWC23qF&V^9Rnjlw8MnHwe7ngm4v zf369dX8S|Ndt^sJs57(CizhUPl5Bq#-v@uVD_^YYdhO^x?Eppjfv17-jWvhi)v}5MG zs}1>3bJc#8Cnmjw)h*sx=ccpyeF(u6#PK8d}lo` z8(h|hL*VaW7vv~cJZTz?FZ~f4ePVXF0KRS zg=glbxzfp7HT=L60Sy=^JE*u1Txr%o>8}=kU~@_JHYLpyt0#lpVq{x&@Pl}>8y~*0bC^y3W<>xb?w6>aYqf=>?QBC zsbR2rla=BhmewjRXExj1`nUVvxCE;wx3ptHny_U6#AWxE8IX-0TW5&rJ9clKD&!+A zXnHerXY4kA5xFCM+tY%(c+VE>>GBd~ce{yA-0qLwo3}km#Ox^EK1j+#p5)n8!bh%KIun#>T00IiBVK_&QO>$EgXq9XR;+2-s_v zU54lp&_%_3Q+ovLO)`cJsWk$I0bex&_F(}&M18(CNQ~iB?|kDglGQ`s_~8j69s=K_ z8t=SVGX&mIF5iaBk6%;+)(2r8O223xPwYwZ_W$P~*l(ASW7PZ&ZFrFE_d>0T zH+bM#zJDTSxP$}d2$-lc54=o89W3=!<##QxBxD2+gG@%Kh)vj*e9xMT;XD+u;Ai*& zZ|J*(173J$9!TYGnE?54Js2j34A!C&e=w07o~5P)(Upj9b>9(xC|;lpg@>cKC8uw5 z-{E~EL}0}fQ#3;iQ^iG?HHTx`VUTS}bu`1-WMQ%H*O^Mr>R3)Egd&Tn8es~t1o{M>{{~2C0Y8*Dd zE6&)Z(>e9YnfAg-C0uZr3;Mk;>QS@7MwE&@YnQFgsR?I!pO$dJU+q5I0?UPCXZ`T3 zqF4Us60v%icg_#bgbR+%+?jKBF-rY@t}ULRR3Ycnpt;wdZ_D}{M0(v@aUL79bJTN_ z@Kzm48grL{lns;xuFx}MOOnM-b+V)ro(UKHR9LB999I2H{qST$m@D+g&qHl1wYgnA zXDX2D&7bnQI7oS4u)|E#<$@oc2^Yd;%kyf&2zRyXf=#qk#g}2#YlV$oQyF$%Z$idg zYzGTaX<1V>{`tCU<3$_ZK&4FuXD-_1$n&OI(Y4GbMrzD|m=)v7Z1VN<+N$?OSvzdS zO3VE4WG>#9{Gq@5UJAfd=WSXPw_UQyeP;emF1NFuK5tfps!fV7R-tf4zpqfDA=r6c{xBfDA5H-{kfghr^Lao+N}8L&%7rK{l(D>*M7De-AeRE ztGQ}@#RChml&iWM#B11Sq4HM}WkQLXk7zm237k~#hC;5|MTY8o)ep~+%fos9IDWfM*p^SvhOR z`+&u2nuzNe;$>BMJs8i*>wY}8crOrkBTOt-l{Y+8)(wBLO>Mamg+Wt^=Vin_RCI+u z#)zoIinzj`2gRO>UKj+TGD`O67k3q3=?__Figk!hSBEO2Akc2VMaiA#^cpw$H-89j z%uNrq^S3yNqsz@G$Y9|u50!K?PCf;Z0hf}S{tzq%`re8|XQtnZg0K|cN|mQgg6QA< zv7BIn#lOc%pAvQb_g?6+&_AN;CFq_OPUZ@E;UE6!mdHP`6h@5H{Xe460g-=3p`Gvl z;h}Q=^hXObzU)tbw6JP;yB9YnFQb!g`^!g5_2P6JqOm6Q)@^_B@{ZPb>KZERUQ^Zi zo=vU0*Gk3T^OfyBR&U+&6zx>*eI6_pRd6p(Tu?3Vd*R8j===WSmYQ|B@T3gIR~YI2(PTq6^4PKcqhJ5x4i3!As-UQI+Rq(~Nh$i)zy z5JVcnOV@*v43Q*bKcQ70iZ*o5Kv`mIVewTWmS$OmUBpwaMFb!y*IPGWnY$|2=Yz^0+oo3RZQ!v#h*G18DXi;6{ zmqUehMY#BggcWZe=?ui%6k`>B2tv<@W;EX_8Y7--6;nkgYF!UJJ5gjk;U#8LLOn52 z#8EN7#Ze^(v&gN!@IVk)UyPBjb^+Xt*D z(>R-$B!*F`O#~pQMogeU7cohW`GT%TqCt1LAl(=T8V2yrPa8Js-b?hOh=ypqNi?J( znqU$WOcb9|CBJ>jZ+$2|Uo@iRMxeSwvl{_^hw>VMsw?@p3P0I(7ah(QPcm6uTIPzj zo=Ts&ieNc)7uSMZ-B7(byXZj~B%+@isyAnsn%~8fHb$UP;x36+BAIgC(1yvh=n`5q zner})76^Pk*Fd+%IuMsN&c_TQFAEQv)mYfvHtaTs7SD+Fu`o}j;?H&RMVGN-EMk(6 z9VG4`!Bhg0LL}!Lw&1(vz00CEB{dNt;x4UhB2qETspl@?{(i@%LWm0#*h~x*x2Uig za$MF-Ktob-bHvYZ+-AnTnVb`j2@jVqy<2I%y=5dW6k)d9FM2c z79dSBK@oQ0FDHLOLD9mUvhV`w-U4eX#JCbcy^plQ5KdVt;aC%jZYkm*s+(GZAdbpg ziedF$$>+8aP7Tx>C9qf~f?}7bWK8M|z8k&Xm<&XnjfRcqJ8o&zmw}rjrS? zSZi{yHPD?3+KV{pIa|4dktgN)VGKw6A=8lA>h=5W(N+MNijxldiA1zos6U2kcS`WD z(lIbKB%uZGFuV`tK3oOI7od7H;vq2-O}hIbAY*GK+Epy9j-@}xh5q(-MCPCM`W2rXBn4OgQM<&DCa`j z6o`?zu!h&tAh23N7T>l|}JS@8(ytW?_B)PClaqbC*r zM}^(mbdISC$md(<7Buovv`*815wCa@we+4tL0gb*$H&0V`(G58Y5LK&$IxgUsrWH; zX-AU)3wAvbcYMK>B08g+I#X_E%q5)}?U?;+UBqN4lbKzRtoOh8mUV$NL{m&xsQ+k< zGbgVrT_JG^B)S2fV5VW8i4>l^2GO!^z)q&TZd&ei#Y0|mC0loZ-)68M_3MsWylrx1 zVG*e$&WP5OJj$@rs_vpbjqM5P>3&8uHerVW0}*Dpwp6eU96tKPs84}CM1V}4OP=*G zT_pDa&s53_=Z3}xB!#EG!E~z!vRy_lJ)w%1nOH7snmGri@fzRl&m%5cMI8>A_B@lRl9s_7F{}XGc8=j-;cJ$Z<54MeU%cTkjZxqG1+-XLFPVLObzpeyNkWGlhb7UA|d6UFwsQuClyB_$)B~7ME6FL z&P%B0r%2KV{sbHG<0PGFQEw!fLgI0Z=_&l?p+W}RC?20=O^@_8DhP^g?b<7t4h%=li8FEr!Ueu%H2 z(0(A@Xo40p2r7@09pyMQ8^`Va5kE+g{Xu%d1m!TO%#4?Dyuyt84?z4L#S8$cl@bOb z^)?1IHRHE9?rp|94@A5p$D=ULHE98ZdYf@eG~&?|7!7m+r67=#=gM-@{-r^}&w>_oi34~D#UPNQ z7n{@Zwm3|auR_vWgFm)Si7cY}C2a^^{;b0A3nbCR48_Y7yl|Or4Mong@>>rRbv@+X z@3qs$-tV>31|_`)X*~bE_S!iAz4qFmqpyj0dG~wmwt)a{8?a+d>px&I^t^vHQ(VWc`8QI zekz`Z54|N*!S37ve1dm(IpK`4SjYU7eU5ylfz3@ymRFL4(!@|2JsqH- zOzKD5rXzXULH%`qBaFzy@o9ryrP4SBKJSy;4B_Xt;9$+5)!+A3<}**wf*GQnTz`D;G***q1@Ib1p)(pDhK&O|zAs(b^TROMPmhciWE>3vAsU*I%Az287F9;Fd)pg|v{ z(l@#985B)ES@0X;Pyg$%P8ja6;zXP5*bAZ6o1&F``4AhX*rBAIHS>^Je{C6}BX43B z&t#6_Vkt8VKv4V^nrk6k%V4z4!j2+O7ldwPA^Epe$=MP_!84KkTZ){CD*0v+E&PB3=HOacqMY3NG zt39v4+YN3U1^98YUnp}fl40g$M>y)7jaI~W_W^N!G(KCjkX}dB^;FM>iE#d?z>kwK zsM~Z3nFo%K9?{Nllr#_N9zCL`?HoqL9?@T>sc0Vdb+J@F4>jNXng_qzsMCBA$%+T2 zC|WpQgt5ZGcWEk_56uP*gRiLMy8v-$m;nm}Oi#3E0W{zf2Q*m)P~4geps~XiB0h;m zEQFp^l#4)aIlv!nmoCCC=$uKEwg^NwY2_kJT)q^ekgnr9VBhng=9i2(hNgz^8py75OekYK)5ki^VGt^TNd-i-zce%zFvQG9iZ`Tf79! zmeTGeVD>GAE(KL7sCuK;OTpmwA+|ZuQI12>9xO#o11XX~_Vi&*mP24Lia{P!#_4+NZPFH z^wtW|24PKZDfC?qa$8KHxyWtt_1d|mT(8P47r7yI!vfSlat-RY_&QB^*YL=nxkjuO zl(nvEJGxG^qWE>fSLWyHttbM$6Li$PUe(e;?G z-l5P97|-vJ&-;M0*^Xvyz+P?@Rc^p$YE>;bzAlUvAJE6|1O9<#&FfJ!P2v04Y`)hC zo6W?HP(Png`bKd5q*iKdp!!hq25BYVO`!OSdThe>;48C;)%!twIcP@DZ-UjOU=u2G zc#Yn0QRfe!0S?#VhMiV46?}lfd1{Th-MYslr)rT@ZMQ~>%e3-Cl=X*1TA1x&_65K!IDp^1;6dv_2xR@W^ar+M*r-(I zL0y!bwoyhMv_SS&AU)R7hOIz)Xe3MyrcI9ozHhiTDA z(8!UD>4pGrFcc;kRv169GjgZhm!Z6eZo@7poo#;ZG-I1+jd<0LXt*p|%ln`fap$)-w z;V0<92s)I{dpsa8;kx8wHp^s?wgCFcuQt-0MxZUo2klpkm?(`+yy0ojp|$~T`BeB> zdvB_mBd5UiOjI7&_;tt9`v|kK%rkzKydhL8z z*qocPBM^J=JS}MP5g1{xs6K)**OMK9^hXz}ID)>oOMQy~zN^8MQH0XC%%Bg7ur7BY zpC3)Lh5r6R_ll5h%NaDPSOkfdjC3e(m;{q#yBXBs2O!$%R8`+&DC-9(@K7rM0d|+r zT50)$3GLoLe__UASwPR#!+9Iaum9+?>}g;#n9hlMv7;t$1&*s zXa9jFsQ+jxJBH*5bf57F|HNyBzV0~i<0e*62wmP_db{$h0=UeF8kNNjV7~i)taE$&{Ebm)o}e;W*n>Vm&HEXavHmY_|wR0pNVD5*5cDhbd+(O5R{%q zC%?>E8(%V6S96eX2A^hz(AhKKJA}kpkc=arvry2}X%W9or#u8?4~HzYt}hzF+)#cN zI(k`#siTw6AB~veV3xIGg z$bz`Cl?uzGa_4$fbXr)J!d5E_vgrCeXzg*VwP%Q8+EN1ZT5(ow{Tx?{s-C5kQt0Qi zS^v_{whPF&Jj>M25f@P4a_WBpbqu227cgdnW|}HD@FHF&&NOv%@E$Imo7Gm`d6Ex`==*CR|4@ zYia#;@vYdBKmLYjAX$dAmcMe$Vxyc&Y^aK9cO~e~lK2fQARP@|v9?e6O}xPJFrQya z`2`}-(2X%S@q)ge&o8C?QVC3B#@vEbpr<{D3HSVUw?u}sJmOfLBQ#g%e_?fg*|9pm zTx)ecmA?B6t8>gtygL8wAFJ~t)vNQnSe+xao;o7#p)r0lU-Gl=@m^qdsrL4n%`Oc3 z=pc=Mfc(~#YImP??8QI@5AeaGpj7+%6fhw>L{P@xkn2;l{BLN+Q<{#Q>?wN!*5mj7 z7ER^vrF^1g=n@$EWrGV#=F1K+PL&Gjx1>bcrT2v;e*prszmVD*&hDXo4nO#E_4a0SI&oo!PWkWIf81vISI2r6HfA8&bBjzEQ;@;U-uF8({GU zJ~4v@QKljN5HO4CLwZLI*-CD|pzTXfT4X!et;SnGwx1LE(JqU$(Zxnr44J$f3kbO zu5=;8iYm{p=IKI{t*F9kW*m$FDZ*jA74=Y|oo4!f8t>xkf%6faUi}*8LPhnE_oa*4 zfVUs3dw-aau+Ve5grzrF{Y5eL!RjwZQEDB1q^*HmP9*_LPxhWMikgno!DsCVNE(POkDDiL#bp>&O4V8GEQe0&d3U@)r|87Hj zzRsk9bl4RDKog(~a$S&U5$C`z25t=@G#^z{)uH5uGEsa(#~A(%iAJC*qsT^hE2~A7 z(+E^|$=Ma~yIg>9=(IdHY_I3IqTgFmshjLhXIr5EWn2_1yNje#yfSiplI%p%-Dw%R1y=?-Q)>8v}LU7{EdQ2k|6ZS#s=~Dzzxqv9dB=7j%cd$?>;kSM>Ou<-S4MyLTU@ z^IP*+?cUp*@`B{Q{d*}b2sy>XY6ssKO`(eR&vLdKPIYEbLZ~#|duLE)s7$4bV6*}j z5e#PM-bE&OMF_wfO)&fRZZyGtLIM7o!CnZ!V6Hf(iOBn5jLBmp!4A^Oc9-An9T3bKEkxH6FLN)%W>B*#P1@$ z)jfYqF6mJBDzCXH^yq$Vamb_ngDnY z+RyQ0`IX&eCuif!!VrhIH`|TwbrLF=tM6W zZ}9gy*B5(O0KvR?8iomh}c#r@!d0JJM4X<=Eg96w?Q) zwcxh2vTHh7AD4-S?Jp-aG4~;uz8P8Tcm_3n0;B2@(7|g0Su+7$eL{m~Jt321-MiHD zo@~P>G&nxto_w8ho;v!K6Xg8TFbcpihj5P)*7 zTwR~fbU?4;&5M!-LdO4buA^~-8re3_bbFgEm zYfVC&;dSa)Jt#VnN3_H-0eUqW9LTkrL-pX&Y&yAJYxX~}NYes2aZ5`oh>>Ah^uEN4 z>oX7zmO6e}$S*8nUv6!g?>Y!&hA?G52g%NkmHt|WW^8MjUlhxO>k^6Q8+ z42yvk&w+#`V!`&7RDu_Det!MIvOSzBDRdY{*#gQOhEaw-M@} zkd5mIBpX&=kFr?A(F^G#Ffq+zbQD@%pZOr~=j9pEKmY#oa)Gm;{CSCz>QYvcbohKF zNf_Caq_5ohp*FH3&_?zo=#`Ys+Q^3u%I(5xIAH12Itsj^!g;(occ_`7Hh>M=?y4s z<#6tpEd3;HF@1)jCu0u67fVjbK0_I%&(P7yDE2NYpNz4*tEPx=n%46-O`oAR5N=2SUVEFm!sov_42umkM`>OW0RlDT=NpX`}ws6?&<{SQCc_;eH@kEW!fh3GAZk96tqlU+C+RB*y%cqb~J4yrVYoPoDAe$!OgLCuif){nP4gs{|F$Aj+9 zfDnGnG^Tq{SOysFrT!U^hrJ9ow{9CF(9i#0on{whNOcQgc@C_)GogbQBve9o!0spX=Ea)1H<}4_V1sr%Roe5R)o{my)j=yilXK{Q7 z<;?`;mnO*dEr1S~@mP-kWX6|q{2~>;1=1TP$op+5kGq>q%Sa->K>p{yEqlqfTTEli zH2~{riH4PHw04aRnT0I@(d=2^vx^SRlEdm9XOU++xOU3vJsTN8zGlmh#FzQ4=g8AS zX62cgG|dKX3H8WE;#|r^AoKD}i*`vi7DT@}UgGEBrPFo?hF{VgFY)v7@-bf6@Le(= zW!}48TVCGxT_By=%()l}r}JWn-cb@uc!#zEb9&Yi=}qxVq=jZJmT_&oe{|AjyMLdN zErBiXo^*2Z{*kV)z$k6CO2WCFe3oFq1yke_*~zV^BWVXd^oTi5gS}|o5@~l^wSGx6Um(bzqc+cAZ$wceQDy}1JPyzX? zz;$IcSKheRTMbS-O@>`fjoFno=99E}HF7*nhgPF9r_D54Xj9)PKJ(U1=j805Aa+y)T!E=NaiqZ*P<>5eIxNcFr2KXA?|1 zNt-}Fn&FWIz$h%Id_F)Pa0)kz)sDJ;05jT$AD~#N(rA%H%kvdaQeZ+*`guiH)E{yBz?*uXEU~LKc6+_ zk9(-DCc!BO9B{bPQw zt#W{Yahh(C|-uE-Mh5=Q4R2y14JmvKCmTnb<|nwy_lAlEue-)VIHDZ|r^JE$}I?Qev> z(@-Asz5$vx8eig8e2ejY1!ryO_os{|^!2yW&20-4ftb6F6Td*EOM$!nExPNN1J?#P z_!|P(Y(IAOZ7J_*qpeE@vblmE>~KzPDfBzoB5&`9F`2~j4GU!NYsAs6?~yK^j(raW70;9o7w8jxjXsog0LWyTc>u^{oo3oo z27E?V3QHZnKG1hsew%|B0`=Oab5(>>bLEBuCpm{?7}m&(lm}HD!lc$KosW-G*kLqY zER8sfw#6|o1Tr~Y+nYW)B7KFN(@tBM=1@YhV~1XZUG01AYFU`D$_K8Ng{cS@rrqtd zg=shA92TZxY#7c{WiiIyc{53E3)2s%)l$m)0T!mE?Q1MdKVmXo(_UMc5d7Q1bQHVW zseanRG?ikG|6^Nz6c(nHu;N$WoB(Bg94*OLCs58Yq}=4EEliutl*iE!+v%a>DBgBW z$vg7n*pd4L)$GW9DDQ-0NB$G`-o1nLj=Xm@bOl3~1nC|55{CZgj{F32E(+2+@*+(^ zNoTP?#?=Zm3lX|~0#$wxq@I7@6CMQ2Lgj3VrHYeiAXiE_?Jz#MQs!yilb-_E&jjV3I`5#PAbBJ6)<6heK@Ln!Ca z`14r5zDK*y!*sQqdXykIpTD~Vs~iZAX)TStfc{*QpMF8&;swYEo5ad4qG?z9(Sy$T zs5ZI`J-vzMl|k~i=NFerT)yBFq|eAx#Luv)^$ya9gc^j?vh{l`d zGxH{te&l@z_`%fW4)B8+k84HvGL%WOVF?@FI*5i8dLI*RmC+3sqV%H`e?gnLm$2cj zwaa2CTvx1WF>^S%YvLLsT&i&sRKaU}XxUvT%bOZqZG^)$DY4{x4R@vI8+8t*6k+^p(5D(NmBZ$cj}6$&ybE_I3c1RO&1M{(!+=2mqQZ3N;bAN>CM=R0}1j&Y19B z3_oMSyBmOCr)LeMzRn;o>Ib{BHpGp6So+fm!?3wMchg*|@TljbVSUV@>uNEk2}ScP zhL@pknkHCns^*JU99C*qXQaRQdrkU(TdDgw8_Cl958C5wcpBb+)Z$V-_8qJu>VQ@L z?f;q8v^qwd0eMwyovWy0gc(in!UnmBx<;b$h~uSzUk39FtaA}o1J=2Q*aTpT-Br)< z*MbJ?+$Z%780R2D4U8E^vr>m~?qCB@uxPMx&edl4iw^l+Y{o!?C4juT;+x*OM#vZ< zKoj}xRwE-0{oUWyAnssVFkH4=>Spvq_w{!(*qdw-0;3S986!Yn;f4&(KoX7|Z%JW| zk-_!+5seLH5h}m3xp7gVt@4kzGzM72A!_G|ZaZY|FL~2a?>BUgFMfye$9o$2LdJ&a zi5aIReGK!{kGEkrMu*j!m`7_|t%=#&h?j4N>52Jm#yKWtA0rWpu+qn1eaP(oVLNXF zF^Z?WHb#Jqf23w&ZfhjUq(}6`jNsoBv#(*7k3Xs>=Eo_fy;0jttC+1W$WqY*LGrbj#5{+g{~DviD9s-^?~BwE^FB>MNr9N_^u&w^-S$V7Z$|2g`KBf?C+3IH zK+cp9V3=QpoGCK^gLg#-fLobho|s#i;64EWKgM7$1fZNN`}WckGi>hw{ug8Uu3j~h zVwJJHBSia83Je67Kh1PSK^WUSI-jYTmv22@lM)}~ot~*4+yT@i$cTZT&FCP*ONKtd z)3Ua=SC35W;e(7$Zr%IWu&8Bl_YO9)#T42Si~_*j245c`X0dt^swxh!H*sW$F_8CY zA;t_Gt#S)Ruql60s4-PQnp`?zd?e+^bTXb6=*^X3z>cBTj{urV2^>tzU;l{F#E{J+ z%^CSOoMtZCv-+X@^Jz;zG}OCP zi9mjkP7m0fHKsob_X$nuZ=~WvC|>Pb2Y~oYe&_(>rn8)XLOb%zH?JY&dwVD;7IMGo zg!bgwWWoz#jWoIMgm&fGXM&QS1()-*{8_L+&!7e3F2y{Dx4S06!spPw%}(-dzwNPd zNf?6qR9*F(2ti933|jbg0nS&(P{Cki`@~7wQ*PMlx4}kZ968g8w98Jb>xK*Uh%=hV zgp>Lfob&N6v@;IvKZy>-p$#XQ#I8e7tZeEs1kAG;+V44~_pif`DVtYIjo^%SidhH6!Bk%qqLhi;F6;AJtbA9Z{lxaFL@DGhnvXo5K4x**kuy!ifb+W5R-lRHmo zN16sBQSI-UA?{jYdWS>SNboA7c5AcK zW(})v|DlbbMJF#xbTB;wGTGs@c>&N-tRogWj*fL8p9F~SLW)el{PFl{T{5^|!CNQ+ zoQG9$uDS?_tfRnrnC7f6WTNh)Fs;3M8k(MDYYO=RpLAXyWi-SQU~o3SdZbV$!8in* zg$|4|hRF9$<7Oay8Giv)ea|cZOiq z{=@;a>_rr!8|A%-_U=Y!Uj*YJ)OrkBW5^jbKlydqI|c;Fbe2KMXY|3%kg?!5ALtZM z8ao#JINoJC-2xm3o?OO(biGL$KMtf{pW!28v}_zm5x?H;QRSW5hkRcG`6=r0639=P z0kw?UHXN&8;{ImdBMEcRu<8=d8IVnL!2-^N81JFwl{3ph?4oqgHphEsS9=A#*E z|0x&s*=r5?Y=#>pCKIqsj!AO;pPU?eM-V=ezW{?LZPK3taO}i(8>IY7Ui|$TpUh&DG zvQlIUsMaNester*8p8~rRGEdrfJ0tIDWF`OuYu|)$Gg#epdkYQ!Pa6@<-7*We3Pn-mQowQHYTkZxiIi@5LooWM8{rh2 zfgXO8TxJ+;*mT>JPN!o8UB;bvW4vfWK%Iv4!gRxp!ZHnS>X;6du!6a#Wg0E%K|r16 zbP-rwBMQ!xlmQz3CE?JEbzCT7225FrZ&VR}I|GDwHDSdJtb{FN&HKG5I|Bx`-WiyR zyx#F)B3iqHwda(2x59>og)tZ_$vX>LEvhQ92*T%wky)sB z6!Z3iJT1z?QfDB!%|wb@Z==0-z07JByhR+%o{3==XBLB-0sd{{-h|!=_U^(T^M$<&hh5-IS<7R``9}Mz>S+;Pt z5ll%7u|U2z8%;Z(QszM4%zsHezs8fS3h@1Nj8mNeu zG{*LVzhbcIyr!pJ-C`XnYdSf1Aqu&=7TBydz-^Zw_8tr}u;`~~Qu5O>j z5a)gGK#oT)Hkwg)1(k4X36$no$a%eO4ra}%axq9kmV$VN(xb?EvC&qRr||X}Cl>lH z#>h#aaR4HiX9js@aLf$um_h3$80`r(WC;dg0*@fvbx13hpjKlhnW zE0!1*ko>;H@N%2wAmNp12Td}9NeY%4)|R{6otz#AY)>sVfz@oBgLHJtQgAt6i%al7 zxVXC2pJEn*bKtuXa3u~WdDa2uvV~PK<&p;yu&>oh^k@~s0Jm4B)^tUr1}_IS5`D&r zlmp8wqZpfim3Z^`H9fN22$o+@RSnmB^8W>(?B&phKRU=MFBJOlz;a0Jk5kF>ZNn2M zweK&-oCtr$cQL~jQyv1ctT0-U>wD1PeK;1&v22blLyWgL?}4c4N&vi902RlvM2@ZC z*hY?(aO@h#d{-eBvJ$be982TaW{!Qzu?mjeLrlhvbvX8}LLP}!x)PF?#qsg9WfjUc zg(^9CBma@r*pbTeaoRbvX)Y__{2sZ+O(EvzhpsikEv$^5|Il#H&wk%1GDPqE5g!`A z8sfG5z8_(|Da!L_Z!>PXps~{TfZ>n%g?o$_3_0$q-VBb@{~yP3tm7-Ah0MCDH-m7< z*~{Yc6*hx8SM_Ev$0XIaXk>hiIqP#;{xyX7b4|+LO#Gip=n7Es*j0T?#NfTyhWtwD zdqMUqli|$LFLYrqwo^`2`VBI`E^)GK^$Web53p7Y^P?;Kz#RXG32_9PEaDquG8_ay zV^Dtvg`+EdzQx-plOX?#G)l2{QJB;3K-jppVGsI}q%pgzr$W zy(U4_HU%HIrG@{T_Pj7jX#87X3;Mha014+aWM||5yBD4|f+n zXl=y=fdTLIKJyEQ()`NxBW#a!LMavF@!kMesr`5ET5tBB2?lT z$~}t3YD6)tj}vHpF+dYcs$0dNnnf-@05prK%yx_a!DuDdUaM)Yk{>|#8Qo#J&p2r~ ze8Urv4+1V4p+D1b&q6cYm4E;s#|1EnM^Oz+IZZ!`&a+VEalMyrN(Ya^!sk&=4$wM)5q3&^L(&?#L^guVqN;y5@(mz%eMOg;`QE=$qLMq<&t1u;3HT%XZc zhburrFvalY921y^FkZz_<2h)ffo&5>P)|TsQK#n3wJU%INvbE%M0?9rv zH?ILXaRSLcuS$k%#!jLvC(3zm=VAf zCe^lczALX9EYluk)TT|IE)uA4yriU~h!W zZ)x2xhT}5FUkr=9O4_*>fp+fw1!do`Ogr~(pxj>}+|j>+c8)bKbSyVU!dSVx+~|a$CL!#3N%G1v z^Cb4h>yW@J|4a?n+Gq;70SUgfOkY??V{d@!)<3DT`LJ~bQ#ma+FVOI>fYNbVu5WPA zMbzi5w^e||w%oix;~JCLYLV!J)`6AANNHbA^D7OU0a>n3&uRwx_KfboVG-fG++2~E zHx%l#){}n&FW*|!`mD9(CKOQ!wZ4g!NJuTDzBS_@BfHb3n^*yMN2yQ3V|&^y!1~jY zTY&Xnt}je^&AdXeREydi2lS{ z({={e;UP^u3i$(@N8G)O>oRbCc0C$yzE@qDp)V19MBZO+`U2nk13BDZ&S#o2wdlJ8 zGyX(IZQiAK|1>-i>Jm;dUD~FYPQbly>uQa-4YPFjcWd3CQC~zay@S+GzH8p15poCI z@q+K#?I{r$m_X9+U?%NGxp$0kYx7l(RxS<4uHE#WXDaqOBPwY+%g?V zUM=(9FuC>}x=Zd^(%{RRA}p!U5a#)8X>k@CNYu3q#O1LubuCdC_6TsmFXBfyb0s&780C5{Kc=ze$GVt5+PPc2WZ@n?H?CN3r6hNYoyy!TO=+1s zj(=M`EUl=(-QtU#!zCuY%cM9i=wXRN`%dw&cp(t2Eb#jDK<3}mNe`6#dj>f)aK~1b zM0T!k1^Dq=@G^#9puVjw!R&tL33{!y*0r|q=L;|@|F^mhhxUfAhvNtB)irh@M5W3k~H&zhvr z&gN|z1wIyh4k&QkU&Lhi4p5zgdCx@~%Sf0VSGGa99(ClB;<$53Yv6uuEp}_K0>{9r zb$?M?uiFc>G0D3n2lM41#P za2`N|wvOocTYKHyYx{ivec=i3yVqKK?cwaR&(1k}=<0KlgiF_U)Tr-DT65)NmCto@ zx7?#xdUo^w%-xpM-DkOSH;Pkj+8lP&_^KO`)~oIuAg?#s}LAK4!lomFSsY1E%Zg0nPQVmpmyXH$X& ztf$1|0;ke1WXZDOY(FJ>&y z(HoZp+%6e@4$+>Ij2v#?=bY?fDbc_WTWwE``W#C4gS?qTZ48tVxu^ziv+jBWfo4;; z#qwNoslF%e<0nU_ZgXo=hV{X9iTt6D-#c2e?f>0JOXWFq(#yA7a{t{)OXE58(oe^< z|7R~P*Pcr^T_+9a(o`Gd#JT>Y$oI8{=lSUo`i_#m^wc{f>wLQ6Z~D@O>{qTca-C@U z`G}4g->m#QV^8)BzY2${z;! zzi&RPPODG5_r{N+r^~(pbcPG$!~p-($dTHQ2l{+Sq_MeeH@+H-`|BhlkJvX!0icb> z?PRnmk4}r$;sS$*5TLb~Mgz1D(+njrm4L4M*ff-^mu#~gH~e9KW{YS=Y>FOeQ}jl1 zbJWIGcGv!FW%plY`$&HrFI(Ko?w9^!Wp_ng7FjO*JXa& z@QSgMZl7@5yx!G)PS1+`DOwcqqF(6r^?JA&4SOX?{FLsy+uNirZ^-Sp-FC~wKGzSO zFn-LR?aa8&q+7x7)p+LbD4~Tax4p?ltkj*P z;1U0<49&Hm}26S=CwZv`)3O4aSG;K7tFbxZwJ-p4hqAjp=Y$NaQY+y&PLh__1Trr|Nay$;;< zyNP}U$(F)Oms+XQ&ubjnuJ!PO8^%%|^`)lSa=22{o>zHginL$ivv71?;Z z+4GY7w3pkLXoluxjbQ;1nZWx;^H~?8-tdYewk}$f&D@KCaZ@*dOt&^&Jj$@I$#~JGPta3RRSmlx~FmO3|v?`HaJ(6luNUDYj|YGwB)EoOrl>)vgJgztEY^|U6%3;#u_~E zxYN0UpX-W8R4aIzeE4`G$E}ye)02M7TzP-F%sCvt%;j_DGWAqjwamZp%%o*F8RB}_ z2)%bCpPAeK9>3kRMNx114d@nw^jzMt&wrfG{pCGM_)c&MI0dW#?*=Qu;+T9ExRh|< zUBztabT7#p#_vLSCK|pwdY8ak@tefI!Hx$UD{&m%D1PbjWz}*&HLD6IbT?i#s15XS zFdJM3UIj8uWRKr*S{K)cM_eC|)b&3u9{kCei+_Np5nchd0at?b-P+Mk=Mmx6fO_k$ z0j~ttg4csu?gDT<;Yr|g;AHT5P|LqA>P?&eKM*y%58QxaF}M+24ZZ+A6VpEjzDRgC zxD7l2ZU+y7b>Lx8{k#wEAp8UPGT59-*a@}=Ro@xhMVQkiz1`7P-t+;GJqQMZ>^)cS z-#2ZHdoo2_FNzx~ntD^h&#RbX>FouzQucxR1#mw&1k^P2)7}BXJbk=_;9cMwpkD0P zz`ud7gB9Q*um)898t~1iCuv1zb9M+{s8U!%TA^5gpf$JxWYO_-ZZNM+ZLpUPh?gPB`~38RGZ1Sr+Jf5bQb28X z?3ME$%`TO&Ucod_n_UM`FJL;T&8|II0cL>O>{PGKuA`Lf^DpGBw*|?cOV|T>r?kq6y#&}H~)*@ug z)8FqejU1{y?|^^xx-gydDo$XWp`)gz#LkP2k(>N+ zsM7WL`$8_gKJ1;UW23mg0)14PzeQ4dec1I<9S6nLH)y6zt)rcjysCXTB-8IYWrOeEVpBh*tC>QsKU0TZY+G}eH>e+UJW-sHYAhqIt}NZ|~U(e+x%Qa6+A zwvi1piFKZXfE6!Zty2Uo-{Foong)H%(dd`&$i|sm2Nt_DX|tfs%~=mAx|c**=E8_X z-3P33@$!xKKB~oZiQXiQ*s;8&;6BWsK#^iLEOGJJwO%vEM<0~Dd-xj=vUJERiOO3u z!?qy{fOup%&Ku(f)Vk5rvHQZbXjj94eRU{D<9+17`%ZJ}DEl%|4yDoezjF}+cGPLo zvYig)a9Va!+I>HzWD6w<;^NMQ<~yq2@*g1E>8C`zUZ%VhdYaMSLsQJ|FH)*@B?;xD z(3MUZj$q@W%K~Y6f5>6s5-Fw--P=lsVp9D@+X#OrWfhb8YvYs`f`u3b=kW+?Vahz{ zYev)BHAUgo_hGfW1W9wJ4D+FPhcc)*Y#VThHziWvbOZUbFwE;1;j*~Y?uPa<`UI4B zwrcmh)T!O8NYYJtEUpZ^Of8YKTPeA-xnSSQ2p}kCP(l-%jRQ6VQN;#>w`GIs7o4f( zP<^ljO7l|FDUw`*lGV0N%H>d6m)fm?-oo-U+U)e%p&ziER-2ishCyj&O6NmqW=c6$ zjq)gE{cEE-Zrxk2j#GAp($v&$2=p|wV-?gKE=4p)rq1C~a5|bdT#DvkG>R3a$Rwc*qT0+t_XGgA-! zpfoe3#nAp{$41EyV)rEynwcttA+DJzZ4YIN0W@;Hl&amONN8qA!mpvfI7wR0<-WFP8iWx6lP2uR=X`o zXmKdR-O#-!$)HkN9NX$?i$l!wKmYF-wjJeKoO;QJ(&Cg(gVN&Eu2kyOZW$65qZHT32!$yQf^xRItK}>Y9F3An6v614JNJgx`lfKw=E zG)|HqBKED)69_oso9wD0SP#uN8jjN}J82%Ym(g3Grx`7RrZ`Hk)~Jrw#+9{Y^TXK@ z8MYwggDf+(=JTMrS@IUpJno7G?~yDacyzqe2LB!(@yeK_M<(Xn#6gczBjlZ_Su2IO z!`OO>1pdk-!8@E$coe$7IcLbQtyQE9oz7azHwU^|!B0|JhA&;m&)GK6NIxmWj#sfI z3Zvw(#u|;jwdvUsMHP3;357Y5|1kQ6P9J%g_$($>$x}!&L?ywi(B?+ph*LH$tHUmO z>Qs5_VX9sCdG8_l3$Y&r-QXwdW zdFb=5yrG<=3Z#a3lDRnarM{f!e2!!-#?b(SOAJOCj5c7K5;eKgV1~hi28#@q8LTtd zWU$lVpuu|vUl{yg&`k0xaDBQ#roq_;Omk7)FbBcNVy$c~Lr?%svEtk*b=U;=A^FUd zdNNuUqh-)Evs=S!ZhUQ!5kRn~B;wsAho?l^ETA6Txq#-HyS-8k#y+Ht)m7N-lDveN zPZ@meAh=+@UI>?&yP&O%-VZ%r@++z47o1%?9-bZy0=J z@RftWV_ruK7b$3wpzRV=Cw{~X_(0u62SAf8+6ZWhC3~afJw`?*At^TH2`IM#c?vr5 zeLBtT21t$CU5tcDEhxkOk3_sfQQ5eJ?p7y3#C&&!#u7gV+S;NImC`CoH^X3ygCKlV zE6b&%QxIC2->aZBQ1#0Ptw=S|Y9#{*Zd>9y>uPH2UMWQ5vW>gQkI8}0&hwXgW zS56qVQ_^Zwob}{ppb0_X-doS#|F%*m}~He0dpr+xYmF(+cfmD!2yGJ4VYY~4!_4C z*A$0AixsZDDAnElxKNr*AIW&dcK5VOmA?cPs#DIsChDIAqa1h-2l)Ivu*aJ`+jM54y zmkG+uzq*xV^_*JQU{v{AC=Eub9+Z5l*>NP$D!doU2*91cO*>SZ-#_OXiuxKSm8!f0 z3GG3ZPbcWNaT;OEuGQF0dA=zZK{1qWXBAQEHo9AJHU1i;2s<8sE?WkSN)j!zL~&`$Hf`HcjF z+jhpIaQdQ3UWiMAFQBYn#a|HYire*-O0^pqmjrseVa#qpT*@(V&h9Xh6m#+ow1d&M zyPKpeoGhxv->(vq8%&}v3N0poMLL`H3CT{Ad=i%gkv(zm9ig!_`zEBLpuFhN>Zy>1 zr`=^b3IqpGq)Fq`C>q5{lIpcYDv5Tgmt#*eyc?7dU1=glKQ+%#r4Ph{RTg|97ChvF z!M})?D~&IN?WFWs66@dK!kX9wlN2Q+YfQ2=A^FB6Nw36X4U)p=NcGBBT)xPJ3(klI zD=fG^7GzN)#=)nF=eR+az}bz8;86f@kA)(Y<>uL5||YC>rduYR%dg_tYO6^E5${H{z)X$(hb~@Hn)i z(SJgD4WTK%DMf1ceL}+DkSfX9AGf*KBx4hjyG^n%A*nIRo`mEBllTYXewcx<3D5l! zl948vn2^jg$ZqAJOfowm+2AD6S6-7rbzFFMyU{4kUT=yL^n<3k z*uj-?DTArQYWHwl66{FWy_b;c`u8&|b`Pj!Bha<$F`q0?=VFq%c2f5e9(9d*iepOEY{$tMX(L?YX<>3BFEtFK8$B_y0$r8W;BNoOAqJU_<%AJo() zDN)7iD0u#$2u?lX9tlb_p}c!mst3~WpwO7SeAq!0Jzpj!5hsamJ0f$oQ_pPjsRnJ{ zjT>~6+?SDDlaNd_$)gF$I+MJgkbLJPoQq*@e<_vfs{EwQXk@KW<4+Xg_E(xYUEvaBWG{vPF`G-X6vD=Z595%^MaY@kjW34fl z-*cfBGx$|PIv$!Xkp?aeeGmS4TAxt2&!S+p8;amlC|e__jVE;tDBFJ$m*kpcL_%_d zNv0+w^GvcTA=&IC(RWyrQ_rQ~1RmV#;x!k{k;+#{rQp+eDt~nnmduzzodu7xP>p#0 zXH8j+UhtV2Tp>lT;&7q`gZtwa!86cUVRoC*C$Tub6znC{^rKp3uC)D3GBP2VXp)%; z39oZB*0Tx8L6dwQmjp@2wCdGm&>0%@K1A-?M}1!-H3}T;qEN`UM%>+xSqo{{M~sK! zluMJfADdbksPK}5fD^NDUbCO8^8ud?Q5-k;QMMBb&iGti?Lr@9#VO;!i~}f#IZ4(5 zlq2JmnSO;RncP>RFwH?Q3w<|<91Pn8`n_wd99CtioH!7k6}h^$`@!%~(C$c|)z_+a mUdik!r@VXjMfXlR@aAQ2b-Adv{aazZAGxje=#j8ZoBst!KIEC|60Ypnw}7$d=@8f>^1!QIxntVQQj6P_8JHn&yU%dfWqd za|u$zN)6s^mK&6s<`TG+=8}}B0*E}`4){x_?;U4QYN8=I~j5n_H!xQY%MXGuS} zd+PSxLBoakOf?Jk6Q5C2l>ZQJK zVHZy^!Gh39B1vV2hU1H%Dtp;O9SL=aiRx--YkV2j=c1L`Y!mK_LPb3_EUcd(RUFou zzd(9~2Z;jJHarmD;t)TTm}pb8!yCv0KdEa^yrBLLZzj+FM7=VFw~CIiiL)HZ%vDB& zL*D&K&5Z~XcNw}M)T&Zn9H`nvI)p>TMTX;>9ob2Qs$%#p{ z=(bi>_P9e1{+VhSps&-iju;G#lbKERX*t|F;b&*j3*L3DtG;V#7ZY^k+`(35i*m?$ zKhv252J#nW6Z1H-Dm&XiWkq?)_kO0)Zt^8{E6O2?l>Lc7d@GYpe8M4r_*qSOB3S&O zBb6jr#axw?=%dP>u-X4`CR)$M-_G?uS7kr zS3w+QcX3&Q9}{2ES=iX#A!?}N_96IYxA#&J8N*dd2ZwBQiAIk!8mo;RY@!h`e#+xl zE4sqz4!v3Q!#Z|mS>N`nx0>BC2;v>u(MOeZ43ZH)slC^|mFJT|5aW(d#zK0t@tvp% z$^a#m2GXXTSU7ujN{8HW_!Po-HI09C5X7Z4+D9eB7pmq&$3mn^qhldTNY-0L!~{W1 zm>>hbd1_@$I*UN(SZ?%QoxD|Q=LA{vqRz(o&OyRoxyPoX!n0#zQO!NOKnh}mP_gsj zYuY6U)!MU5tSCe{7L~^M>wsR-_^79XP%nd?iWQBv=RNh7ly4kX0l~iF4Jw!|yeP51 z;h|ExI^_JrS{cmOU{%yLLvB5+6~R^$lG-iE`qkk|=~{!v-QLYEzS2muce&G?Ac)%C zZUg1H!>WJxU~$eFHN-=0>F$uX4%5dkqA!$nw~1RCMgCtHo@DE5^iavqvZBd+mK9A} zZ!eXKNCyCGt}X!9T*J@{sO$x!Hho$uTvc?BfoPzWJp%EqjB%xhLkv-_Jp=J&SV@AX zO6Zx4#@hqf#0PY?UJkKHHR~0KZzbKhUdd?C(|{FdnEwU43hnJ>-Ct7K#n++KLweiA ze&GGkALsWDvH#@6R`td5q0cM-KF~iUs$HL8$b?SdaSt^cKzk{jX#wfj+oz7OtI|Hq zrlL=Xy+x^+$bYlRigSq0YH3^uzNLN4O1T19U*-B-AifMM3TD;N^SLJW*Z#pH`?--~ zhPn#c8Je~Px#;k`L#$LUJRgFunSS2$A@*JW68CAE_m*&15%CV|At#z5H=qv2JnyQ8 z$J@jqW@;+j74Z&vu2g*(A12P3Nu?oMG&5W@RE=M#W554z{MD=%nxVN1UI@px{Dn?v z=0-1u;~V#)LZdcJ@KSeQbih~sLZIr<*CF}???rv2sHVugi|CY0ypes-}z)3e%M(a#}^zomBl zAgU$(Y@%4l($!4a{S2>$2cUkU>$teog$g?5WK`8|k^M)?-@a9=`Ui;Lm?xEV5>|Dk zze7}4t^=Cj8#B;LMGwdjP1H_=o2cx;feQvYWXJDRuX1nqTVT7z(^SnJLF=co!fh&L zU;~)|g4Qpn9|ty*qrX$_&U!2VK{hd(9x;05O9jqYX;;8&GV6 zZ1y$ZJtAXNku9EA(SsfGqwmz*bKdT4>Or~U_ZUj{5%_jO6BiE-#22inWWV8wq08!i z93*|b%nG=q8ufpXdLJ;{)xseT`S*8f+mHb9HzNCye{IY(?hWx0^;KF@JvHwMH}@Ne zw#8wVuD*&%Wcg1@475ibc{FcH3C8p4N}|Ks-H9SSruik=MRygM)QNj|QV6~=iF!o- zuL0~-l1)xHLUXf3|HX$5tLpKR!>uUC2932 zYMW~vl`%X)Y*z<|hvUmJ`#c4O)MA8(C{-OtgyYM}gIX;c@v6LdR8@O5OkC8!KKJZu z(5qhPey_h8h_4vsMMcvvbNlAiSJ2TTM+V{xph_JXgbBpbksxGRnjwaRyQ3UpoqB9^AijWc z%E@ZiXouLXN&(!h2|dOH$sdlXc4GoCbz&-y8K62f#vvRZ?mQf5(K<BUR@O9!2vCjELin2+s4@`lqUIpn1>{`7 zEHOaEy%vHm}L3$RXEjv8~Uq&BEcZhB3D#F`z^oWcs@r5eL2*2*7_s+mkZHTm^d<(==_*gllL=)tW55fo=Gu}s?hi{Q`pAd_Y zG;Tty++U(+HTe?~Fd8z4rW1qEA$m?shpZP*jFo*$HG%)61Xf}bebmB9K^UI)OiG99 ziOfWHOoE)u1fCvD_EDC}oQKfKoQJf@v9kZSIu9iPzo7{{rvyRYcbpOn&7M6a78+eA zQ8pz3YMD92X9YnQXJ*Ah0~cq-YW0h$mw$EwRBCY+@{k>b-0aCt7ays}H)G`?s9zA| zyqN&?#srqPf}q(#-%5u<%6kj-aD>9jplij{zB1>CuF#CBLC`EKr^Z63luwP7Cy(fC zMo$ZpH%*GE)3_?OPUEU*G(FZ0T^?&G;SxZlXQ6Jhrw5{cZ<-#9PJ9*L?JDx^SXp{h z_3DDGyd8v&8TmGv1iotO-rKS0e=##+W&2~AAa_O(`d7>hGzomE%6(=m`cvG@Sh>z5 z$e$U6e!~PeX6k<9`%Y(3p#hWL36izH*KCU334+)sy@Mjp3WC6g&WeSYr_G9$<4uAR zfO9l~=jfWLz_%>SXhuM0}Vjp}5>F@Z(P2gX-c%m4l>QfVZI})Y|i*0H+d59%y zJVN6TTB}1l$q%rjG!p5=ELkIFZojbPT_J{TpSJ8>L;n4k3RvaKPOWvm)aRbGs+3g@ z!=s*{!#8DpmAlG@1#;5680|M&#gppbs*&Px)%M*$e3Rbw6P;A{yJJMWssJQj(?#T3 zY2PhrquIA*yjqg$zQ01<12w(Nlns9vM z)_N^i8zcf%^R{Z<0~lqzO27solUG!?&~^1mV2(_Q8E*LFSTc#AHD_a z{b<)ci5#x?5KmFk-^ftLdRFpt);GbI@hQE5KegV2X0Yeh`ec!%k~Y;LO&YcjuuU4)b(2GU4wxUl*_&p`V}7dEd%ohBPNt+gxF@{l zA-Yp(AJ{N*-m}@e`I`#W7fWUXg4CUJ=tB{4(xMK$mnf#H(9M2wsz2(~SCy={sd1Y< zL{Bq*{$`tfLF20UR>bf5Q2Z;KQ^aA_Z;PKi-1tHKEt{;A__(xIGC8%yW^dB$e`6A^ zp4r-rrD^omUXYtTTc8JwWbm9*dN2~Vl) z{UfO)*y5%tzV^bDj}hD*`Z7XAZ^9Dg8wUm{hI5y|3V`AJ{h{%a_WR+Ry+56sWHe;M z<3N-Q@2kZm@jx=yJ4;L%yy@_6^WL6#Fj1g(ix0(eJxEOCxRM>8RLpm4teaf`tVc$R0A{D_J$rC zgd089*N9c|rycUQ(`xi-UaM6`+I^arYDZ58;+u5VjH80iBx9a1=S(2JNoSplx>IKy zqK*3FOcQ)TsUm*NfFfV_V-r^AAkq`F>pwc==ri=>CYW)8%j$5uft2l@MIO*o!^={| zJL*JPOMH{g2CArXhghq6mIvYs!UaP-vG(&&`Qo(bPay%hg8bMj~V7=RMV^!PV8q zb2fxZe?rxw`c9p5h$mFuSx@D5zAk(WXY*yB^PZxQvY&fVeR95;cm=To@nx+4g&=71 zZWluE<#3hVGXH|jzWg7lv)!`pPtB|aPK>$6W4mR-Pd3aRH4iqO{N#{d{%G1Rr^0p_ z?X+Ef35rK-mmWXcM7hpf`p?a*H!B%GuwCu~{-$QkYmO^FI}Cf7US-u&4KMm&E|zvl zH;;H-*@vMXE+)&?WojTOIN2g za}=mMK{2HL!p4WROaE9_I4(QHY881ogulN8s;LMUsg(#9>3o!3&Jy1PUzhwxV1kr& z#l}Gp?zrNRf0U_1SAxYKn$qKH78Zr`uZG}Tam}=RoWII?^B!QqfIendos;cO-HvaZVcGYHKRa}zUT_(rLFf5xH#Vs6Hwp6~tXqjGNsp@tcM z{$`N;zD(7+)fpAZfRtN7(pIkS|LLvrZv~;|;%;Gf3}4LlhPSI5SROaK>nBThsBNLX zYQ;Lt`R+PY)4QH($z7Z3a<_phx|<+&srvW)@XfmiS-KY_zER`v1>&0r=rC1$Z;bWW zPO~Rcqc2>&RPXzCR57U8LNH8a-%q!meL%3()l+%=?SP$Gv%AO?-Ts~^ukBRVLK~}# zKwV>$+vAwrpp&}{ThvIrCGYH{2}eZZMf-#ebMGqN;huE*2qvFdqpZ|N2#2ipAvQ|9 zY2_i;>NHCTyQoHKQgBAoUUY)b2+?2GVY+&3e)AV~oFp_~iiyIP+zrtZPK?3vD9I3G zW$=fzYO`oecMW79xDr+Ry%<6>EW#mLQJzJF!*NEcu!ymk$^uxArnrjw@K>@sfjEw8 zh|`NAtBEF}mrA_A(W!Ls2k|VWR!3Ifp!wC2&Kp!*U33!D zNLUe?X7Zj+aaIv1rc>l8@fgjuiaPM;Sy3c6YUl=*ZWQB&B2A?vH!((pQ7MPQsDhoh z$zDVF&^W8GQJWfKpzK;mgKrt$lwSiS?#eNBd#2Fo8X{dhPjNND@p%o`hId*~6V?CB zE}DGXs7D8C3L66I{_udsHsNsf{{#|3sqoU)>Y_Sf8w1LjvTI@L0DC9$G{S}&i==X! z2!T_HAV(+8kh@5c9Y3LKF{sYn?ugpaNrA1TmnpKd=u6SHP(7%6=SI91#lZfd3NCgXZ{6L=NKxuAiUr-`d9<)b+jXX z(zr&Z6Y~>ld`2B%vrpP%b|4xy*w*A9AexA5N3!cz#bi$Wh0y~Q__`Iv|m$Jp_qQ;&%tan|(v z*Mt9>=}(5A``g@lqBD9=X+1=#L&Y2=!V6@+ray!I!KQx~`&&`D7f3ssplAoU^!kv( z`Ur2DiU8z#s{{Bqr~;1Lv=6z&!ey#TI$D?d)E5a5&rS6~5Jp$)ivez33r&KWtOF_8 z8yudeIo{$E@l0ViAMvw*_(V1ou`==#y;z`}hDZ@YGI=kg_6PzHgL@6d6tsV)FPy`4 zj~x%n^n(*e&|a}3u`tG8oO6}#GgQD`Uv`|DkWvC5t4#x7qJb`?E&-we6$OX{d1Hq1 zzURwM*q{JP3}l@%Q%$%RfV#>HMDq@#Vn_q3EHVgvvkoN%X<&8`$G5CT4{`Jn2U>6i>w-HelUnaf<+8Pg+Q)5 zQ_m1kLhYE`SB9Xc_9A-=sIy*9#@Od^P-Y9H*q=@_qJL$Ik)g=oE3_#T9q^S(7Jr0- z#cMPo418a!WRds07v}mRQA{RmIJbs_f}8d^lpfn8Q{+1{tJH8v1k~_5WRK(`SE=F2 z5m3X6nXVpPk3fH0>?EPcNa(E9v^5fmuCC19y-29xZ8K>vRs-(w=mDqjz(5}!b$pP6Zn2rHfd(V5Cz>JcHRm2g;pnQ3-uYV?(>7Y%8JI{2lM zYJMw}<xb z4oZ!V{{U6Fq&*0FQ9*lf>tzyPeo3|t01sktAob{gTn{pt^8Nv&L!1%~DfK18N~=1E z8USD%asm#S01QS=s3;%N-~ZF7L7^Q*i0n3teBGedQ#*oTH!5H&4DXHV+@!dP9(1E4 zk{wO%PohwxO#+==?;hLC7v7_4`!q}6#pN`v*S-=u$r*g6#jo7&-|YO z$xJ87|1zHKeg@;2J6(MSI;eGFQdbOj(7QCbo9G2)YwwN`>0&qN`8w>6<(6VlYIlHw zP5%z|w=(^=*x#8NJquDOMJCO97NGv7|8w@gV*0H;;D`M70O@2Cl*1q>F^+bG{m@qI zcl3mRHO2G<={6IT%b<@<|9SR*Y5IeD!T&AA^#bV`6O_-OUrhfE_Wx=6+w_KCQc`b_ z)?&wpiWuZ=`YnCn51`OKK%)c0k-grb`+mTeFlrFp?jznuZ`u?GiqUj64g>0pS^qVl zJ_kBgIOjRhSBQ0m7oHb^7Sy170wRP{930txp*fc3CtzTG7GmBI{IQlvX8F{CjD83l zti*5tVrXLeBhVWG&eM(lNNaFm!vUhYk6iW*+ehHgledikN_hjKxbqvfj=-V8ftFx8 z@`gy1rQfh^gq_K+1yI&lkX`s`aMj+35ZY5JYSP`YVjw1L{l;O`s!pX7pj)<# zLw{>PUyMUPX+ZV~=)Kxh;uw$7v<+pB2fPiF>V+j87!TGx_tUj+G2q`Hk6Ck1j-35l{Vun0VWfQ@A$A0Xed%GWZ z#ZFx{b31wmHJSvLUsKW~u>9I&Sq9U@>~IhFaUi;mADcMNQ|3e{i>OTSxwD^7hXvp; z8)seb#M25OgeUFHglh4mipePI^-Pf=B53GjfFdX|8x@j28PU5R&^z)QVL%xO14<;g zcjp*-OP(4`5e>vpDxD-=qY` z%XNGHfk&$V1`%fFPS+7retAG|%U{I&wrfqZ9=>G8o#e>_`dk^!&PHMD=B6g7!^|XG~~KaGvZC(N#YQ7oDR?-vmmplqpGePr1jH9u(Z)iRW+7V9A+`549DBo&j3WFvS`lT>LbUG>=@W6(W;UXIUllE7 zHlqD;NL@?!bx+1gjqCVvv_CjnYt<*CD@Du!iS4jHA4e&35Z`8=$I6)ly%l^|ZzEI5 z90+)@iO}p~dsDu-Rb}Wy}ZB*R*mzhO;|Nz<02}JDpwt(uowOz;6-yZzn9r71ki=O4!h*rV9}pou}7A@fr$U zybxpo2Q``hB9QexsL2*C0<#p_vk1&qQsiP#6@sb@O1&5i4jp9s5FKGZ1n>T0l+>UY z0$HO&nk<*Vpbdk3=sf#hB=;pK=_rbW!@|JK@|OUEk&vlwu)l~JE(O*1CTP-9@c#pH z*WTho#Y=V9OTGt-xe+ zDt)~|3`2*HTnS9TuPW?0U$rmTMp-LGSHt*K(3BmrKAm4Fq7lzrA4ac21_I1L;nY&|F)&&|J$4&9!K~?yGsB2`R{1 z2esa39dbW#wO(irWRPBHuEX?hI7O~U7avZIHfUhxdbD!}RjkMADWeh?vjM;?+PMM1 zEX|Q8ssFv2EZ%_C@Gk_8q|&r|ApX{Dx{fL=l!H(>>_#LS-V zQp41sGJhJp2_2z#5k!D^}C`ZGcsnQTWi@1g9yEYoWvY;A*AP_eHpS6b7k{ z_`zK6Vx{@-Lm_)Hrac^lVBSkHtYQ)`k-TZoPte`{^RYyl#7iV^nvyRX!e6;M8YtJV z;WbfXv7TZI(54e8sQ?YVpGrBjpDNhN)CM~^p&vkvU0CywweEsW)4B5b01MjdYiMpK ztg(i}DkrWpwsQWk9c4ei)@ifbj$!QlS{6*oe_vP^?*Q`B2J+q^+QHSmL6>6!g_a@P z5j!BW6EC)1fb)tS+FR+$4&fp1Y~bZkFkCi{J+unixD(Y?jf!`o_f*@cu66gVwA>B+ z5b4z0Nd0SpY0ihpVm&%oh@tle5OCZJp)C3`NE`72<&ur`PHoT@6@qpNBgV)R8+rW` zAWoQcTX%^-tM{hL(ejdOAQ>MCyY$|qjd>kDLXyolnG2wCAEDgMH~s%$%xjo|QLP8Y zry7_8KJ{MJMB|?}y}KV{$`tP;`CryROFj`1P#UzVE((196O1Nv3OnxRl~DK96oxHy z%Ge{KU^|Z73x)If9_Ugi1om6^!k@u@Y&@8t90tuc{YTip#PmBpg?}x@dP+SodKRS&z@8tuA-l9i=8;rM7!(y=VqNHLhL)Mf1KcL>fhOX5| zepCM=qTMd6;mQ#%H7RYk#gh*H2a1xV)EfjIpNU+^Vc`d#i5ijxaPJoa$J;lUYP`Xh zNUYjMb7_*u0f>%XbFBRmYmUCoK+~@ffS{Nd4nRV5py@sYywUc&G+Db3*==5UaG&Vw z$_p_Z*P%9tgw6GrOk|Hw;XEs7;bGVsn;yapd*5M5oTn11t||((()Gh=k5W~>pe_w8 z0j5-Aq6c|WP6-6;++=#M1TuM!!3&FT$z#b5$bimpG5V!i`)-6`4_M#sNH(sik{#I(@E{`fdf z!s1{eB_2Ts@}u!bp!oc%2voMYZ8AiJP{*Ut@gY?>f|?&d=Z_*{Yr4nC)(;`I?p}Kg z$XLq$9u?wy!L_cRgD*PE5{yk`WGi^8iV}f zY9)&0wDlxb3W+C?%yJXYMy-V>5$!$3wS-fC67~Bk>*;VF>P;u<6zq}VbovxHhm$ys znRL-T8?`u%^<+HFM;J~4J0ne{Jd&=ShEg7#Wh&*=Ge~kYM|5tXtUQA@9Z&Wj!En5W zn_DOYe}vS$m2Ily**`)py_KykQ$;|yE}jaJWXlvLL04VfsN|%uEG`4l;;Cxx8EMKNlyy6$l|u(_pZc&4ww*=FpG`G&aP(Q^_cQ8w7K4t3 z_MAoEv`jO1M?%jb@YFO@|E8V;-BXl#4s_G$Dx;=5=?0yL{{3nicX8OM(=K7eE4uD# zqs`}`guj|bd+!^8bm6@4lE$`Fld13_q+oCFw>vF{&dQ|04FkRnr? zFRVc94Ya2MB-=^+hS(5{S{|6TC;cW~W>J{SfpQK&6l&QS^E(1){J9(`=KvbHRvpIN zfLNfBeFq5d!nHRlTe7l{~?%h?>ZcKc>zJqB#h8~`C?|WpaqB7}_f0i%01K^)JIT)n8=|v$2TkD*4c9M$U&`AypX@@QFfwbEq9oRxV%Aj3lRP#hmLsuDS|Lz|dVYAP2 zSJ_NnI!pg?l>y=sN5Vl9j7T2U!0SF2>@oWLhHEv7u8yg6k808esLmDd2G1oF)Q1*U zlb-ha=N_qH!et8VhFcNORvp~JX}%T2VC2ctZgr+K2{_s199?5hTdlG>?W&Gcx-f-l z=$=b4>C$Jh6^RV_9~1ExuQUH}IEdH@CSc))dU(fV!)pR;FXJK&CAvwQechvc^kv4& zQSMaYhU|QDPMZSvVWkiR0~IEVE}vk;0NWCZs{ytpCR_7brM1>@5S2M?UzgA6_VKET z_7T*vCa49Kx}$w&*OU&c&v~a9#r)~&NkuiK2h>k#O-bT$Y^@{zk5i-vh>L8};o66Z zDZ*Vk=ntE$EBY{HC>`>UZq&(LCPC5Uxg!piTkgo*G_u!%AWnNgRgF?>$z-vDjxu}& ziQ1t0m||)p^zlPfxwS!6O0FJ&mvZ`@tiM*~(|*gc4Va~mD}ZV?4M-T0j@n?=Q3dYx!r@E56j2wEQ)z2mfKv7KVBLrB z)&w?5%;oh#*5#aL7VQnP*BJ!!kT;mUL#MsL>=TOf0ab}f zmG6U`iSwrIssX5csAmJ@|8bfRNA@|dM~mx>!Gx*-cttgYe;N&H2&xs72S%8I`(c9}yi%zc4p%%Ihy4A4S*NKA zll^6pkPhb{0M{G@8l#!Qor6Gl)gYiJa7P-;fk;FT1MMFf1{@EDfhIDVIheyhQ{=dP zs`%*?2k_wF1=Y0dIAPiYZ3B@@+ zeFh#Lx)p}r{sJXMO7raR3zQux)9HFRDg?)<7|bVshne6N5dcp%!F=#{vI*`Q3Gh+| z`@sQ&Sz@y$BLBzHK{xA!MOT%#sjhh>y{kUgPC3B3m%nH#K|UDoMiqw9gbqB84uO`( z@nMQ?DWl|^o_uJSa$2H2(75dPh=RWq{%zicIZ+Zvh-Xm66A)fB6wVMA_Gu*}1P`9A zr(`=Qu`8iEX&H3um^GN{DgPupLy!avIf6rgLrLOgi0dCnurW^ciAW*k1NP z6_vLKhhg!$XGC{^piYk0XNhSl0w^}{KD3Yhn+q#C$d<0gH@93=;Hrk&t-Y?HzMw%V zozWsEZ_%NfIEIW18pcUby}zoVc#;lwmLrXO2)2K>nRb87ZOGCa3+eTv3aBVJNwHA7 zk4SG9usn8~?%c*jy^>rT4hw-wU)Lb(Q!?2&d)q~g$!m^-LzS_yr^+`r$n$CRrcds; zsPNUH+8wgGAs^(OB?JTeOFGP+-DHu5@LL^CRDo*O6JiO+4$`a z1$UJJ?1J2v#kecPxU*Z87IRJ6Kn^u^7Xlu*YSv z7UAI#AiC8ZB8-aZ=@el<%I?V`{49hr(gd>z<9r%}SM&h5s|jWi?rMU&_5}E42J=Qg zC}+vnYv?N-uTw#H8S?0Lj*GAs@f7Y~u5-|VUJ%D76xv(*$tE>b*n7cznL`bKFG%rC zjtGycsC+C4CkdQ4L0XbeAK4E=`+6Tl9p#~;R^H>__;jleCM^GX?0;gAp=E8%*7{Tw zC!@4zeTsm`a}WX+EDq#wzz-7f>9+cX9?v7I#cTJ3*jIPJ})ym7S*orc#!{KiM4y-y}@#xs~A-{Cs|T; znYdY7;^927#HV0F)HFppk9?&_SmINlKAzd4E%DD#-Y85n`iw%F{kCXJJZ2uF(8@5m zj6%m6N|B>6RT)Z2qcsrAgs~!xZZj~g64-4FfSFW02Gf|#N}!(CH&2x>i zveOrHd>8;*ybg3JJ@vY50!LR|*6T7up4~!!zAhU>e=tn%qfgOBb#1Vk{RU>Ix4E>G zG8XOo`5Va7Z8Q3HywE~-nZUaB0YTJQ5WwO-!JI&fY(4|~7)=-}>%l*NEOMXChV^)| zkCTCN)K>GbQJ--bOR%ZQ(ReL0g^$Gcr6c2z=>>Fk9BOERiRBsoo2FIgO$x1nrTLQa zAlgC&B5HmliAl)&NE3lIk!eX!m;_Ziw!l0HdukF2G1f^@br3c&6Ipnh#%Cgb zZ!>lb7SQ&|2w`U=Q#udA=1c|^PFynFjY=njsyoF@K?oPkCYw}PGEKpHa@Ge<=_|KZ z^P#_{K>B7ejd_+RDhrI3QO_*M!7>J$i>v?dr-w$EEq;N)K1RHzkn+NsbHL)r0JJPleSO?#;e`!h}d4EE2Y zf@z>!WP&`V1C(d_m1GV;?&rQOJImW!OdHJ= z0Nu18L-!BWhhQUS$ON}hEZg{NMrpla7+*I7EwX?P&X5D#wm4BWsUQxf*QaIz1yP$R z-xrGt8@?k?3faHFOww~UvNV!9&PJBTQZ^jDmfej~cAPg~Bjuv+B`=a5?w;S7 zv4b&%Gbm{xxUO9!9rkffI12<$(zt}t!9{YO{Ou?WUMwGHS7#)g3Kq+W^8Qf@BY@%R zw4#?Ftq95{=-wJsyaamQzC?P#pG2}XB`%SPu&M&y8qR#&`67>{urG9F!ic4EIF4xo zSr^mfYSn4`QuKhvCfO+_b1Vhw=2EPi!%VW2W#|)O4=8-7a2b&8sQz+vl6IV?pLl{s zEJtphrt;-T^=T&dqv6Xj3F)#zrdppnX4V50)U4)5Cs!cJ=S+rWs5i2$l>RUchOUI3 zfrW4-;M0KS?xVTTi!*A1$6LT6rsS(ZG&7axOXwgi}G`21Nf`z?nuJXg=|xxaWQyyZ<0v%cuZCV6w_0K|@wnNl?P=3$Xv6k&bhR8Q znp4agDAeXBxNQSy_8L@nONM#T?lsaTTWSP$%hn)!I5xc&#H~&;u`jJ%i&8jf{(8t& z&&dY1aMr?Xxc( zbzRZ#Tsl(Z7U=^BZYcP;S~O(T7W9ISq;DeRZo!0b&uLTcxOu8;65K?<6@)F)!ZG6E!c4uE8z*dd2Oeq(lmco#c9l)DoIpB8?-Q*M_ma+7z-SKOMP;Cc`) zHTe3$;*UVlvatC_a*ZKc6&~D;i5i3^axa+pvExHIdqINpDC|GN{!r8J_!RyqY^{P6 z1`I~$0z?seF}pm^$Zq6b1UpVrVRn&R<0|h=q-)&`Upu!?8#LSBaPLe+R?H^>Xwp#V z{uN(ItMw)4RRF5!4*TP0UrD?Dtx23`*17(g!An%W*r-dlzCw#_cH$ZXhvS7VFVSQB zSKt(cP6K?l1T&r`~NV4kLF`+>ndWJH+M-RMI_ zD}|*RzZ`gHVqxP0@+IMB=1REKQ+8Yr$vr5eI0twrfvz9KSmem$>)jM}2pJ5fL5EPe zxPb*nKAoxUKOY{JO@&NsrY$~+lvL`p_>^G9nbzzfix1}Iz*Sm&N?`F(&9ucwF+y8> zN-;OuNfo8&csot%N7l^WqEIPR@GUGpDFIa$pYJe&jtkHhA2^R%e2!ol8W*T7K5-Ox z>|u+~5m9w*q6&&X}vC@j~rN0~*#%pFw836sq+Xs|!9BHl()25&Gnna~+)|MYN zV>4FG$5GNFVQTOOUmOi!4k~w3JY7G5SU-iS8XJAZPgUR*KLC6$OnnIOy()0mlc+@p zC7smbm3Y7QoZaA4(MUP4$IZp!<=E}c)wM0q@%!cJp?a@@(|IBqHPYY4ro zUPH)>tm45MulIvBw1uvm#(eusB=tWdec@_@LJ9MzTuE0l;ujIFw)|fiMNrotA(V+U z>PJjM(`e6+SPLuaSO#Zj;hr+g`XN51^)mh}nsi)Y=2?k{5g;XOr8<8OwVWPE_uF7s zZRmM4_7s|P9+E$!u=Kpd;|OSBejI_Ke}r<|X$fJN)_3fgiJ1LAthz9@%r zb8!!{TtaX9DU8A{VQzXa%(OzyW}qWn6O^z&INV%Ed;TI%p-KyX`$ax2Q6GivuF795 z@`%%v3)eK|{)QI5>@?+Gt}^8!!(aaf^?TDa4m(DotV0fnFc^ZBTl2wzkZ=uR+QqpaV z%0;&@Lh_R(eaZheu%XoUHn5?L^?UGYNs2uGBU{3P#rdje&X-Gi(26_ICD(ssb67+7 zg;3WXn3rPIaJjCzm}aqbUkZwd@g|TM+ zV|3+j6eU{IsJrV-J>bAIBe&M~STx(_q&U3VFC1HusPIsEX{g8uxHDQstk2&|X)= z*ZA{~%9xKDoujKE`kY(;h(4*BkzhbN6`RklS2LotM6$&!y1J2U)P&G*pojyZ9Dw;O z+G@ajcK%1_Bx$#s5u~LH=CcoL7_gpwO_4Q?DG-r7Hw=RZY68#F!PYYmn-L^j3ftO@ z-Uc@{`L&bvX>DyJjJBpR9J*24NI=8(^e~7UlI9JR^%vWX9%!PTc7u8117T8im_yT;(Y2Z;X_KqVy;{h!J`eZe)ys z{-|hVu-;=%k6Nx9Lr7XtL1QCCwtAv!6mDW9%g#^eQ5epnqi|EhA$?luQP_v#0*r_D zU78vxM#okUjlvz7pmG#$hKSu-=~1|w88HA=^c*!0Kn9=FlspOt80p59=&DipN;K69 zG@g{TWArFo8~a3DCm4kT4S$&!qetOHhCbT;aDOcbX)ce^qwsQ*B;_>5BE10v58Vnv zS-+0an&hIVZILCoUylv7>bZ^862 zCc@~=>#+#*u0gni3TH~;{77S>fIPXkMBnIK7}wHxR$w!AWfZU-so@iVcB3SAo-17U zgi+U!Xj(n|9%*Alp?%Haw`p7Sx{w+yshfhhFzJWwtZ$h8pAm+oPx288Cmx zn8UAsdj#A&>)|&Uek?KOv^Q>wgN4&Np!16Ag$<*P*lMD8VbasaX9CiOIXR9kc7?`- zjo@qSOzi54Moi|}c_1DPbWY4uu_rsTo6!VL)tr1JI)2;k0A^KA$5U}a^lEnlC%*x~ zuKKfBC11pyd-|h0mJ)rRHTsE7RPd}34yXKCqZ71rqaLW-5BO!XK>3_GHJ{o88BeCI zJy1ibQ~^h3Wzu~Sm;xtdMmdm8Crp(pj$UZDP<5dPm?W%6--TnG8aqksISFQvpo zRHq!*$91M?a8bOGA(tQ5$90x#Na_nQw$BR#EwVLDk>{?Y(L^=(oN`9h}Bzgn91Aehtu$2}WIe z>l3E1Ra!CT@~M=OxB_x80X5gtWaiNiS$c`u_5=TyD5)PRNgozzV$XauI-e7vzxo-? zFe7Z#AN0y(f#L^=jWn}AT4Vyi;j|I)(C`n^I0Z84a?*T<=LlvEInMiHc=|mF`FQvZR!U4l75bc{$rDk+eMyGD zHS(lcA5{4m4_RMA0+BQyTVndPB|!ND<%SxYLA}j9SPi5-<rbIPOwCmCZkfnFbk8_rj~kjG%ke=MWIij&_f|5rq8LIK@}M!r(r*!9bq_fjdQ~M;h&gp&!lS3k+(@8$Nss z!%oR5MibC}^*p48k*&$MvC_GR9msshW<4zdH3C z4XOq-f3%SIVGWTE629+%zjp8fScF zpt74yf{ft|%Ot4DcuJdu`Q8R9XW$0BE~h6+Eiw&%h(ym!h+#eh-CAM759Q?Y0^Yas zqtPMQ$NVAF=r4EUUAjuZ%aaW|UVp0Mf!Wq%^vo}YIeX^8SE{*F`DAn_JX^cZi)>R2 zEAF^qx4@S)E_#ZQAWNAgZp0!g9hib{QmTosPr*F-2e881#`S1+7RJafS%wE5>~*s8 z$Fp0m)Vl@JSe0e;r>MyWcE_2nX*R~TjLC*S#b@KQgArk&FwAdc#0^fUBpV7XBMZLk z*%aA+wi6@LaRMSwl|G7 zl=~KH(SwTLGFnp<66VLD$$u)+$jFAeb`PsomxfG5ozJ5 z?~*C)9q63oSNYjdyo|8t9Yh{X*^AI*SviJQIgrlc6l*{TFo(n;W~?%J?D{P7R^C1Z#@*7XZA>VuF+)iT%;R2 zsw!P)DS@I6j8hNcoJ9n#{zl}l6S$mv2<{fiLpWzC8P{SS zaNj+IGmD5!`cUFLV~N#!jLDNqBOu0ga|~Pp8^cAeIk@U69gW1QgLgC7eqPnu9`;}- zgQ|wk%RydWe+X=r9^fX6=Oa5`JcKd}&nW7^xW`hfifERcarHMM+gve2A3{58U_KJt z`4HGFyykeFIl87*aWo4L9FEt_M)w}Dz(~RiDti_{o_nOxs&|ZF`eK1mSGr(lWsdO} zJ*kX(VhFvU3_tsHCnKKI@)qk58bs(XE0pd+t_zJO^0PEvSd&%ZxL^E2Oyd%11mJMy zm`;J|95tQWrqgf{dV3=ETLb}1XXPT4tK&E`?_BReNHUS^oaFUI=w;!3w1-T5MSB@Ak$mJH%S}5SP#gT%d^J6qwCs7CRqe5&nRMhrR3}I6sMy z$Qvep_K@*a`HHIKh^-{fQZ#{I4<`X#7oPi^u$slTrQo+?=NeOJbNir;wC3K6+}WM?q3S&-87MW-^RuKt_#r! z)@4RAA2?iw5qAR>z>)dGXq6Y1S@z|q?%fPS#+O6q;jqqfkd;y~9J;a0Xh8lej38>W z9KK}sO=90h_{3jkyekZ~tN=7(C461km%+Z-?Arw&RDbzOu=89AK=dl064*DDeJj|v zk9}qAv%L%Qgu*A@#iCVyHbS4D^vnb7Kw-x`<98vF3nSMUoh+=H25&aJ3ukXIN(|v$ zIB2tR*$_PnyS@IT+*w?H#8ytKMTtG48vp&E&U9VjEC*k=10RACU1=7H8ked>Eok1lgY5q5; zn=8Liz<#4K9-crB11WVs2H0ws`8ihi;m~9au)WK@1Si1v>%}ZC`UTn>U4Ep7^xG!` z4;H%K)pPEY ze-JD(FXNwZc)RoMYAX~by1Yv!bLs@EapWP)4#}ArUK`SqL+E24{3ApBG;61q+{toV0!#2R{d3F6eE>=Ll4 zMUB1#n#iYDZ3d+Ic{w+X*D=GOJ$qRtk$6xuk z$}Ia9apuu&jx&$rbi�B%}+6(;_r<1|D2^>O_)&;xg^plecsdID+E>ljL3SNQRn(@uBS;`|n2}7;$AAsEYCa4y?ijE* z2Eo|WA%>l{9z%cYa#dfnSc_LdA}|{9TOD1f;uy?d1Fo7EEjE6Scms4iRq{9%mER-U z_^bM5kRyna=)9jXo*ErTw4AHv%OJ;(BU(;nG(1Lj0(seXRlf{kK{7e`acbKr?gXNJ zan*bf#P$QC;ZzpqGU5j;JkDLE{y!M}|C}nz=z;sEjLzu%8aD7WVAX%o z&wJ#;k8U1w8tV8w``eKF8E}lJI5={INtJ&F7`*4nR5#eaj2iw3st+j%jw~^$ihcy< z3WM-`Mj8Coa3deqwAPeY2C5#HId_Z8kvZ-?c*Z2797IGb%Rz+0fM-E;S`$&~Sxm@l zQQSGs)>%*mk^4C$*o8s(Ctp`|LG#an*SssbP)*N+YAy9V52_-X4+jFKt(ez=fl%oM zU(^Lq)uurgKm{Rz!=eFO=i;A$K=WTff?e1@o<{uyq8uuK!!61NQIDU2L9;PcJp9~j zlYho~5v>DQ;i;dEu2L={eS{azgCo4ZK;bq01r{m&YU3{$c8Y#M-X|^5M|knb!et0T zpUdDlcZoj2JC{NF2=8UAIG0i66|4lHMXzXJ_7!8ST)%|wU|oZ)Q;uz(gEe1nylM=A z-E+@Xqa_??6c`D|%Dqd>yV)DBLHzbU6c2Z^2T;VXklk;V=$8s<_^%-O<{^@7zJYz6 zNscWsAJ7Q84w7RJk;L#D8u`~jaux~kTZLDc1cz!LWDu&^lR_(uA@bT1npTB5JegmUBm8AL_w&izdpK8?bcT7;KE!Ed_hmn3e;{apo z(1qVIH>|UiU+;R2Cfxw62`#z-Sd*pvObV_o;RW00sl^}2aJ!|n?IaHQl>C8ZU&Wj{=n@4=JZX%UiOKI6n!xyg3-Z*{GjoN_Pd`7U#EnTcZw_wk%vkZ@o z`Qm&B-n|{L_%>oUTxPze5pf$e)sQ;ghBmfS=536ncFIG@dS#`vTFX0OHE-O(tnJE5 zU6$9)r!#urF_PrHmFCNVC3ld^dn>E%YFqy@Ql#4|^OW!GzmSR>#ocw9W}VO7dfY`8 z>r?Z)Q26y3I|eGMm_z+JH%$a8h#&E z&4%wfbFQy!r^ZynfOsEvhK97~K8o3b?%jtFw0QUbc2|2*j3v^k1*tF1l;Uz@gkUVM&*tl6gg2T3qpjil}bsjgd62x+NBU7>*C+SGNSA z=W72A_G5#Y;ccw&@1-OwNWU>bMGQJ-`YmqopEdnm*?-OS&u0G}(_g}VTvK!dJI@;M z*P)Izz^(~p!(mA`PtP){8@biAyzlniQZ6(f?=5bFQbqos4ye)o`_ExD-Z;JzKiD?YpPz62!FirJF zrf+#$Y_!(fg5`scB>~kv-p9f_8=`>)8z?@=KrWr|v9LiOAXcr78d%2gS@{M4Zm9&G zVBjw5*3c5pC-HnW<-Q}b3e;idFoSI?Pm#w9CPBP zX1?kNvAFmtz2t8R5Em;`+vINEH-iDp*T>v=8G9cjV#y{D003_#AMhF zXr{BK6>7)EmLb>*TiF;{u`$Lx?OypVQ4@>9>L@bh`XQY_!dc=kE>oISL0#&AW|YwNIRxDENA zWVO0y#>F;7nytEr zY`%$7_L9g=4hu_nU%6Yx*belPfxGQ)8HF9l>p(s*Q?`6b>B!ZXzuWGXk*9$}yX|fn z2Ro87fy#2;EqBhqcVp?FfkERv)_NO(s|M|fW;w5)z60$<8xE3`PR{MY5%NeUr$cDO zp8wz2D@8Xm_)gtxlhI$bR}Q{XeKVu)+^F{d9DU{C&J4dIk{#VFWIe)UJ$)KXhR%SgW$mwKY^uSE!v<-l_6ID_?ah@@H1QSLHKSo~QCfD<4*w zX-+!-E#Wrgx)Qz(*G$A!s!*v`R{m0DcE41<&99KVvkNk&cUx*BRA|t4JD6Tn{U}N4 zhMu*-K%Lpy@k#2~KQ7ge8OM}{Na8QAEg-JNfO zo6EoI;d~pSk44@0!hL5+2@|`QWC7Z9%uYnx!_G+UD<;sZHvzhb)o6fzVKsLU7(_sq zVr;*ItdH1Zx6^R?I4$aio{3Js1MT#?f%MM2==8h1E2iH)Eqez#qj_;+)=@A1kLh>M z#HQb6I=wXhlmZ^U!}rre7uQU`yWc4cvX=aM-J`El%^rP&=*s=<9)10;*rRWz>>WgE z586HY9{i6z`Z~q-=zEaV`qk{wH<;2rShGjpVCV4dbpjo@{qx5M^o34`I{R)yB-mS? z5N8bEf6~qOpH0$UocOjSP3>H)K<}rYdg{q>orc{p_OTIT>>3mYM>+f(LhKTaJ)UG1Dp5FLc;SZIRQEi5U|X z(e0bdf<<(I=CaL(jsqzgQD2rc2jba~S>GM$)uvNSn@ikcXLRCKosju^(}MYbG)dhi z`HP*F^#&6AApcZ-8(StaTDFj?#m)ms3HnZwzYRLAKl=AOBA#s~1C}^R_3Gky>&;fr ztDMD7V)I&YeIQ?ioI#}X(G0aFLmEF-)-7>bri{fT2a}sI=}pEp&-x})lS!3xOUOa0 z)GMHLYq6Y!ELE`tpMAZY*q;kG9IPpw0$`!R7pfh<>WZN>@ zXAt``hbxwKaa%Xxlu`p~cFKmd# z2s}ZQGO2!*L^fi+y;mTh>M}_!qzTd_Y$22qsBJ5#y0eAc zn9`(bg_Fq3vzlrDy!bD1lCBPD(`!@Ut;o2kE^(Ubqqa7M1bzaPD9yK;BfTe;07|fm^)Y6{J2g{WkIp#$?RRf9UHO~ zDdxc;O>#N=O`5JSRJP5fCVs8)oVmgz4zCXoX6DVh6*YxZigGDvX{33HQxBPvB+K0; zrr4%9RJ7)mQGvXgis)nt&V>v?RINXaRga!%G};x@gvdry$m4GNQs)}ATE)7H{-q`d zkCd9Eb1j%0yjSYy;7qBX1A4dS;0AR&KkH%Ud8{<$4X8Wjx6Irrqux_A-y0J$jL&t6m$cF znXH@~s2Au1z7%lT!}$U_ja$-GD%Utksmrlra0t8#YIiCGTY^R4V6a%eJK!{*`eQVy zo@&dVHj#-3mPB2Yf{h5T1RH~^K*qShYETE_*Fe3{UI!ll*Mh^q^WXk#vb>(~c*2{& z=fJnXiQu|WU~0|_QN!ur+bEWU<={qeGx(>dehavTa3xp)9s}P8S=APJ2dn}$!PDRl z!aspK!8#Od7uXb3eJk(-!kn-e*d1yR$mx!-2cie~p`=C_H*S+P5hpooA1q{GKd9xe z1ocDO0kAiy?(`GcLBiZ20ugWmcm$jT9s(zWAA^P9VXzET{Ttv>x&DxI`_!}Mei4k_ zaC)JtTZ{kr`vgd z;Av2^{8w#)r=td%=f9!QCOHGNBC9^ zgT26N@DA`>un+imupf9SG&PWOAHoHQd7wJvl!(AT2$x2~YruXuJ9%xDqfuKQZVNy@4ZPXPiAK<$nVLG6wlQ~Gb+u@PZy+s2@F$9Pbi_F7Q8<8@#m z*aXz>sCw;=2@*WYPoV)4KI$ZglVCNqWRSUgCc6#6ri68bZw|HqQ@~WP8K{G%@;WHA zkYz{tMKvW&PVRJ)>ZC!dyHc64OgSvEP3eotyntLYniBzceMi@yL9BQ3wQaX z!1cxhJK7KRlKF9S8RHavwy8<$mgwVbjlZVMo5bHi={L;lkf={EF@ITlH?#gGN&YbJ zhJO0A5>r2_nX+nqCaE3h^Vs;`KRJHX6`8esGGPtq)`r+Q|&ebJh zEj70pD{QJoU?(QdO{=R28~}I^HPUS%~a} zq&8*j-j5C2;{on_D7r})g;~x3Fx+G9;G%ia^0&EhG zk;|&3z;SE8_mr`Bzd04teveqkX!)^|`x0JQQW9usqq3fasrkl>drnKKB0p@av12Jo z)^yBsP{dmsmXidMtqmVYQ1at{GT^ZsCy*DClheE=9t&)^@fev`u@Tg|tI_%CG~8v2 zE}P6yj_T=To*iZ=hY{I~h;pbH+H%Q6;LB}z23cTV8OmTZY#&rPgRaKDK@`Ho8-6MN3UV@m;}Y|eH(jjWh~7;o+FmVC7v;VYj;TyKBEeY{ z;Fs&9*(_3R*d)jUSL!S>-YF*XN+%m5_Zn_TyhT)HJmPUH{vFXq(VZaGu318m(x{zx z1L7o4dd~8ixEy9piInDunatT3#y1brB*x+Wi0rPQzH<;8S-U?OY9H-p>Y+i{bTbu)BX+ZP1(G@s zyS*@UGgY2Iq?@UD0WsOy)suX+Yu?**GnC$b#9!5t`Y&_M)V?doft`QhrRPEFf?D9t#E*G3SkRM?TJRhf*fwoEc8*g;6?5)(P(K%?>h@tC6<@ z@hIDpE%2J~qAs`ytv z?vb7@nM=scwNrwDZAPT0Wh}vnjgki}VFYK7WJT$?#B*fe5>IDA6=A@IZ-A{eG}O)l zGZ-{mwS;Kbc1PV zWB!-K6%&&WLkjy1xb+ukE0{#?Lu_Ehp@>~2vxrJwAi0=JPBFc#u-Hp*CoR(Jxu_T& z=fJ9~B^Fj%c*DZG7Cy9a)WYW$&Re)-fum4Ykkdwd!R0eQe%+Rc@ivKHNw@@MKbToo zsb6}px8e_oN!G5Bl&M_`pL#DE#)~Tm22Sw(wU|z$^9JH1tHeuikm}mlb(U+@n1Uoq zeklcc$U=byR`Ec(`sJRvTI9>S5s`kVF8OK{TfP-0=Dg{>C$SU7CJJ%!&mNyV>QjTmo4=2lj$B5(04f&r$jsd6PE zs|8g22rI=`1ShhF?6# zt6jO2VMj0DujUVx#oUfTq@$?KA0%}x%IPp+>tIhzWClq-N;Y>>aCJ*Jn*(?CKScBGATq`B{zj--K_SMAB#jCAf)b`4$cta2xXtn;xhs=;v%Y8lpD> zQAZ_wG8AWPw6`P=a3ddTHu5*&?;FGLh){)slh$PJCT^Lx+8~ECn&4xS`4-V$_$bKh z0TXSLF>v?#3{!Nl;cPV zW-9(pDbwJvXmFwpE{F!pOwj%4pjM6X`;&?8#zkUGZ^?g$w1@c249hI@nM%ui;WO7t z_7=?sJ4)DWnBYUv;4?<+&gPveufX1AjH<%gtsorD#|0a|_Qy6pzX7&l(BtEn!8psz z@EJC6RGUhl`Ni5K9*)JjM>4iyGc3lq^AK&FhF&{t6XQ@zj6x@D(EUDU;l>?_dFm~3 z@8W3)498Q_B<^HHc4k&_DI&iIwV~dWT(yh%%o)pgM`JcAQmr=KeCB@3{N87#Tc*@! zwp!*>pQ*M?gJbGB{0`L`c@MvROxWb+H

;GxIF7-e*{Mtg*iE84fH}CgBt9m&VUX zNv)t?PL&=CJjVd;Tj*JAzk_r&%uryoteJQpZPVjgci{@^q`zez^_lsG39UXZJuB$7 z>=C0;P8x%ZT|7;Fs;#7v-L{BPKMzTjnmrj~+(O^(ofu0-j9uV_#w@GA9a7XCtGj7H zldWv2*nvA;p-uH^TB{J7sc2$E$AD3kcFG;mRp$*XoG<4L2+zUjyPKtK%`?U5+S-y*! zY$;hE(3fwG1_wz*gX5yXStjU~oYacZc)=r<`POGzNO(6{yyY)7Htuf`x#?i;=EPXt zl27eEh%xT>zFpiYt!0x!S4rK2-C!8*aGECD_$o8oXNoPe-DfyaRBgWVnYt3(3zJ?I z^TWZF$_#@^mWq$)hS`KU`5{l~jnLd|_LA!=M8F`A?P9LezI8XZw2aYJS#b;Qz1H)ktGIuXc#YE7LFzEE9 zx#?);23lsc&rGw-QlELpG7+Eo)-vAdn4eaXyARLZeCF4d`MuAuuZ7x_`pgc=+E4aQ zo|Y;5c~@`=O_Jp9CtugfWHdqE^(%0GltPw-D}jkNBqrpR{Z%X7MEcz7f3kXBfnyzN z|2N~D*+(WgG#Y%)1l^baRukLZj%ZVNKaH`xBhNoTrdyne*<~U|?ZzO++q9pT;6dyP zeWu(pM||e2Wv>1z7AsYJ9r05X#UB8L>yw@-+ z6|n|9CaS?6-{8;Ip#E8F&_;5}TBwf=xYYYXnWM?Q#A3mu+@moY+)Nn z)?t!reJ;lIvCMCLW`bqr`OJFD?DCl}EOW_c5@f;=s+un^3f(O9mHmX=q3897K;#IQ z^5Zd)R!KdIX`b{@SZu)Mh$*sNc9h23D*39|W8tvuCFFi%;_pZAejgKg#7jAbGU;3M zgX0*=)-f^INwQJWW%CpsG~i~TZzI7^yvDA6#hNKqsvIqsk9qBa?aSMK;+=34W)58Y nuxdBFe`jvp9Ru%OJ0fXV_a%va%bT9`4m!LiJ@>iSxbgo2wEkkJ diff --git a/App/CONFIG_APP/bin/Debug/DigitalData.EMLProfiler.dll b/App/CONFIG_APP/bin/Debug/DigitalData.EMLProfiler.dll index 74cc56419f32c80675269e70b3503025ad8023d4..e40f034c3f2ead090560d1dba8be05c4019034c1 100644 GIT binary patch literal 78336 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 literal 78848 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 diff --git a/App/CONFIG_APP/bin/Debug/DigitalData.EMLProfiler.pdb b/App/CONFIG_APP/bin/Debug/DigitalData.EMLProfiler.pdb index e443f4367a0813bdd8dd147cbef404c26d2b3ce5..87cdc1a0193c17110e1b3d3bfabbf209866d6539 100644 GIT binary patch delta 17009 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 Si@`SU`TGQLksjgv#{Lfz$~IB} delta 17711 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 i4uKAei;XPCdIE + +

+ Uses a private API from MailWriter to write a MailMessage to disk. + May break in future versions of .NET + +
Konstruktor für die windream-Klasse diff --git a/App/CONFIG_APP/bin/Debug/S22.Imap.dll b/App/CONFIG_APP/bin/Debug/S22.Imap.dll new file mode 100644 index 0000000000000000000000000000000000000000..278607803aba7a9b435eb772b95e5b0575b6ddf1 GIT binary patch literal 132096 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 + + + S22.Imap + + + + + Defines supported means of authenticating with an IMAP server. + + + + + Automatically selects the most-secure authentication mechanism supported by the server. + + + + + Login using plaintext password authentication; This is supported by most servers. + + + + + Login using the SASL PLAIN authentication mechanism. + + + + + Login using the CRAM-MD5 authentication mechanism. + + + + + Login using the DIGEST-MD5 authentication mechanism. + + + + + Login using OAuth via the SASL XOAuth mechanism. + + + + + Login using OAuth 2.0 via the SASL XOAUTH2 mechanism. + + + + + Login using the NTLM authentication mechanism. + + + + + Login using the NTLMv2 authentication mechanism. + + + + + Login using the NTLM/NTLMv2 authentication mechanism via Microsoft's Security Support + Provider Interface (SSPI). + + + + + Login using Kerberos authentication via the SASL GSSAPI mechanism. + + + + + Login using the SCRAM-SHA-1 authentication mechanism. + + + + + Login using the Secure Remote Password (SRP) authentication mechanism. + + The SRP mechanism is only available when targeting .NET 4.0 or newer. + + + + A utility class modeled after the BCL StringBuilder to simplify + building binary-data messages. + + + + + The actual byte buffer. + + + + + The current position in the buffer. + + + + + Resizes the internal byte buffer. + + Amount in bytes by which to increase the + size of the buffer. + + + + Appends one or several byte values to this instance. + + Byte values to append. + A reference to the calling instance. + + + + Appends the specified number of bytes from the specified buffer + starting at the specified offset to this instance. + + The buffer to append bytes from. + The offset into the buffert at which to start + reading bytes from. + The number of bytes to read from the buffer. + A reference to the calling instance. + + + + Appends the specified 32-bit integer value to this instance. + + A 32-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit short value to this instance. + + A 16-bit short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit unsigend short value to this instance. + + A 16-bit unsigend short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 32-bit unsigned integer value to this instance. + + A 32-bit unsigned integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 64-bit integer value to this instance. + + A 64-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified string using the specified encoding to this + instance. + + The string vale to append. + The encoding to use for decoding the string value + into a sequence of bytes. If this is null, ASCII encoding is used as a + default. + A reference to the calling instance. + + + + Returns the ByteBuilder's content as an array of bytes. + + An array of bytes. + + + + Removes all bytes from the current ByteBuilder instance. + + + + + The length of the underlying data buffer. + + + + + A filter stream sitting between Negotiate- and NetworkStream to + enable managed NTLM/GSSAPI authentication. + + + We use a filter for hooking into the NegotiateStream protocol rather + than p/invoking SSPI directly as that would require unmanaged + code privileges (internally NegotiateStream uses an SSPI wrapper). + + NegotiateStream - FilterStream - NetworkStream. + + + + + A buffer for accumulating handshake data until an entire handshake + has been read. + + + + + A buffer for accumulating the payload data following the handshake + data. + + + + + The latest handshake header sent by the client. + + + + + The buffer from which client reads will be satisfied. + + + + + The number of bytes the client has already consumed/read + from the receivedData buffer. + + + + + The current state of the filter stream. + + + + + Determines whether this instance should close the inner stream + when disposed. + + + + + An error code as specified by the NegotiateStream protocol which is + handed to the NegotiateStream instance in case authentication + unexpectedly fails. + + + + + Gets the stream used by this FilterStream for sending and + receiving data. + + + + + Initializes a new instance of the FilterStream class using the + specified Stream. + + A Stream object used by the FilterStream for sending + and receiving data. + Set to true to indicate that closing this + FilterStream has no effect on innerstream, or set to false to + indicate that closing this FilterStream also closes innerStream. + + + + Reads data from this stream and stores it in the specified array. + + A byte array that receives the bytes read from + the stream. + The zero-based index into the buffer at which to + begin storing the data read from this stream. + The the maximum number of bytes to read from the + stream. + The the number of bytes read from the underlying stream. When + there is no more data to be read, returns 0. + The read operation failed. + + + + Reads the server response from the underlying inner stream. + + + + + Write the specified number of bytes to the underlying stream using the + specified buffer and offset. + + A byte array that supplies the bytes written to + the stream. + The zero-based index in the buffer at which to + begin reading bytes to be written to the stream. + The number of bytes to read from buffer. + The write operation failed. + + + + Reads the client's handshake from the specified buffer. + + A byte array from which the handshake data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if the handshake has been read completely, otherwise + false. + + + + Reads the payload from the specified buffer. + + A byte array from which the payload data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if all of the payload data has been read, otherwise + false. + + + + Sends the accumulated payload data to the server. + + true if the client is done sending data, otherwise + false. + + + + Reads a line of ASCII-encoded text terminated by a CRLF from the + specified stream. + + The stream to read the line of text from. + Set this to true, to resolve automatically + resolve possible literals. + A line of ASII-encoded text read from the specified + stream. + "Literals" are a special feature of IMAP, employed by some + server implementations. Please refer to RFC 3501 Section 4.3 for + details. + + + + Reads the specified number of bytes from the specified stream and + returns them as an ASCII-encoded string. + + The stream to read from. + The number of bytes to read. + The read bytes encoded as an ASCII string. + + + + Causes any buffered data to be written to the underlying device. + + + + + Throws NotSupportedException. + + This value is ignored. + This value is ignored. + Always throws a NotSupportedException. + + + + Sets the length of the underlying stream. + + A value that specifies the length of the + stream. + + + + Releases all resources used by the stream. + + True to release both managed and unmanaged + resources, false to release only unmanaged resources. + + + + Gets a boolean value that indicates whether the underlying stream is + readable. + + + + + Gets a boolean value that indicates whether the underlying stream is + seekable. + + + + + Gets a boolean value that indicates whether the underlying stream + supports time-outs. + + + + + Gets a boolean value that indicates whether the underlying stream is + writable. + + + + + Gets the length of the underlying stream. + + + + + Gets or sets the current position in the underlying stream. + + Setting this property + is not supported. + + + + The different states the FilterStream can be in. + + + + + The stream is reading the client's handshake message. + + + + + The stream is reading the client's payload data. + + + + + The stream is waiting for the server's response. + + + + + The stream has buffered the server's response and is satisfying + client reads from its buffer. + + + + + Represents a NegotiateStream handshake message. + + + + + This is the only permissible value according to specification. + + + + + This is the only permissible value according to specification. + + + + + Creates a new instance of the Handshake class using the specified type + and payload size. + + The type of handshake. + The size, in bytes, of the payload following + the handshake header. + + + + Private default constructor for deserializing. + + + + + Deserializes a handshake instance from the specified byte array. + + An array of bytes containing handshake data. + An initialized instance of the Handshake class deserialized + from the specified byte array. + Thrown if the specified byte + array does not contain valid handshake data. + + + + Serializes an instance of the Handshake class to a sequence of bytes. + + A sequence of bytes representing this Handshake instance. + + + + The type of the handshake message. + + + + + Specifies the major version of the NegotiateStream protocol + being used. + + + + + Specifies the minor version of the NegotiateStream protocol + being used. + + + + + Defines the size, in bytes, of the AuthPayload field, which immediately + follows the handshake. + + + + + Describes the different types of handshake messages. + + + + + The handshake has completed successfully. + + + + + An error occurred during the handshake. The AuthPayload field contains + an HRESULT. + + + + + The message is part of the handshake phase and is not the final message + from the host. The final Handshake message from a host is always + transferred in a HandshakeDone message. + + + + + Implements the Sasl SCRAM-SHA-1 authentication method as described in + RFC 5802. + + + + + The abstract base class from which all classes implementing a Sasl + authentication mechanism must derive. + + + + + Computes the client response to a challenge sent by the server. + + + The client response to the specified challenge. + + + + + + + + Retrieves the base64-encoded client response for the specified + base64-encoded challenge sent by the server. + + A base64-encoded string representing a challenge + sent by the server. + A base64-encoded string representing the client response to the + server challenge. + The IMAP, POP3 and SMTP authentication commands expect challenges + and responses to be base64-encoded. This method automatically decodes the + server challenge before passing it to the Sasl implementation and + encodes the client response to a base64-string before returning it to the + caller. + Thrown if the client response could + not be retrieved. Refer to the inner exception for error details. + + + + Retrieves the client response for the specified server challenge. + + A byte array containing the challenge sent by + the server. + An array of bytes representing the client response to the + server challenge. + + + + IANA name of the authentication mechanism. + + + + + True if the authentication exchange between client and server + has been completed. + + + + + A map of mechanism-specific properties which are needed by the + authentication mechanism to compute it's challenge-responses. + + + + + The client nonce value used during authentication. + + + + + Scram-Sha-1 involves several steps. + + + + + The salted password. This is needed for client authentication and later + on again for verifying the server signature. + + + + + The auth message is part of the authentication exchange and is needed for + authentication as well as for verifying the server signature. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslScramSha1 + class using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SCRAM-SHA-1 challenge. + + The challenge sent by the server + The response to the SCRAM-SHA-1 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the "client-final-message" which completes the authentication + process. + + The "server-first-message" challenge received + from the server in response to the initial client response. + An array of bytes containing the client's challenge + response. + + + + Verifies the nonce value sent by the server. + + The nonce value sent by the server as part of the + server-first-message. + True if the nonce value is valid, otherwise false. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Parses the "server-first-message" received from the server. + + The challenge received from the server. + A collection of key/value pairs contained extracted from + the server message. + Thrown if the message parameter + is null. + + + + Computes the "Hi()"-formula which is part of the client's response + to the server challenge. + + The supplied password to use. + The salt received from the server. + The iteration count. + An array of bytes containing the result of the computation of the + "Hi()"-formula. + + Hi is, essentially, PBKDF2 with HMAC as the pseudorandom function (PRF) and with + dkLen == output length of HMAC() == output length of H(). (Refer to RFC 5802, p.6) + + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input data. + + The key to use for initializing the HMAC + provider. + The input to compute the hashcode for. + The hashcode of the specified data input. + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input string. + + The key to use for initializing the HMAC + provider. + The input string to compute the hashcode for. + The hashcode of the specified string. + + + + Applies the cryptographic hash function SHA-1 to the specified data + array. + + The data array to apply the hash function to. + The hash value for the specified byte array. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + Prepares the specified string as is described in RFC 5802. + + A string value. + A "Saslprepped" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Scram-Sha-1 authentication mechanism as described + in RFC 5802. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Secure Remote Password (SRP) authentication + mechanism as is described in the IETF SRP 08 draft. + + + This requires .NET Framework 4 because it makes use of the System.Numeric namespace + which has only been part of .NET since version 4. + + Some notes: + - Don't bother with the example given in the IETF 08 draft + document (7.5 Example); It is broken. + - Integrity and confidentiality protection is not implemented. + In fact, the "mandatory"-option is not supported at all. + + + + + SRP involves several steps. + + + + + The negotiated hash algorithm which will be used to perform any + message digest calculations. + + + + + The public key computed as part of the authentication exchange. + + + + + The client's private key used for calculating the client evidence. + + + + + The secret key shared between client and server. + + + + + The client evidence calculated as part of the authentication exchange. + + + + + The options chosen by the client, picked from the list of options + advertised by the server. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client private key to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslSrp class using + the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SRP challenge. + + The challenge sent by the server + The response to the SRP challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the client response containing the client's public key and + evidence. + + The challenge containing the protocol elements + received from the server in response to the initial client + response. + An array of bytes containing the client's challenge + response. + Thrown if the server specified any + mandatory options which are not supported. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Selects a message digest algorithm from the specified list of + supported algorithms. + + A tuple containing the name of the selected message digest + algorithm as well as the type. + Thrown if none of the algorithms + specified in the list parameter is supported. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the SRP authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + The authorization id (userid in draft jargon). + + + + + Represents the initial client-response sent to the server to initiate + the authentication exchange. + + + + + Creates a new instance of the ClientMessage1 class using the specified + username. + + The username to authenticate with. + The authorization id to authenticate with. + Thrown if the username parameter + is null. + + + + Serializes this instance of the ClientMessage1 class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + ClientMessage1 class. + Thrown if the cummultative length + of the serialized data fields exceeds the maximum number of bytes + allowed as per SRP specification. + SRP specification imposes a limit of 2,147,483,643 bytes on + the serialized data. + + + + The username to authenticate with. + + SRP specification imposes a limit of 65535 bytes + on this field. + + + + The authorization identity to authenticate with. + + SRP specification imposes a limit of 65535 bytes + on this field. + + + + The session identifier of a previous session whose parameters the + client wishes to re-use. + + SRP specification imposes a limit of 65535 bytes + on this field. If the client wishes to initialize a new session, + this parameter must be set to the empty string. + + + + The client's nonce used in deriving a new shared context key from + the shared context key of the previous session. + + SRP specification imposes a limit of 255 bytes on this + field. If not needed, it must be set to an empty byte array. + + + + Represents the second client-response sent to the server as part of + the SRP authentication exchange. + + + + + Creates and initializes a new instance of the ClientMessage2 class. + + + + + Creates and initializes a new instance of the ClientMessage2 class using + the specified public key and client proof. + + The client's public key. + The calculated client proof. + Thrown if either the public key + or the proof parameter is null. + + + + Serializes this instance of the ClientMessage2 class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + ClientMessage2 class. + Thrown if the cummultative length + of the serialized data fields exceeds the maximum number of bytes + allowed as per SRP specification. + SRP specification imposes a limit of 2,147,483,643 bytes on + the serialized data. + + + + Serializes the client's options collection into a comma-seperated + options string. + + A comma-seperated string containing the client's chosen + options. + + + + The client's ephemeral public key. + + + + + The evidence which proves to the server client-knowledge of the shared + context key. + + + + + The options list indicating the security services chosen by the client. + + + + + The initial vector the server will use to set up its encryption + context, if confidentiality protection will be employed. + + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of SRP messages. + + + + + Reads an unsigned integer value from the underlying stream, + optionally using big endian byte ordering. + + Extension method for BinaryReader. + Set to true to interpret the integer value + as big endian value. + The 32-byte unsigned integer value read from the underlying + stream. + + + + Reads an unsigned short value from the underlying stream, optionally + using big endian byte ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value + as big endian value. + The 16-byte unsigned short value read from the underlying + stream. + + + + Reads a "multi-precision integer" from this instance. + + Extension method for the BinaryReader class. + An instance of the Mpi class decoded from the bytes read + from the underlying stream. + + + + Reads an "octet-sequence" from this instance. + + Extension method for the BinaryReader class. + An instance of the OctetSequence class decoded from the bytes + read from the underlying stream. + + + + Reads an UTF-8 string from this instance. + + Extension method for the BinaryReader class. + An instance of the Utf8String class decoded from the bytes + read from the underlying stream. + + + + Contains helper methods for calculating the various components of the + SRP authentication exchange. + + + + + The trace source used for informational and debug messages. + + + + + Determines whether the specified modulus is valid. + + The modulus to validate. + True if the specified modulus is valid, otherwise + false. + + + + Determines whether the specified generator is valid. + + The generator to validate. + True if the specified generator is valid, otherwise + false. + + + + Generates a random "multi-precision integer" which will act as the + client's private key. + + The client's ephemeral private key as a "multi-precision + integer". + + + + Calculates the client's ephemeral public key. + + The generator sent by the server. + The safe prime modulus sent by + the server. + The client's private key. + The client's ephemeral public key as a + "multi-precision integer". + + A = Client Public Key + g = Generator + a = Client Private Key + N = Safe Prime Modulus + + + + + Calculates the shared context key K from the given parameters. + + The user's password salt. + The username to authenticate with. + The password to authenticate with. + The client's ephemeral public key. + The server's ephemeral public key. + The client's private key. + The generator sent by the server. + The safe prime modulus sent by the + server. + The negotiated hash algorithm to use + for the calculations. + The shared context key K as a "multi-precision + integer". + + A = Client Public Key + B = Server Public Key + N = Safe Prime Modulus + U = Username + p = Password + s = User's Password Salt + a = Client Private Key + g = Generator + K = Shared Public Key + + + + + Computes the client evidence from the given parameters. + + The safe prime modulus sent by the + server. + The generator sent by the server. + The username to authenticate with. + The client's password salt. + The client's ephemeral public key. + The server's ephemeral public key. + The shared context key. + The authorization identity. + The raw options string as received from the + server. + The message digest algorithm to use for + calculating the client proof. + The client proof as an array of bytes. + + + + Computes the server evidence from the given parameters. + + The client's ephemeral public key. + + The shared context key. + The authorization identity. + The raw options string as sent by the + client. + The session id sent by the server. + The time-to-live value for the session id sent + by the server. + The message digest algorithm to use for + calculating the server proof. + The server proof as an array of bytes. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Recommended values for the safe prime modulus (Refer to Appendix A. + "Modulus and Generator Values" of the IETF SRP draft). + + + + + Represents a "multi-precision integer" (MPI) as is described in the + SRP specification (3.2 Multi-Precision Integers, p.5). + + Multi-Precision Integers, or MPIs, are positive integers used + to hold large integers used in cryptographic computations. + + + + Creates a new "multi-precision integer" from the specified array + of bytes. + + A big-endian sequence of bytes forming the + integer value of the multi-precision integer. + + + + Creates a new "multi-precision integer" from the specified BigInteger + instance. + + The BigInteger instance to initialize the MPI + with. + + + + Returns a sequence of bytes in big-endian order forming the integer + value of this "multi-precision integer" instance. + + Returns a sequence of bytes in big-endian order representing + this "multi-precision integer" instance. + + + + Serializes the "multi-precision integer" into a sequence of bytes + according to the requirements of the SRP specification. + + A big-endian sequence of bytes representing the integer + value of the MPI. + + + + The underlying BigInteger instance used to represent this + "multi-precision integer". + + + + + Represents an "octet-sequence" as is described in the SRP specification + (3.3 Octet sequences, p.6). + + + + + Creates a new instance of the OctetSequence class using the specified + byte array. + + The sequence of bytes to initialize this instance + of the OctetSequence class with. + + + + Serializes this instance of the OctetSequence class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + OctetSequence class. + Thrown if the length of the byte + sequence exceeds the maximum number of bytes allowed as per SRP + specification. + SRP specification imposes a limit of 255 bytes on the + length of the underlying byte array. + + + + The underlying byte array forming this instance of the OctetSequence + class. + + + + + Represents the first message sent by the server in response to an + initial client-response. + + + + + Deserializes a new instance of the ServerMessage1 class from the + specified buffer of bytes. + + The byte buffer to deserialize the ServerMessage1 + instance from. + An instance of the ServerMessage1 class deserialized from the + specified byte array. + Thrown if the byte buffer does not + contain valid data. + + + + Parses the options string sent by the server. + + A comma-delimited options string. + An initialized instance of the NameValueCollection class + containing the parsed server options. + + + + The safe prime modulus sent by the server. + + + + + The generator sent by the server. + + + + + The user's password salt. + + + + + The server's ephemeral public key. + + + + + The options list indicating available security services. + + + + + The raw options as received from the server. + + + + + Represents the second message sent by the server as part of the SRP + authentication exchange. + + + + + Deserializes a new instance of the ServerMessage2 class from the + specified buffer of bytes. + + The byte buffer to deserialize the ServerMessage2 + instance from. + An instance of the ServerMessage2 class deserialized from the + specified byte array. + Thrown if the byte buffer does not + contain valid data. + + + + The evidence which proves to the client server-knowledge of the shared + context key. + + + + + The initial vector the client will use to set up its encryption + context, if confidentiality protection will be employed. + + + + + The session identifier the server has given to this session. + + + + + The time period for which this session's parameters may be re-usable. + + + + + Represents an UTF-8 string as is described in the SRP specification + (3.5 Text, p.6). + + + + + The value of the UTF-8 string. + + + + + Creates a new instance of the Utf8String class using the specified + string value. + + The string to initialize the Utf8String instance + with. + + + + Serializes this instance of the Utf8String class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + Utf8String class. + Thrown if the string value exceeds + the maximum number of bytes allowed as per SRP specification. + SRP specification imposes a limit of 65535 bytes on the + string data after it has been encoded into a sequence of bytes + using an encoding of UTF-8. + + + + Represents a MIME body part of a mail message that has multiple + parts. + + + + + Initializes a new instance of the Bodypart class with default + values. + + The part number as is expected by the + IMAP FETCH command. + + + + Returns a detailed description listing all properties of this + Bodypart instance. + + A string describing this instance of the Bodypart class + + + + The body part number which acts as part specifier for + the FETCH BODY command. + + + + + The MIME content-type of this body part. The content-type is + used to declare the general type of data. + + + + + The MIME content-subtype of this body part. The subtype + specifies a specific format for the type of data. + + + + + Parameter values present in the MIME content-type header + of this body part (for instance, 'charset'). + + + + + The MIME content-id of this body part, if any. This value + may be used for uniquely identifying MIME entities in + several contexts. + + + + + The MIME content-description of this body part. This value + may contain some descriptive information on the body part. + + + + + The MIME content-transfer-encoding mechanism used for + encoding this body part's data. + + + + + The size of this body part in bytes. Note that this size + is the size in its transfer encoding and not the resulting + size after any decoding. + + + + + The size of the body in text lines. This field is only + present in body parts with a content-type of text. + + + + + The computed MD5-Hash of the body part. This field is not + mandatory and may be empty. + + + + + The MIME content-disposition for this body part. This field + is not mandatory and may be empty. + + + + + A string giving the body language. This field is not mandatory + and may be empty. + + + + + A string list giving the body content URI. This field is not + mandatory and may be empty. + + + + + Provides a means for parsing the textual description of the body structure of a mail + message as is returned by an IMAP server for a "FETCH BODYSTRUCTURE" command. + + + They couldn't have made the BODYSTRUCTURE any more complicated and unnecessarily + hard to parse. I wonder what they were thinking when they came up with this. + + + + + Parses the body structure of a mail message as is returned by the IMAP server + in response to a FETCH BODYSTRUCTURE command. + + The body structure server response + An array of initialized Bodypart objects representing the body + structure of the mail message + Thrown if the passed string does not + contain a valid body structure and parsing failed. + + + + A Reader object initialized with the string containing the bodystructure + response. + + + + + Initializes a new instance of the Bodystructure class. + + + + + + Parses a bodypart entry from the body structure and advances the + read pointer. + + The designated part specifier by which the body + part is refered to by the server. + Set to true if the bodypart is enclosed + in parenthesis. + + + + + Parses the mandatory extra fields that are present if the bodypart is + of type message/rfc822 (see RFC 3501, p. 75). + + The bodypart instance the parsed fields will be + added to. + + + + Parses the optional fields of a bodypart entry from the body structure + and advances the read pointer. + + The bodypart instance the parsed fields will be + added to. + Set to true if the bodypart entry is enclosed + in parenthesis. + + + + Parses a list of bodypart entries as is outlined in the description of the + BODYPART response in RFC 3501. + + The nesting prefix that will be prefixed to the + bodyparts partNumber. + An array of initialized Bodypart objects parsed from the + list. + + + + Advances the read pointer to skip over a multipart entry. + + + + + Advances the read pointer to skip over an arbitrary + expression enclosed in parentheses. + + + + + Represents the content disposition as is presented in the BODYSTRUCTURE + response by the IMAP server. + + + + + Initializes a new instance of the ContentDisposition class with + default values. + + + + + Maps MIME content disposition string values to their corresponding + counter-parts of the ContentDispositionType enumeration. + + + + + The content disposition specifies the presentation style. + + + + + Additional attribute fields for specifying the name of a file, the creation + date and modification date, which can be used by the reader's mail user agent + to store the attachment. + + + + + Contains the name of the transmitted file if the content-disposition is of type + "Attachment" and if the name value was provided as part of the header information. + This field may be empty. + + + + + Possible values for the content disposition type which determines the presentation + style + + + + + The content disposition could not be determined. + + + + + An inline content disposition means that the content should be automatically + displayed when the message is displayed. + + + + + An attachment content disposition means that the content should not be displayed + automatically and requires some form of action from the user to open it. + + + + + Possible values for the "Encoding" property of the Bodypart class. The content + transfer encoding indicates whether or not a binary-to-text encoding + scheme has been used on top of the original encoding as specified within the + Content-Type header. + + + + + The content tranfer encoding could not be determined or is unknown. + + + + + Up to 998 bytes per line of the code range 1 - 127 with CR and LF only + allowed to appear as part of a CRLF line ending. + + + + + Up to 998 bytes per line with CR and LF only allowed to appear as part + of a CRLF line ending. + + + + + Any sequence of bytes. + + + + + Byte sequence is encoded using the quoted-printable encoding. + + + + + Byte sequence is encoded using Base64 encoding. + + + + + Possible values for the "Type" property of the Bodypart class. + For a detailed description of MIME Media Types refer to + RFC 2046. + + + + + The "text" media type is intended for sending material which + is principally textual in form. + + + + + A media type of "image" indicates that the body contains an image. + The subtype names the specific image format. + + + + + A media type of "audio" indicates that the body contains audio + data. + + + + + A media type of "video" indicates that the body contains a + time-varying-picture image, possibly with color and coordinated sound. + + + + + The "application" media type is to be used for discrete data which do + not fit in any of the other categories, and particularly for data to + be processed by some type of application program. + + + + + The "message" content type allows messages to contain other messages + or pointers to other messages. + + + + + The media type value is unknown or could not be determined. + + + + + A helper class for parsing the BODYSTRUCTURE response of an + IMAP FETCH command more conveniently. + + + + + Initializes a new instance of the Reader class that reads from the + specified string. + + The string to which the Reader instance should be + initialized. + + + + Reads the next character from the input string and advances the + character position by one character. + + The next character from the underlying string. + Thrown when reading is + attempted past the end of the underlying string. + + + + Returns the next available character but does not consume it. + + Set to true to skip any preceding + whitespace characters. + An integer representing the next character to be read, + or -1 if no more characters are available. + + + + Advances the character position until the specified character + is encountered. + + The character to skip to. + Thrown when reading is + attempted past the end of the underlying string. + + + + Advances the character position over any whitespace characters + and subsequently ensures the next read will not return a + whitespace character. + + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads characters until the specified character is encountered. + + The character to read up to. + The read characters as a string value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a word from the underlying string. A word in this context + is a literal enclosed in double-quotes. + + The read word. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads an integer from the underlying string. + + The read integer value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a list from the underlying string. A list in this context + is a list of attribute/value literals (enclosed in double-quotes) + enclosed in parenthesis. + + The read list as a dictionary with the attribute names + as keys and attribute values as values. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a disposition from the underlying string. A disposition in + this context is a list of attribute/value literals (enclosed in + double-quotes) preceded by a word enclosed in parenthesis. + + An initialized ContentDisposition instance representing + the parsed disposition. + Thrown when reading is + attempted past the end of the underlying string. + + + + The exception that is thrown when reading is attempted past the end + of a string. + + + + + Initializes a new instance of the EndOfStringException class + + + + + Initializes a new instance of the EndOfStringException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the EndOfStringException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the EndOfStringException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Defines the different means by which mail messages may be fetched from the server. + + + + + Fetches the entire mail message with all of its content. + + + + + Only the mail message headers will be retrieved, while the actual content will not be + downloaded. If this option is specified, only the header fields of the returned MailMessage + object will be initialized. + + + + + Retrieves the mail message, but will only download content that has a content-type of text. + This will retrieve text as well as HTML representation, while skipping inline content and + attachments. + + + + + Retrieves the mail message, but skips any content that is an attachment. + + + + + Provides data for IMAP idle error events. + + + + + Initializes a new instance of the IdleErrorEventArgs class. + + The exception that causes the event. + The instance of the ImapClient class that raised the event. + The exception parameter or the client parameter + is null. + + + + The exception that caused the error event. + + + + + The instance of the ImapClient class that raised the event. + + + + + Provides data for IMAP idle notification events. + + + + + Initializes a new instance of the IdleMessageEventArgs class and sets the + MessageCount attribute to the value of the + parameter. + + The number of messages in the selected mailbox. + The unique identifier (UID) of the newest message in the + mailbox. + The instance of the ImapClient class that raised the event. + + + + The total number of messages in the selected mailbox. + + + + + The unique identifier (UID) of the newest message in the mailbox. + + The UID can be passed to the GetMessage method in order to retrieve the mail + message from the server. + + + + The instance of the ImapClient class that raised the event. + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + This constructor is solely used for unit testing. + + A stream to initialize the ImapClient instance with. + + + + Initializes a new instance of the ImapClient class and connects to the specified port + on the specified host, optionally using the Secure Socket Layer (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets + Layer (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example shows how to establish a connection with an IMAP server + and print out the IMAP options, which the server supports. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + // Print out the server's capabilities. + foreach(string s in Client.Capabilities()) + Console.WriteLine(s); + + Client.Dispose(); + + + + + + Initializes a new instance of the ImapClient class and connects to the specified port on + the specified host, optionally using the Secure Socket Layer (SSL) security protocol and + attempts to authenticate with the server using the specified authentication method and + credentials. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer + (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + The provided credentials were rejected by the + server. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Connects to the specified port on the specified host, optionally using the Secure Socket Layer + (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer (SSL) + certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received + from the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + + + Determines whether the specified response is a valid IMAP OK response. + + A response string received from the server. + A tag if the response is associated with a command. + true if the response is a valid IMAP OK response; Otherwise false. + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Performs authentication using the most secure authentication mechanism supported by the + server. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + The order of preference of authentication types employed by this method is + Ntlm, Scram-Sha-1, Digest-Md5, followed by Cram-Md5 and finally plaintext Login as + a last resort. + + + + Performs an actual IMAP "LOGIN" command using the specified username and plain-text + password. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + + + + Performs NTLM and Kerberos authentication via the Security Support Provider Interface (SSPI). + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + True to authenticate using NTLM, otherwise GSSAPI (Kerberos) is + used. + The response sent by the server. + The specified authentication method is not + supported by the server. + + + + Performs authentication using a SASL authentication mechanism via IMAP's authenticate + command. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The name of the SASL authentication mechanism to use. + The response sent by the server. + The authentication mechanism with the specified name could + not be found. + The specified authentication mechanism is not + supported by the server. + An unexpected response has been received from + the server. + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Generates a unique identifier to prefix a command with, as is required by the IMAP protocol. + + A unique identifier string. + + + + Sends a command string to the server. This method blocks until the command has been + transmitted. + + The command to send to the server. The string is suffixed by CRLF + prior to sending. + + + + Sends a command string to the server and subsequently waits for a response, which is then + returned to the caller. This method blocks until the server response has been received. + + The command to send to the server. This is suffixed by CRLF prior + to sending. + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + The response received by the server. + + + + Waits for a response from the server. This method blocks until a response has been received. + + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + A response string from the server + The underlying socket is closed or there was a failure + reading from the network. + + + + Reads the specified amount of bytes from the server. This method blocks until the specified + amount of bytes has been read from the network stream. + + The number of bytes to read. + The read bytes as an ASCII-encoded string. + The underlying socket is closed or there was a failure + reading from the network. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Selects the specified mailbox so that the messages of the mailbox can be accessed. + + The mailbox to select. If this parameter is null, the + default mailbox is selected. + The specified mailbox could not be selected. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + IMAP Idle must be paused or stopped before calling this method. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Retrieves the set of special-use flags associated with the specified mailbox. + + The mailbox to receive the special-use flags for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + An enumerable collection of special-use flags set on the specified + mailbox. + This feature is an optional extension to the IMAP protocol and as such some servers + may not report any flags at all. + + + + Retrieves status information (total number of messages, number of unread messages, etc.) for + the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxStatus object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the mail header for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the mail header for. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw mail header of the mail message with the specified + UID. + The mail header could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the body structure for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the body structure for. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw body structure of the mail message with the specified + UID. + The body structure could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A body structure is a textual description of the layout of a mail message. It is + described in some detail in RFC 3501 under 7.4.2 FETCH response. + + + + Retrieves the MIME body-part with the specified part number of the multipart message with + the specified unique identifier (UID). + + The UID of the mail message to retrieve a MIME body part for. + The part number of the body part to fetch. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the specified body part of the mail message with the specified + UID. + The body part could not be fetched. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the raw MIME/RFC822 mail message data for the mail message with the specified UID. + + The UID of the mail message to retrieve as a MIME/RFC822 string. + Set this to true to set the \Seen flag for the fetched message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw MIME/RFC822 data of the mail message with the + specified UID. + The mail message data could not be fetched. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the highest UID in the specified mailbox. + + The mailbox to find the highest UID for. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + The highest unique identifier value (UID) in the mailbox. + The UID could not be determined. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The highest UID usually corresponds to the newest message in a mailbox. + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Starts receiving of IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when already receiving idle notifications has no + effect. + + + + + + + Stops receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when not receiving idle notifications has no effect. + + + + + + Temporarily pauses receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + To resume receiving IDLE notifications ResumeIdling must be called. + + + + + + + Resumes receiving IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + The main idle loop. Waits for incoming IMAP IDLE notifications and dispatches + them as events. This runs in its own thread whenever IMAP IDLE + notifications are being received. + + + + + Blocks on a queue and wakes up whenever a new notification is put into the queue. The + notification is then examined and dispatched as an event. + + + + + Issues a NOOP command to the IMAP server. Called in the context of a System.Timer event + when IDLE notifications are being received. + + This is needed by the IMAP IDLE mechanism to give the server an indication that the + connection is still active. + + + + + Retrieves IMAP QUOTA information for the specified mailbox. + + The mailbox to retrieve QUOTA information for. If this parameter is + null, the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + An enumerable collection of MailboxQuota objects describing usage and limits of the + quota roots for the mailbox. + The quota operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The IMAP4 QUOTA extension is not supported by + the server. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Releases all resources used by the current instance of the ImapClient class. + + + + + Releases all resources used by the current instance of the ImapClient class, optionally + disposing of managed resource. + + true to dispose of managed resources, otherwise false. + + + + Asserts the instance has not been disposed of and is in a valid state. + + The ImapClient object has been + disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when an I/O exception occurs in the idle-thread. + + + An I/O exception can occur if the underlying network connection has been reset or the + server unexpectedly closed the connection. + + + + + A delegate which is invoked during a call to GetMessage or GetMessages for every MIME part in + a multipart mail message. The delegate can examine the MIME body part and decide to either + include it in the returned mail message or dismiss it. + + A MIME body part of a mail message which consists of multiple parts. + true to include the body part in the returned MailMessage object, or false to skip + it. + + + + The exception that is thrown when an unexpected response is received from the server. + + + + + Initializes a new instance of the BadServerResponseException class + + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the BadServerResponseException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when the supplied credentials were rejected by the server. + + + + + Initializes a new instance of the InvalidCredentialsException class + + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the InvalidCredentialsException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when a client has not authenticated with the server and + attempts to call a method which can only be called when authenticated. + + + + + Initializes a new instance of the NotAuthenticatedException class + + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the NotAuthenticatedException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Provides access to status information such as the total number of messages and quota + information for a mailbox. + + + The terms "mailbox" and "folder" can be used interchangeably and refer to the IMAP concept of + multiple server-side directories into which messages can be stored (such as "Inbox", + "Sent Items", "Trash", etc.). + + + + + Initializes a new instance of the MailboxInfo class with the specified values. + + The IMAP name of the mailbox. + The IMAP flags set on this mailbox. + The number of messages in the mailbox. + The number of unread messages in the mailbox. + The next unique identifier (UID) of the mailbox. + The amount of used storage of the mailbox, in bytes. + The amount of free storage of the mailbox, in bytes. + + + + Returns the name of the mailbox. + + The name of the mailbox + + + + The name of the mailbox. + + + + + An enumerable collection of flags set on the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + The next unique identifier value of the mailbox. + + + + + The amount of used storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of used storage, this property will be 0. + + + + + The amount of free storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of free storage, this property will be 0. + + + + + Defines possible attributes for mailboxes. + + + + An IMAP mailbox can have a number of flags (read: attributes) set on it, indicating its + designated purpose (such as "Spam" or "Drafts"). + + + This is especially convenient when dealing with international mailbox names, because, by + examining the associated flags, the mailbox purpose can be determined, even if the mailbox + name provides no useful indication. + + + Unfortunately, as with many things IMAP, reporting the flags described here is an optional + extension (XLIST) to the IMAP protocol and as such may or may not be supported by an IMAP + server. + + + + + + The mailbox presents a view on all messages in the user's message store. + + + + + The mailbox is used to archive messages. The meaning of an "archival" mailbox is server + dependent. + + + + + The mailbox is used to hold draft messages, typically these are messages that are being + composed but have not yet been sent. + + + + + The mailbox is used to hold copies of messages that have been sent. + + + + + The mailbox is where messages deemed to be junk mail (spam) are held. + + + + + The mailbox is used to hold messages that have been deleted or marked for deletion. + + + + + Represents an IMAP QUOTA entry for a resource which typically consists of a resource name, + the current usage of the resource, and the resource limit. + + + + + Initializes a new instance of the MailboxQuota class with the specified values. + + The name of the resource this MailboxQuota instance describes. + The current usage of the resource in units of 1024 bytes. + The limit of the resource in units of 1024 bytes. + + + + The name of the resource this MailboxQuota instance describes. + + + + + The current usage of the resource this MailboxQuota instance describes, in bytes. + + + + + The limit of the resource this MailboxQuota instance describes, in bytes. + + + + + Represents the status information of a mailbox which can be constructed from the server + response to a STATUS command. + + + + + Initializes a new MailboxStatus instance with the specified number of total and unread + messages. + + The total number of messages in the mailbox. + The number of unread (unseen) messages in the mailbox. + The next unique identifier value of the mailbox + + + + The next unique identifier value of the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + Adds extension methods to the MailMessage class of the .NET Framework. + + + Most of the methods are only used internally and are not visible outside of the + S22.Imap assembly. + + + + + Returns the date and time the mail message was composed. + + The MailMessage instance to return the date and time for. + The date and time the mail message was composed, or null if the mail message + does not contain any date information. + + + + Constructs a textual representation of a mail message from the specified MailMessage + instance compliant with the RFC822 and MIME standards. + + The MailMessage instance to construct the textual representation + from. + An RFC822/MIME-compliant string representing the specified mail message. + The From property is null or has not been + properly initialized. + + + + Builds a RFC822/MIME-compliant mail header from the specified MailMessage instance and + returns it as a NameValueCollection. + + The MailMessage instance to build the header from. + A NameValueCollection representing the RFC822/MIME mail header fields. + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + priority values as defined in RFC2156. + + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + importance values as defined in RFC2156. + + + + + Takes a unicode string and encodes it using Q-encoding. + + The string to encode. + The input string encoded as Q-encoded string containing only ASCII + characters. + + + + Takes a unicode string and encodes it using Base64-encoding. + + The string to encode. + The input string encoded as Base64-encoded string containing only ASCII + characters. + + + + Creates an address string from the specified MailAddress instance in compliance with the + address specification as outlined in RFC2822 under section 3.4 + + The MailAddress instance to create the address string from. + An address string as is used in RFC822 mail headers. + + + + Generates a unique sequence of characters for indicating a boundary between parts in a + multipart message. + + A unique content boundary string. + + + + Builds an RFC822/MIME-compliant mail body from the specified MailMessage instance and + returns it as a formatted string. + + The MailMessage instance to build the mail body from. + The RFC822/MIME mail header to use for constructing the mail + body. + An RFC822/MIME-compliant mail body as a string. + According to RFC2822 each line of a mail message should at max be 78 characters in + length excluding carriage return and newline characters. This method accounts for that and + ensures line breaks are inserted to meet this requirement. + + + + Adds a body part to the specified Stringbuilder object composed from the Body and + BodyEncoding properties of the MailMessage class. + + The Stringbuilder to append the body part to. + The MailMessage instance to build the body part from. + The RFC822/MIME mail header to use for constructing the mail body. + Set to true to append body headers before adding the actual body + part content. + + + + Creates a MIME body part from an entry of the AlternateView or Attachments collection of a + MailMessage instance and appends it to the specified Stringbuilder instance. + + The Stringbuilder instance to append the body part to. + An entry from either the AlternateView or the Attachments collection of + a MailMessage instance. + + + + Creates a nested multipart/alternative part which contains all entries from the + AlternateViews collection of the specified MailMessage instance as well as the body part + for the Body and BodyEncoding properties of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose AlternateView collection will be added to the + nested multipart/alternative part. + The RFC822/MIME mail header to use for constructing the mail body. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + Creates a nested multipart/mixed part which contains all entries from the Attachments + collection of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose Attachments collection will be added to the + nested multipart/mixed part. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + A helper class for reading mail message data and building a MailMessage instance out of it. + + + + + Creates a new empty instance of the MailMessage class from a string containing a raw mail + message header. + + The mail header to create the MailMessage instance from. + A MailMessage instance with initialized Header fields but without any + content. + + + + Creates a new instance of the MailMessage class from a string containing raw RFC822/MIME + mail message data. + + The mail message data to create the MailMessage instance from. + An initialized instance of the MailMessage class. + This is used when fetching entire messages instead of the partial-fetch mechanism + because it saves redundant round-trips to the server. + + + + Parses the mail header of a mail message and returns it as a NameValueCollection. + + The mail header to parse. + A NameValueCollection containing the header fields as keys with their respective + values as values. + + + + Strips RFC822/MIME comments from the specified string. + + The string to strip comments from. + A new string stripped of any comments. + + + + Parses a MIME header field which can contain multiple 'parameter = value' + pairs (such as Content-Type: text/html; charset=iso-8859-1). + + The header field to parse. + A NameValueCollection containing the parameter names as keys with the respective + parameter values as values. + The value of the actual field disregarding the 'parameter = value' pairs is stored + in the collection under the key "value" (in the above example of Content-Type, this would + be "text/html"). + + + + Parses a mail header address-list field such as To, Cc and Bcc which can contain multiple + email addresses. + + The address-list field to parse + An array of MailAddress objects representing the parsed mail addresses. + + + + Splits the specified address-list into individual parts consisting of a mail address and + optionally a display-name. + + The address-list to split into parts. + An enumerable collection of parts. + + + + Parses a mail message identifier from a string. + + The field to parse the message id from + The field argument does not contain a valid message + identifier. + The parsed message id. + A message identifier (msg-id) is a globally unique identifier for a + message. + + + + Parses the priority of a mail message which can be specified as part of the header + information. + + The mail header priority value. The value can be null in which case + a "normal priority" is returned. + A value from the MailPriority enumeration corresponding to the specified mail + priority. If the passed priority value is null or invalid, a normal priority is assumed and + MailPriority.Normal is returned. + + + + Sets the address fields (From, To, CC, etc.) of a MailMessage object using the specified + mail message header information. + + The MailMessage instance to operate on. + A collection of mail and MIME headers. + + + + Adds a body part to an existing MailMessage instance. + + Extension method for the MailMessage class. + The body part to add to the MailMessage instance. + The content of the body part. + + + + Creates an instance of the Attachment class used by the MailMessage class to store mail + message attachments. + + The MIME body part to create the attachment from. + An array of bytes composing the content of the attachment. + An initialized instance of the Attachment class. + + + + Creates an instance of the AlternateView class used by the MailMessage class to store + alternate views of the mail message's content. + + The MIME body part to create the alternate view from. + An array of bytes composing the content of the alternate view. + An initialized instance of the AlternateView class. + + + + Parses the body part of a MIME/RFC822 mail message. + + The body of the mail message. + The header of the mail message whose body will be parsed. + An array of initialized MIMEPart instances representing the body parts of the mail + message. + + + + Parses the body of a multipart MIME mail message. + + An instance of the StringReader class initialized with a string + containing the body of the mail message. + The boundary value as is present as part of the Content-Type header + field in multipart mail messages. + An array of initialized MIMEPart instances representing the various parts of the + MIME mail message. + + + + Glue method to create a bodypart from a MIMEPart instance. + + The MIMEPart instance to create the bodypart instance from. + An initialized instance of the Bodypart class. + + + + Defines possible attributes for mail messages on an IMAP server. + + + + + Indicates that the message has been read. + + + + + Indicates that the message has been answered. + + + + + Indicates that the message is "flagged" for urgent/special attention. + + + + + Indicates that the message has been marked as "deleted" and will be removed upon the next + call to the Expunge method. + + + + + Indicates that the message has not completed composition and is marked as a draft. + + + + + Indicates that the message has recently arrived in the mailbox. + + + + + Represents a part of a MIME multi-part message. Each part consists of its own content header + and a content body. + + + + + A collection containing the content header information as key-value pairs. + + + + + A string containing the content body of the part. + + + + + A thread-safe Queue. + + + + + Adds an object to the end of the queue. + + The object to add to the queue. + + + + Removes and returns the object at the beginning of the queue. If the queue is empty, the + method blocks the calling thread until an object is put into the queue by another thread. + + The object that was removed from the beginning of the queue. + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of NTLM messages. + + + + + Reads an ASCII-string of the specified length from this instance. + + Extension method for the BinaryReader class. + The number of bytes to read from the underlying + stream. + A string decoded from the bytes read from the underlying + stream using the ASCII character set. + + + + The NTLM flags which are contained in a bitfield within the header of + an NTLM message. + + + + + Indicates that Unicode strings are supported for use in security + buffer data. + + + + + Indicates that OEM strings are supported for use in security + buffer data. + + + + + Requests that the server's authentication realm be included in + the Type 2 message. + + + + + Specifies that authenticated communication between the client and + server should carry a digital signature (message integrity). + + + + + Specifies that authenticated communication between the client and + server should be encrypted (message confidentiality). + + + + + Indicates that datagram authentication is being used. + + + + + Indicates that the Lan Manager Session Key should be used for signing + and sealing authenticated communications. + + + + + This flag's usage has not been identified. + + + + + Indicates that NTLM authentication is being used. + + + + + Sent by the client in the Type 3 message to indicate that an anonymous + context has been established. This also affects the response fields. + + + + + Sent by the client in the Type 1 message to indicate that the name of + the domain in which the client workstation has membership is included + in the message. This is used by the server to determine whether the + client is eligible for local authentication. + + + + + Sent by the client in the Type 1 message to indicate that the client + workstation's name is included in the message. This is used by the + server to determine whether the client is eligible for local + authentication. + + + + + Sent by the server to indicate that the server and client are on the + same machine. Implies that the client may use the established local + credentials for authentication instead of calculating a response to + the challenge. + + + + + Indicates that authenticated communication between the client and + server should be signed with a "dummy" signature. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a domain. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a server. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a share. Presumably, this is for share-level + authentication. Usage is unclear. + + + + + Indicates that the NTLM2 signing and sealing scheme should be used for + protecting authenticated communications. Note that this refers to a + particular session security scheme, and is not related to the use of + NTLMv2 authentication. This flag can, however, have an effect on the + response calculations. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + Sent by the server in the Type 2 message to indicate that it is including + a Target Information block in the message. The Target Information block + is used in the calculation of the NTLMv2 response. + + + + + Indicates that 128-bit encryption is supported. + + + + + Indicates that the client will provide an encrypted master key in the + "Session Key" field of the Type 3 message. + + + + + Indicates that 56-bit encryption is supported. + + + + + Represents the data contained in the target information block of an + NTLM type 2 message. + + + + + The server name. + + + + + The domain name. + + + + + The fully-qualified DNS host name. + + + + + The fully-qualified DNS domain name. + + + + + Describes the different versions of the Type 2 message that have + been observed. + + + + + The version is unknown. + + + + + This form is seen in older Win9x-based systems. + + + + + This form is seen in most out-of-box shipping versions of Windows. + + + + + This form was introduced in a relatively recent Service Pack, and + is seen on currently-patched versions of Windows 2000, Windows XP, + and Windows 2003. + + + + + Indicates the type of data in Type 2 target information blocks. + + + + + Signals the end of the target information block. + + + + + The data in the information block contains the server name. + + + + + The data in the information block contains the domain name. + + + + + The data in the information block contains the DNS hostname. + + + + + The data in the information block contans the DNS domain name. + + + + + Computes the MD4 hash value for the input data. + Courtesy of Keith Wood. + + + + + Describes the different types of NTLM messages. + + + + + An NTLM type 1 message is the initial client response to the + server. + + + + + An NTLM type 2 message is the challenge sent by the server in + response to an NTLM type 1 message. + + + + + An NTLM type 3 message is the challenge response sent by the client + in response to an NTLM type 2 message. + + + + + Indicates the version and build number of the operating system. + + + + + Default constructor. + + + + + Creates a new instance of the OSVersion class using the specified + values. + + The major version of the operating + system. + The minor version of the operating + system. + The build number of the operating systen. + + + + Serializes this instance of the OSVersion class to an array of + bytes. + + An array of bytes representing this instance of the OSVersion + class. + + + + The major version number of the operating system. + + + + + The minor version number of the operating system. + + + + + The build number of the operating system. + + + + + Contains methods for calculating the various Type 3 challenge + responses. + + + + + Computes the LM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account name to authenticate with. + The user account password. + The target information block from + the NTLM type 2 message. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Computes the LMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account to authenticate with. + The user account password. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Creates the LM Hash of the specified password. + + The password to create the LM Hash of. + The LM Hash of the given password, used in the calculation + of the LM Response. + Thrown if the password argument + is null. + + + + Creates a DES encryption key from the specified key material. + + The key material to create the DES encryption + key from. + An offset into the byte array at which to + extract the key material from. + A 56-bit DES encryption key as an array of bytes. + + + + Applies odd parity to the specified byte array. + + The byte array to apply odd parity to. + A reference to the byte array. + + + + Creates the LM Response from the specified hash and Type 2 challenge. + + An LM or NTLM hash. + The server challenge from the Type 2 + message. + The challenge response as an array of bytes. + Thrown if the hash or the + challenge parameter is null. + + + + Creates the NTLM Hash of the specified password. + + The password to create the NTLM hash of. + The NTLM hash for the specified password. + Thrown if the password + parameter is null. + + + + Creates the NTLMv2 Hash of the specified target, username + and password values. + + The name of the authentication target as is + specified in the target name field of the NTLM type 3 message. + The user account name. + The password for the user account. + The NTLMv2 hash for the specified input values. + Thrown if the username or + the password parameter is null. + + + + Returns the current time as the number of tenths of a microsecond + since January 1, 1601. + + The current time as the number of tenths of a microsecond + since January 1, 1601. + + + + Creates the "blob" data block which is part of the NTLMv2 challenge + response. + + The target information block from + the NTLM type 2 message. + A random 8-byte client nonce. + The blob, used in the calculation of the NTLMv2 Response. + + + + Creates the LMv2 Response from the given NTLMv2 hash, client data, and + Type 2 challenge. + + The NTLMv2 Hash. + The client data (blob or client nonce). + The server challenge from the Type 2 message. + The response which is either for NTLMv2 or LMv2, depending + on the client data. + + + + Represents an NTLM security buffer, which is a structure used to point + to a buffer of binary data within an NTLM message. + + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The length of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length value exceeds + the maximum value allowed. The security buffer structure stores the + length value as a 2-byte short value. + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The data of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length of the data + buffer exceeds the maximum value allowed. The security buffer structure + stores the buffer length value as a 2-byte short value. + + + + Serializes this instance of the SecurityBuffer into an array of bytes. + + A byte array representing this instance of the SecurityBuffer + class. + + + + The length of the buffer content in bytes (may be zero). + + + + + The allocated space for the buffer in bytes (typically the same as + the length). + + + + + The offset from the beginning of the NTLM message to the start of + the buffer, in bytes. + + + + + Represents an NTLM Type 1 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 1 for an NTLM Type 1 message. + + + + + Creates a new instance of the Type1Message class using the specified + domain and workstation names. + + The domain in which the client's workstation has + membership. + The client's workstation name. + Thrown if the domain or the + workstation parameter is null. + Thrown if the domain + or the workstation name exceeds the maximum allowed string + length. + The domain as well as the workstation name is restricted + to ASCII characters and must not be longer than 65536 characters. + + + + + Serializes this instance of the Type1 class to an array of bytes. + + An array of bytes representing this instance of the Type1 + class. + + + + The NTLM flags set on this instance. + + + + + The supplied domain name as an array of bytes in the ASCII + range. + + + + + The offset within the message where the domain name data starts. + + + + + The supplied workstation name as an array of bytes in the + ASCII range. + + + + + The offset within the message where the workstation name data starts. + + + + + The length of the supplied workstation name as a 16-bit short value. + + + + + Contains information about the client's OS version. + + + + + Represents an NTLM Type 2 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 2 for an NTLM Type 2 message. + + + + + Private constructor. + + + + + Deserializes a Type 2 message instance from the specified buffer + of bytes. + + The buffer containing a sequence of bytes + representing an NTLM Type 2 message. + An initialized instance of the Type2 class. + Thrown if an error occurs + during deserialization of the Type 2 message. + + + + Determines the version of an NTLM type 2 message. + + The target offset field of the NTLM + type 2 message. + A value from the Type2Version enumeration. + + + + Reads the OS information data present in version 3 of an NTLM + type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the OSVersion class. + + + + Reads the target information data present in version 2 and 3 of + an NTLM type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the Type2TargetInformation + class. + + + + Retrieves the target name from the specified byte array. + + A byte array containing the target name. + If true the target name will be decoded + using UTF-16 unicode encoding. + + + + + The challenge is an 8-byte block of random data. + + + + + The target name of the authentication target. + + + + + The NTLM flags set on this message. + + + + + The SSPI context handle when a local call is being made, + otherwise null. + + + + + Contains the data present in the OS version structure. + + + + + The version of this Type 2 message instance. + + + + + Contains the data present in the target information block. + + + + + Contains the raw data present in the target information block. + + + + + Represents an NTLM Type 3 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 3 for an NTLM Type 3 message. + + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. All security buffers will + be encoded as Unicode. + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + Set this to true, if Unicode encoding has been + negotiated between client and server. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. + Thrown if the username, password + or challenge parameters are null. + + + + Serializes this instance of the Type3 class to an array of bytes. + + An array of bytes representing this instance of the Type3 + class. + + + + Returns a random 8-byte cnonce value. + + A random 8-byte cnonce value. + + + + The NTLM flags set on this instance. + + + + + The "Lan Manager" challenge response. + + + + + The offset at which the LM challenge response data starts. + + + + + The NTLM challenge response. + + + + + The offset at which the NTLM challenge response data starts. + + + + + The authentication realm in which the authenticating account + has membership. + + + + + The offset at which the target name data starts. + + + + + The authenticating account name. + + + + + The offset at which the username data starts. + + + + + The client workstation's name. + + + + + The offset at which the client workstation's name data starts. + + + + + The session key value which is used by the session security mechanism + during key exchange. + + + + + The offset at which the session key data starts. + + + + + Contains the data present in the OS version structure. + + + + + The encoding used for transmitting the contents of the various + security buffers. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2195. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslCramMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Cram-Md5 challenge. + + The challenge sent by the server + The response to the Cram-Md5 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Cram-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2831. + + + + + The client nonce value used during authentication. + + + + + Cram-Md5 involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslDigestMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Digest-Md5 challenge. + + The challenge sent by the server + The response to the Digest-Md5 challenge. + Thrown if the response could not + be computed. + + + + Parses the challenge string sent by the server in response to a Digest-Md5 + authentication request. + + The challenge sent by the server as part of + "Step One" of the Digest-Md5 authentication mechanism. + An initialized NameValueCollection instance made up of the + attribute/value pairs contained in the challenge. + Thrown if the challenge parameter + is null. + Refer to RFC 2831 section 2.1.1 for a detailed description of the + format of the challenge sent by the server. + + + + Computes the "response-value" hex-string which is part of the + Digest-MD5 challenge-response. + + A collection containing the attributes + and values of the challenge sent by the server. + The cnonce value to use for computing + the response-value. + The "digest-uri" string to use for + computing the response-value. + The username to use for computing the + response-value. + The password to use for computing the + response-value. + A string containing a hash-value which is part of the + response sent by the client. + Refer to RFC 2831, section 2.1.2.1 for a detailed + description of the computation of the response-value. + + + + Calculates the MD5 hash value for the specified string. + + The string to calculate the MD5 hash value for. + The encoding to employ for encoding the + characters in the specified string into a sequence of bytes for + which the MD5 hash will be calculated. + An MD5 hash as a 32-character hex-string. + Thrown if the input string + is null. + + + + Encloses the specified string in double-quotes. + + The string to enclose in double-quote characters. + The enclosed string. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Digest-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLM authentication method which is used in various + Microsoft network protocol implementations. + + Implemented with the help of the excellent documentation on + NTLM composed by Eric Glass. + + + + NTLM involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlm class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an NTLM challenge. + + The challenge sent by the server. Since + NTLM expects an initial client response, this will usually be + empty. + The initial response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the NTLM authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLMv2 authentication method which addresses + some of the security issues present in NTLM version 1. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlmv2 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + Implements the Sasl OAuth authentication method. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + Thrown if the accessToken + parameter is null. + Thrown if the accessToken + parameter is empty. + + + + Computes the client response for a OAuth challenge. + + The challenge sent by the server. + The response to the OAuth challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth authentication mechanism. + + + + + The access token to authenticate with. + + + + + Implements the Sasl OAuth 2.0 authentication method. + + + + + The server sends an error response in case authentication fails + which must be acknowledged. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + The username to authenticate with. + Thrown if the username + or the accessToken parameter is null. + Thrown if the username or + the accessToken parameter is empty. + + + + Computes the client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth 2.0 authentication mechanism. + + + + + The username to authenticate with. + + + + + The access token to authenticate with. + + + + + Implements the Sasl Plain authentication method as described in + RFC 4616. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslPlain class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response for a plain-challenge. + + The challenge sent by the server. For the + "plain" mechanism this will usually be empty. + The response for the "plain"-challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Plain authentication mechanism as described + in RFC 4616. + + + + + The username to authenticate with. + + + + + The plain-text password to authenticate with. + + + + + The exception is thrown when a Sasl-related error or unexpected condition occurs. + + + + + Initializes a new instance of the SaslException class + + + + + Initializes a new instance of the SaslException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the SaslException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the SaslException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + A factory class for producing instances of Sasl mechanisms. + + + + + Creates an instance of the Sasl mechanism with the specified + name. + + The name of the Sasl mechanism of which an + instance will be created. + An instance of the Sasl mechanism with the specified name. + Thrown if the name parameter + is null. + Thrown if the Sasl mechanism with the + specified name is not registered with Sasl.SaslFactory. + + + + Registers a Sasl mechanism with the factory using the specified name. + + The name with which to register the Sasl mechanism + with the factory class. + The type of the class implementing the Sasl mechanism. + The implementing class must be a subclass of Sasl.SaslMechanism. + Thrown if the name or the t + parameter is null. + Thrown if the class represented + by the specified type does not derive from Sasl.SaslMechanism. + Thrown if the Sasl mechanism could not + be registered with the factory. Refer to the inner exception for error + details. + + + + Static class constructor. Initializes static properties. + + + + + A dictionary of Sasl mechanisms registered with the factory class. + + + + + Represents chainable search conditions that can be used with the Search method. + + + + + Finds all messages in the mailbox. + + A SearchCondition object representing the "all" search criterion. + + + + Finds messages that contain the specified string in the header or body of the message. + + String to search messages for. + A SearchCondition object representing the "text" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's BCC field. + + String to search the envelope structure's BCC field for. + A SearchCondition object representing the "BCC" search criterion. + The text parameter is null. + + + + Finds messages whose internal date (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the message's internal date with. + A SearchCondition object representing the "Before" search criterion. + + + + Finds messages that contain the specified string in the body of the message. + + String to search the message body for. + A SearchCondition object representing the "Body" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's CC field. + + String to search the envelope structure's CC field for. + A SearchCondition object representing the "CC" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's FROM field. + + String to search the envelope structure's FROM field for. + A SearchCondition object representing the "FROM" search criterion. + The text parameter is null. + + + + Finds messages that have a header with the specified field-name and that contains the + specified string in the text of the header. + + field-name of the header to search for. + String to search for in the text of the header. + A SearchCondition object representing the "HEADER" search criterion. + + If the string to search is zero-length, this matches all messages that have a header line + with the specified field-name regardless of the contents. + + The name parameter or the text parameter is + null. + + + + Finds messages with the specified keyword flag set. + + The keyword flag to search for. + A SearchCondition object representing the "KEYWORD" search criterion. + The text parameter is null. + + + + Finds messages with a size larger than the specified number of bytes. + + Minimum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "LARGER" search criterion. + + + + Finds messages with a size smaller than the specified number of bytes. + + Maximum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "SMALLER" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTBEFORE" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within the specified + date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTON" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within or later than + the specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTSINCE" search criterion. + + + + Finds messages that contain the specified string in the envelope structure's SUBJECT field. + + String to search the envelope structure's SUBJECT field for. + A SearchCondition object representing the "SUBJECT" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's TO field. + + String to search the envelope structure's TO field for. + A SearchCondition object representing the "TO" search criterion. + The text parameter is null. + + + + Finds messages with unique identifiers corresponding to the specified unique identifier set. + + One or several unique identifiers (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages with a unique identifier greater than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + Because of the nature of the IMAP search mechanism, the result set will always contain the + UID of the last message in the mailbox, even if said UID is smaller than the UID specified. + + + + + Finds messages with a unique identifier less than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages that do not have the specified keyword flag set. + + The IMAP keyword flag to search for. + A SearchCondition object representing the "UNKEYWORD" search criterion. + The text parameter is null. + + + + Finds messages that have the \Answered flag set. + + A SearchCondition object representing the "ANSWERED" search criterion. + + + + Finds messages that have the \Deleted flag set. + + A SearchCondition object representing the "DELETED" search criterion. + + + + Finds messages that have the \Draft flag set. + + A SearchCondition object representing the "DRAFT" search criterion. + + + + Finds messages that have the \Flagged flag set. + + A SearchCondition object representing the "FLAGGED" search criterion. + + + + Finds messages that have the \Recent flag set but not the \Seen flag. + + A SearchCondition object representing the "NEW" search criterion. + + + + Finds messages that do not have the \Recent flag set. + + A SearchCondition object representing the "OLD" search criterion. + + + + Finds messages that have the \Recent flag set. + + A SearchCondition object representing the "RECENT" search criterion. + + + + Finds messages that have the \Seen flag set. + + A SearchCondition object representing the "SEEN" search criterion. + + + + Finds messages that do not have the \Answered flag set. + + A SearchCondition object representing the "UNANSWERED" search criterion. + + + + Finds messages that do not have the \Deleted flag set. + + A SearchCondition object representing the "UNDELETED" search criterion. + + + + Finds messages that do not have the \Draft flag set. + + A SearchCondition object representing the "UNDRAFT" search criterion. + + + + Finds messages that do not have the \Flagged flag set. + + A SearchCondition object representing the "UNFLAGGED" search criterion. + + + + Finds messages that do not have the \Seen flag set. + + A SearchCondition object representing the "UNSEEN" search criterion. + + + + Logically ANDs multiple search conditions, meaning a message will only be included in the + search result if both of the ANDed conditions are met. + + A search condition to logically AND this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically negates search conditions, meaning a message will only be included in the search + result if the specified conditions are not met. + + A search condition that must not be met by a message for it to be + included in the search result set. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically ORs multiple search conditions, meaning a message will be included in the search + result if it meets at least either of the conditions. + + A search condition to logically OR this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Joins two SearchCondition objects into a new one using the specified logical operator. + + The logical operator to use for joining the search conditions. + Possible values are "OR", "NOT" and the empty string "" which denotes a logical AND. + The first SearchCondition object + The second SearchCondition object + A new SearchCondition object representing the two search conditions joined by the + specified logical operator. + + + + Concatenates the members of a collection, using the specified separator between each + member. + + The type of the members of values. + The string to use as a separator. + A collection that contains the objects to concatenate. + A string that consists of the members of values delimited by the separator + string. If values has no members, the method returns System.String.Empty. + The values parameter is null. + This is already part of the String class in .NET 4.0 and newer but is needed + for backwards compatibility with .NET 3.5. + + + + Constructs a string from the SearchCondition object using the proper syntax as is required + for the IMAP SEARCH command. + + A string representing this SearchCondition instance that can be used with the IMAP + SEARCH command. + + + + The search keys which can be used with the IMAP SEARCH command, as are defined in section + 6.4.4 of RFC 3501. + + + + + A static utility class containing methods for decoding encoded non-ASCII data as well as + extension methods for some classes of the base class library. + + + + + Returns a copy of the string enclosed in double-quotes and with escaped CRLF, back-slash + and double-quote characters (as is expected by some commands of the IMAP protocol). + + Extends the System.String class + A copy of the string enclosed in double-quotes and properly escaped as is required + by the IMAP protocol. + + + + Returns true if the string contains only ASCII characters. + + Extension method for the String class. + true if the string contains only ASCII characters; Otherwise false. + + + + Splits a string into chunks of the specified number of characters. + + Extension method for the String class. + The length of a chunk, measured in characters. + An array of string chunks. + + + + Determines whether the specified string occurs within this string. + + Extension method for the String class. + The string to seek. + One of the enumeration values that specifies the rules for the + search. + true if the value parameter occurs within this string, or if value is the empty + string (""); otherwise, false. + The value parameter is null. + + + + Raises the event. Ensures the event is only raised, if it is not null. + + Extends System.EventHandler class. + Extends System.EventHandler class. + The sender of the event. + The event arguments associated with this event. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + The name to use when throwing an exception, if necessary. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + The name to use when throwing an exception, if necessary. + + + + Reads an unsigned short value from the underlying stream, optionally using big-endian byte + ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value as big endian value. + The 16-byte unsigned short value read from the underlying stream. + + + + Decodes a string composed of one or several MIME 'encoded-words'. + + A string to composed of one or several MIME 'encoded-words'. + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A concatenation of all enconded-words in the passed string + + + + Internal function reuse to add separation between multiple 'encoded-word's correctly. + + + + + The regular expression for matching encoded-words. This also accounts for the extension for + including language information (as defined in RFC2231). + + + + + Decodes a MIME 'encoded-word' string. + + The encoded word to decode + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A decoded string + MIME encoded-word syntax is a way to encode strings that contain non-ASCII data. + Commonly used encodings for the encoded-word sytax are Q-Encoding and Base64. For an + in-depth description, refer to RFC 2047. + + + + Takes a Q-encoded string and decodes it using the specified encoding. + + The Q-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid Q-encoded string. + The Q-decoded string. + + + + Takes a quoted-printable encoded string and decodes it using the specified encoding. + + The quoted-printable-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid quoted-printable encoded + string. + A quoted-printable decoded string. + + + + Decodes the specified MIME parameter value. + + The MIME parameter value to decode. + The decoded MIME parameter value. + The specified value is not a valid Rfc2231-encoded + string. + Refer to RFC2231 for the details of the encoding mechanism. + + + + Takes a Base64-encoded string and decodes it. + + The Base64-encoded string to decode. + A byte array containing the Base64-decoded bytes of the input string. + The value parameter is null. + The length of value, ignoring white-space + characters, is not zero or a multiple of 4, or the format of value is invalid, or the value + contains a non-base-64 character, more than two padding characters, or a non-white + space-character among the padding characters. + + + + Takes a UTF-16 encoded string and encodes it as modified UTF-7. + + The string to encode. + A UTF-7 encoded string + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + Takes a modified UTF-7 encoded string and decodes it. + + The UTF-7 encoded string to decode. + A UTF-16 encoded "standard" C# string + The input string is not a properly UTF-7 encoded + string. + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + This just wraps Encoding.GetEncoding in a try-catch block to ensure it never fails. If the + encoding can not be determined ASCII is returned as a default. + + The code page name of the preferred encoding. Any value returned by + System.Text.Encoding.WebName is a valid input. + The System.Text.Encoding associated with the specified code page or Encoding.ASCII + if the specified code page could not be resolved. + + + + Converts the specified enumerable collection of UIDs into an IMAP sequence-set. + + An enumerable collection of UIDs. + An IMAP sequence-set suitable for use with IMAP commands. + The uids parameter is null. + The specified collection of UIDs is empty. + Refer to RFC3501, 9.Formal Syntax "sequence-set" for a description of IMAP + sequence-sets. + + + diff --git a/App/CONFIG_APP/frmMain.vb b/App/CONFIG_APP/frmMain.vb index ff72104..26cb12d 100644 --- a/App/CONFIG_APP/frmMain.vb +++ b/App/CONFIG_APP/frmMain.vb @@ -665,7 +665,7 @@ Public Class frmMain My.Settings.Save() Dim PWPlain = _Encryption.DecryptData(EMAIL_PWTextBox.Text) - Dim oResult = _emailIMAP.TestIMAPLogin(EMAIL_SMTPTextBox.Text, PORT_INTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, txtInboxname.Text) + Dim oResult = _emailIMAP.FetchIMAPMessages(EMAIL_SMTPTextBox.Text, PORT_INTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, txtInboxname.Text, True) If oResult = False Then MsgBox("Access Imap NOT successfull", MsgBoxStyle.Critical) diff --git a/App/CONFIG_APP/obj/Debug/CONFIG_APP.exe b/App/CONFIG_APP/obj/Debug/CONFIG_APP.exe index 1697ce33d6048efde21bcad4351f6f072d8d70f0..02e3f0ab7016b48c77f836a4813e59135931c5ee 100644 GIT binary patch delta 82667 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 KWzbs3q2k{Xk9Dg6 delta 82464 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 Wrz0*Ug|+-Fu&dDWN2osl%=`}?8e0zl diff --git a/App/CONFIG_APP/obj/Debug/CONFIG_APP.pdb b/App/CONFIG_APP/obj/Debug/CONFIG_APP.pdb index a03eba37c17f5caac53252e63d171a60140b5e76..6777e3ec8fdd3b4420e7aade0803a80d09f634c9 100644 GIT binary patch delta 42080 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�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

;GxIF7-e*{Mtg*iE84fH}CgBt9m&VUX zNv)t?PL&=CJjVd;Tj*JAzk_r&%uryoteJQpZPVjgci{@^q`zez^_lsG39UXZJuB$7 z>=C0;P8x%ZT|7;Fs;#7v-L{BPKMzTjnmrj~+(O^(ofu0-j9uV_#w@GA9a7XCtGj7H zldWv2*nvA;p-uH^TB{J7sc2$E$AD3kcFG;mRp$*XoG<4L2+zUjyPKtK%`?U5+S-y*! zY$;hE(3fwG1_wz*gX5yXStjU~oYacZc)=r<`POGzNO(6{yyY)7Htuf`x#?i;=EPXt zl27eEh%xT>zFpiYt!0x!S4rK2-C!8*aGECD_$o8oXNoPe-DfyaRBgWVnYt3(3zJ?I z^TWZF$_#@^mWq$)hS`KU`5{l~jnLd|_LA!=M8F`A?P9LezI8XZw2aYJS#b;Qz1H)ktGIuXc#YE7LFzEE9 zx#?);23lsc&rGw-QlELpG7+Eo)-vAdn4eaXyARLZeCF4d`MuAuuZ7x_`pgc=+E4aQ zo|Y;5c~@`=O_Jp9CtugfWHdqE^(%0GltPw-D}jkNBqrpR{Z%X7MEcz7f3kXBfnyzN z|2N~D*+(WgG#Y%)1l^baRukLZj%ZVNKaH`xBhNoTrdyne*<~U|?ZzO++q9pT;6dyP zeWu(pM||e2Wv>1z7AsYJ9r05X#UB8L>yw@-+ z6|n|9CaS?6-{8;Ip#E8F&_;5}TBwf=xYYYXnWM?Q#A3mu+@moY+)Nn z)?t!reJ;lIvCMCLW`bqr`OJFD?DCl}EOW_c5@f;=s+un^3f(O9mHmX=q3897K;#IQ z^5Zd)R!KdIX`b{@SZu)Mh$*sNc9h23D*39|W8tvuCFFi%;_pZAejgKg#7jAbGU;3M zgX0*=)-f^INwQJWW%CpsG~i~TZzI7^yvDA6#hNKqsvIqsk9qBa?aSMK;+=34W)58Y nuxdBFe`jvp9Ru%OJ0fXV_a%va%bT9`4m!LiJ@>iSxbgo2wEkkJ diff --git a/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.CoreCompileInputs.cache b/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.CoreCompileInputs.cache index 588c15c..02de3ca 100644 --- a/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.CoreCompileInputs.cache +++ b/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.CoreCompileInputs.cache @@ -1 +1 @@ -4256f12197ded35be4e879c825880b46866bf653 +24c23c6a1a08822658338bc1efd1138033e53eb9 diff --git a/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.FileListAbsolute.txt b/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.FileListAbsolute.txt index 6a45416..7863c2f 100644 --- a/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.FileListAbsolute.txt +++ b/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbproj.FileListAbsolute.txt @@ -109,6 +109,6 @@ E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\obj\Debug\CONFIG E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\obj\Debug\CONFIG_APP.exe E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\obj\Debug\CONFIG_APP.xml E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\obj\Debug\CONFIG_APP.pdb -E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\bin\Debug\AE.Net.Mail.dll -E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\bin\Debug\AE.Net.Mail.pdb E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\obj\Debug\CONFIG_APP.vbprojAssemblyReference.cache +E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\bin\Debug\S22.Imap.dll +E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\CONFIG_APP\bin\Debug\S22.Imap.xml diff --git a/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbprojAssemblyReference.cache b/App/CONFIG_APP/obj/Debug/CONFIG_APP.vbprojAssemblyReference.cache index 5666f8f9d62a8ad3d8338f8e739c73f984b84cd9..ad737e8eb35303176a8507e44c163cfd94828610 100644 GIT binary patch literal 249969 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 literal 244720 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 delta 401 zcmX>RcsF3f79KWT1_lN;$;oxRE}Q@H%;1{LD3Q--KDkgLlhpz!Q#M&ZC3NxzNuJ3L zl46XOK=A}Fm&B4py_B3BHmk`8CG#1rCmTwou-X6>r$ZHU2oxojXXd4Y71;tM@}Lsz zlar-|S?z!#8DNnM(ju((Kwc?a-c?45(P46eOyT5snM9tDqQt!7#N?99{Ji4HXJpbQ zFOd~wbe{ZAJYlk!oDi!EP-`+wD{n+@4%k9hxbYh#**AZZV`de10}8=_ARCay2*hme zlX+B-7iaew5WIk0-5kH_B-s+&la<|N!RKLXB)LJ(G$q#s4Ca+f&VGID; U9m&KNI9XmTo6&7^x0)>z0OGl1)Bpeg diff --git a/App/DigitalData.EMLProfiler/bin/Debug/DigitalData.EMLProfiler.dll b/App/DigitalData.EMLProfiler/bin/Debug/DigitalData.EMLProfiler.dll index ea185866454c0a788cc6c79bc4496ba25794a3a5..e40f034c3f2ead090560d1dba8be05c4019034c1 100644 GIT binary patch delta 33087 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 + + + Uses a private API from MailWriter to write a MailMessage to disk. + May break in future versions of .NET + + Konstruktor für die windream-Klasse diff --git a/App/DigitalData.EMLProfiler/bin/Debug/S22.Imap.dll b/App/DigitalData.EMLProfiler/bin/Debug/S22.Imap.dll new file mode 100644 index 0000000000000000000000000000000000000000..278607803aba7a9b435eb772b95e5b0575b6ddf1 GIT binary patch literal 132096 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 + + + S22.Imap + + + + + Defines supported means of authenticating with an IMAP server. + + + + + Automatically selects the most-secure authentication mechanism supported by the server. + + + + + Login using plaintext password authentication; This is supported by most servers. + + + + + Login using the SASL PLAIN authentication mechanism. + + + + + Login using the CRAM-MD5 authentication mechanism. + + + + + Login using the DIGEST-MD5 authentication mechanism. + + + + + Login using OAuth via the SASL XOAuth mechanism. + + + + + Login using OAuth 2.0 via the SASL XOAUTH2 mechanism. + + + + + Login using the NTLM authentication mechanism. + + + + + Login using the NTLMv2 authentication mechanism. + + + + + Login using the NTLM/NTLMv2 authentication mechanism via Microsoft's Security Support + Provider Interface (SSPI). + + + + + Login using Kerberos authentication via the SASL GSSAPI mechanism. + + + + + Login using the SCRAM-SHA-1 authentication mechanism. + + + + + Login using the Secure Remote Password (SRP) authentication mechanism. + + The SRP mechanism is only available when targeting .NET 4.0 or newer. + + + + A utility class modeled after the BCL StringBuilder to simplify + building binary-data messages. + + + + + The actual byte buffer. + + + + + The current position in the buffer. + + + + + Resizes the internal byte buffer. + + Amount in bytes by which to increase the + size of the buffer. + + + + Appends one or several byte values to this instance. + + Byte values to append. + A reference to the calling instance. + + + + Appends the specified number of bytes from the specified buffer + starting at the specified offset to this instance. + + The buffer to append bytes from. + The offset into the buffert at which to start + reading bytes from. + The number of bytes to read from the buffer. + A reference to the calling instance. + + + + Appends the specified 32-bit integer value to this instance. + + A 32-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit short value to this instance. + + A 16-bit short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit unsigend short value to this instance. + + A 16-bit unsigend short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 32-bit unsigned integer value to this instance. + + A 32-bit unsigned integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 64-bit integer value to this instance. + + A 64-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified string using the specified encoding to this + instance. + + The string vale to append. + The encoding to use for decoding the string value + into a sequence of bytes. If this is null, ASCII encoding is used as a + default. + A reference to the calling instance. + + + + Returns the ByteBuilder's content as an array of bytes. + + An array of bytes. + + + + Removes all bytes from the current ByteBuilder instance. + + + + + The length of the underlying data buffer. + + + + + A filter stream sitting between Negotiate- and NetworkStream to + enable managed NTLM/GSSAPI authentication. + + + We use a filter for hooking into the NegotiateStream protocol rather + than p/invoking SSPI directly as that would require unmanaged + code privileges (internally NegotiateStream uses an SSPI wrapper). + + NegotiateStream - FilterStream - NetworkStream. + + + + + A buffer for accumulating handshake data until an entire handshake + has been read. + + + + + A buffer for accumulating the payload data following the handshake + data. + + + + + The latest handshake header sent by the client. + + + + + The buffer from which client reads will be satisfied. + + + + + The number of bytes the client has already consumed/read + from the receivedData buffer. + + + + + The current state of the filter stream. + + + + + Determines whether this instance should close the inner stream + when disposed. + + + + + An error code as specified by the NegotiateStream protocol which is + handed to the NegotiateStream instance in case authentication + unexpectedly fails. + + + + + Gets the stream used by this FilterStream for sending and + receiving data. + + + + + Initializes a new instance of the FilterStream class using the + specified Stream. + + A Stream object used by the FilterStream for sending + and receiving data. + Set to true to indicate that closing this + FilterStream has no effect on innerstream, or set to false to + indicate that closing this FilterStream also closes innerStream. + + + + Reads data from this stream and stores it in the specified array. + + A byte array that receives the bytes read from + the stream. + The zero-based index into the buffer at which to + begin storing the data read from this stream. + The the maximum number of bytes to read from the + stream. + The the number of bytes read from the underlying stream. When + there is no more data to be read, returns 0. + The read operation failed. + + + + Reads the server response from the underlying inner stream. + + + + + Write the specified number of bytes to the underlying stream using the + specified buffer and offset. + + A byte array that supplies the bytes written to + the stream. + The zero-based index in the buffer at which to + begin reading bytes to be written to the stream. + The number of bytes to read from buffer. + The write operation failed. + + + + Reads the client's handshake from the specified buffer. + + A byte array from which the handshake data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if the handshake has been read completely, otherwise + false. + + + + Reads the payload from the specified buffer. + + A byte array from which the payload data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if all of the payload data has been read, otherwise + false. + + + + Sends the accumulated payload data to the server. + + true if the client is done sending data, otherwise + false. + + + + Reads a line of ASCII-encoded text terminated by a CRLF from the + specified stream. + + The stream to read the line of text from. + Set this to true, to resolve automatically + resolve possible literals. + A line of ASII-encoded text read from the specified + stream. + "Literals" are a special feature of IMAP, employed by some + server implementations. Please refer to RFC 3501 Section 4.3 for + details. + + + + Reads the specified number of bytes from the specified stream and + returns them as an ASCII-encoded string. + + The stream to read from. + The number of bytes to read. + The read bytes encoded as an ASCII string. + + + + Causes any buffered data to be written to the underlying device. + + + + + Throws NotSupportedException. + + This value is ignored. + This value is ignored. + Always throws a NotSupportedException. + + + + Sets the length of the underlying stream. + + A value that specifies the length of the + stream. + + + + Releases all resources used by the stream. + + True to release both managed and unmanaged + resources, false to release only unmanaged resources. + + + + Gets a boolean value that indicates whether the underlying stream is + readable. + + + + + Gets a boolean value that indicates whether the underlying stream is + seekable. + + + + + Gets a boolean value that indicates whether the underlying stream + supports time-outs. + + + + + Gets a boolean value that indicates whether the underlying stream is + writable. + + + + + Gets the length of the underlying stream. + + + + + Gets or sets the current position in the underlying stream. + + Setting this property + is not supported. + + + + The different states the FilterStream can be in. + + + + + The stream is reading the client's handshake message. + + + + + The stream is reading the client's payload data. + + + + + The stream is waiting for the server's response. + + + + + The stream has buffered the server's response and is satisfying + client reads from its buffer. + + + + + Represents a NegotiateStream handshake message. + + + + + This is the only permissible value according to specification. + + + + + This is the only permissible value according to specification. + + + + + Creates a new instance of the Handshake class using the specified type + and payload size. + + The type of handshake. + The size, in bytes, of the payload following + the handshake header. + + + + Private default constructor for deserializing. + + + + + Deserializes a handshake instance from the specified byte array. + + An array of bytes containing handshake data. + An initialized instance of the Handshake class deserialized + from the specified byte array. + Thrown if the specified byte + array does not contain valid handshake data. + + + + Serializes an instance of the Handshake class to a sequence of bytes. + + A sequence of bytes representing this Handshake instance. + + + + The type of the handshake message. + + + + + Specifies the major version of the NegotiateStream protocol + being used. + + + + + Specifies the minor version of the NegotiateStream protocol + being used. + + + + + Defines the size, in bytes, of the AuthPayload field, which immediately + follows the handshake. + + + + + Describes the different types of handshake messages. + + + + + The handshake has completed successfully. + + + + + An error occurred during the handshake. The AuthPayload field contains + an HRESULT. + + + + + The message is part of the handshake phase and is not the final message + from the host. The final Handshake message from a host is always + transferred in a HandshakeDone message. + + + + + Implements the Sasl SCRAM-SHA-1 authentication method as described in + RFC 5802. + + + + + The abstract base class from which all classes implementing a Sasl + authentication mechanism must derive. + + + + + Computes the client response to a challenge sent by the server. + + + The client response to the specified challenge. + + + + + + + + Retrieves the base64-encoded client response for the specified + base64-encoded challenge sent by the server. + + A base64-encoded string representing a challenge + sent by the server. + A base64-encoded string representing the client response to the + server challenge. + The IMAP, POP3 and SMTP authentication commands expect challenges + and responses to be base64-encoded. This method automatically decodes the + server challenge before passing it to the Sasl implementation and + encodes the client response to a base64-string before returning it to the + caller. + Thrown if the client response could + not be retrieved. Refer to the inner exception for error details. + + + + Retrieves the client response for the specified server challenge. + + A byte array containing the challenge sent by + the server. + An array of bytes representing the client response to the + server challenge. + + + + IANA name of the authentication mechanism. + + + + + True if the authentication exchange between client and server + has been completed. + + + + + A map of mechanism-specific properties which are needed by the + authentication mechanism to compute it's challenge-responses. + + + + + The client nonce value used during authentication. + + + + + Scram-Sha-1 involves several steps. + + + + + The salted password. This is needed for client authentication and later + on again for verifying the server signature. + + + + + The auth message is part of the authentication exchange and is needed for + authentication as well as for verifying the server signature. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslScramSha1 + class using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SCRAM-SHA-1 challenge. + + The challenge sent by the server + The response to the SCRAM-SHA-1 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the "client-final-message" which completes the authentication + process. + + The "server-first-message" challenge received + from the server in response to the initial client response. + An array of bytes containing the client's challenge + response. + + + + Verifies the nonce value sent by the server. + + The nonce value sent by the server as part of the + server-first-message. + True if the nonce value is valid, otherwise false. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Parses the "server-first-message" received from the server. + + The challenge received from the server. + A collection of key/value pairs contained extracted from + the server message. + Thrown if the message parameter + is null. + + + + Computes the "Hi()"-formula which is part of the client's response + to the server challenge. + + The supplied password to use. + The salt received from the server. + The iteration count. + An array of bytes containing the result of the computation of the + "Hi()"-formula. + + Hi is, essentially, PBKDF2 with HMAC as the pseudorandom function (PRF) and with + dkLen == output length of HMAC() == output length of H(). (Refer to RFC 5802, p.6) + + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input data. + + The key to use for initializing the HMAC + provider. + The input to compute the hashcode for. + The hashcode of the specified data input. + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input string. + + The key to use for initializing the HMAC + provider. + The input string to compute the hashcode for. + The hashcode of the specified string. + + + + Applies the cryptographic hash function SHA-1 to the specified data + array. + + The data array to apply the hash function to. + The hash value for the specified byte array. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + Prepares the specified string as is described in RFC 5802. + + A string value. + A "Saslprepped" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Scram-Sha-1 authentication mechanism as described + in RFC 5802. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Secure Remote Password (SRP) authentication + mechanism as is described in the IETF SRP 08 draft. + + + This requires .NET Framework 4 because it makes use of the System.Numeric namespace + which has only been part of .NET since version 4. + + Some notes: + - Don't bother with the example given in the IETF 08 draft + document (7.5 Example); It is broken. + - Integrity and confidentiality protection is not implemented. + In fact, the "mandatory"-option is not supported at all. + + + + + SRP involves several steps. + + + + + The negotiated hash algorithm which will be used to perform any + message digest calculations. + + + + + The public key computed as part of the authentication exchange. + + + + + The client's private key used for calculating the client evidence. + + + + + The secret key shared between client and server. + + + + + The client evidence calculated as part of the authentication exchange. + + + + + The options chosen by the client, picked from the list of options + advertised by the server. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client private key to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslSrp class using + the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SRP challenge. + + The challenge sent by the server + The response to the SRP challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the client response containing the client's public key and + evidence. + + The challenge containing the protocol elements + received from the server in response to the initial client + response. + An array of bytes containing the client's challenge + response. + Thrown if the server specified any + mandatory options which are not supported. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Selects a message digest algorithm from the specified list of + supported algorithms. + + A tuple containing the name of the selected message digest + algorithm as well as the type. + Thrown if none of the algorithms + specified in the list parameter is supported. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the SRP authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + The authorization id (userid in draft jargon). + + + + + Represents the initial client-response sent to the server to initiate + the authentication exchange. + + + + + Creates a new instance of the ClientMessage1 class using the specified + username. + + The username to authenticate with. + The authorization id to authenticate with. + Thrown if the username parameter + is null. + + + + Serializes this instance of the ClientMessage1 class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + ClientMessage1 class. + Thrown if the cummultative length + of the serialized data fields exceeds the maximum number of bytes + allowed as per SRP specification. + SRP specification imposes a limit of 2,147,483,643 bytes on + the serialized data. + + + + The username to authenticate with. + + SRP specification imposes a limit of 65535 bytes + on this field. + + + + The authorization identity to authenticate with. + + SRP specification imposes a limit of 65535 bytes + on this field. + + + + The session identifier of a previous session whose parameters the + client wishes to re-use. + + SRP specification imposes a limit of 65535 bytes + on this field. If the client wishes to initialize a new session, + this parameter must be set to the empty string. + + + + The client's nonce used in deriving a new shared context key from + the shared context key of the previous session. + + SRP specification imposes a limit of 255 bytes on this + field. If not needed, it must be set to an empty byte array. + + + + Represents the second client-response sent to the server as part of + the SRP authentication exchange. + + + + + Creates and initializes a new instance of the ClientMessage2 class. + + + + + Creates and initializes a new instance of the ClientMessage2 class using + the specified public key and client proof. + + The client's public key. + The calculated client proof. + Thrown if either the public key + or the proof parameter is null. + + + + Serializes this instance of the ClientMessage2 class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + ClientMessage2 class. + Thrown if the cummultative length + of the serialized data fields exceeds the maximum number of bytes + allowed as per SRP specification. + SRP specification imposes a limit of 2,147,483,643 bytes on + the serialized data. + + + + Serializes the client's options collection into a comma-seperated + options string. + + A comma-seperated string containing the client's chosen + options. + + + + The client's ephemeral public key. + + + + + The evidence which proves to the server client-knowledge of the shared + context key. + + + + + The options list indicating the security services chosen by the client. + + + + + The initial vector the server will use to set up its encryption + context, if confidentiality protection will be employed. + + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of SRP messages. + + + + + Reads an unsigned integer value from the underlying stream, + optionally using big endian byte ordering. + + Extension method for BinaryReader. + Set to true to interpret the integer value + as big endian value. + The 32-byte unsigned integer value read from the underlying + stream. + + + + Reads an unsigned short value from the underlying stream, optionally + using big endian byte ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value + as big endian value. + The 16-byte unsigned short value read from the underlying + stream. + + + + Reads a "multi-precision integer" from this instance. + + Extension method for the BinaryReader class. + An instance of the Mpi class decoded from the bytes read + from the underlying stream. + + + + Reads an "octet-sequence" from this instance. + + Extension method for the BinaryReader class. + An instance of the OctetSequence class decoded from the bytes + read from the underlying stream. + + + + Reads an UTF-8 string from this instance. + + Extension method for the BinaryReader class. + An instance of the Utf8String class decoded from the bytes + read from the underlying stream. + + + + Contains helper methods for calculating the various components of the + SRP authentication exchange. + + + + + The trace source used for informational and debug messages. + + + + + Determines whether the specified modulus is valid. + + The modulus to validate. + True if the specified modulus is valid, otherwise + false. + + + + Determines whether the specified generator is valid. + + The generator to validate. + True if the specified generator is valid, otherwise + false. + + + + Generates a random "multi-precision integer" which will act as the + client's private key. + + The client's ephemeral private key as a "multi-precision + integer". + + + + Calculates the client's ephemeral public key. + + The generator sent by the server. + The safe prime modulus sent by + the server. + The client's private key. + The client's ephemeral public key as a + "multi-precision integer". + + A = Client Public Key + g = Generator + a = Client Private Key + N = Safe Prime Modulus + + + + + Calculates the shared context key K from the given parameters. + + The user's password salt. + The username to authenticate with. + The password to authenticate with. + The client's ephemeral public key. + The server's ephemeral public key. + The client's private key. + The generator sent by the server. + The safe prime modulus sent by the + server. + The negotiated hash algorithm to use + for the calculations. + The shared context key K as a "multi-precision + integer". + + A = Client Public Key + B = Server Public Key + N = Safe Prime Modulus + U = Username + p = Password + s = User's Password Salt + a = Client Private Key + g = Generator + K = Shared Public Key + + + + + Computes the client evidence from the given parameters. + + The safe prime modulus sent by the + server. + The generator sent by the server. + The username to authenticate with. + The client's password salt. + The client's ephemeral public key. + The server's ephemeral public key. + The shared context key. + The authorization identity. + The raw options string as received from the + server. + The message digest algorithm to use for + calculating the client proof. + The client proof as an array of bytes. + + + + Computes the server evidence from the given parameters. + + The client's ephemeral public key. + + The shared context key. + The authorization identity. + The raw options string as sent by the + client. + The session id sent by the server. + The time-to-live value for the session id sent + by the server. + The message digest algorithm to use for + calculating the server proof. + The server proof as an array of bytes. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Recommended values for the safe prime modulus (Refer to Appendix A. + "Modulus and Generator Values" of the IETF SRP draft). + + + + + Represents a "multi-precision integer" (MPI) as is described in the + SRP specification (3.2 Multi-Precision Integers, p.5). + + Multi-Precision Integers, or MPIs, are positive integers used + to hold large integers used in cryptographic computations. + + + + Creates a new "multi-precision integer" from the specified array + of bytes. + + A big-endian sequence of bytes forming the + integer value of the multi-precision integer. + + + + Creates a new "multi-precision integer" from the specified BigInteger + instance. + + The BigInteger instance to initialize the MPI + with. + + + + Returns a sequence of bytes in big-endian order forming the integer + value of this "multi-precision integer" instance. + + Returns a sequence of bytes in big-endian order representing + this "multi-precision integer" instance. + + + + Serializes the "multi-precision integer" into a sequence of bytes + according to the requirements of the SRP specification. + + A big-endian sequence of bytes representing the integer + value of the MPI. + + + + The underlying BigInteger instance used to represent this + "multi-precision integer". + + + + + Represents an "octet-sequence" as is described in the SRP specification + (3.3 Octet sequences, p.6). + + + + + Creates a new instance of the OctetSequence class using the specified + byte array. + + The sequence of bytes to initialize this instance + of the OctetSequence class with. + + + + Serializes this instance of the OctetSequence class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + OctetSequence class. + Thrown if the length of the byte + sequence exceeds the maximum number of bytes allowed as per SRP + specification. + SRP specification imposes a limit of 255 bytes on the + length of the underlying byte array. + + + + The underlying byte array forming this instance of the OctetSequence + class. + + + + + Represents the first message sent by the server in response to an + initial client-response. + + + + + Deserializes a new instance of the ServerMessage1 class from the + specified buffer of bytes. + + The byte buffer to deserialize the ServerMessage1 + instance from. + An instance of the ServerMessage1 class deserialized from the + specified byte array. + Thrown if the byte buffer does not + contain valid data. + + + + Parses the options string sent by the server. + + A comma-delimited options string. + An initialized instance of the NameValueCollection class + containing the parsed server options. + + + + The safe prime modulus sent by the server. + + + + + The generator sent by the server. + + + + + The user's password salt. + + + + + The server's ephemeral public key. + + + + + The options list indicating available security services. + + + + + The raw options as received from the server. + + + + + Represents the second message sent by the server as part of the SRP + authentication exchange. + + + + + Deserializes a new instance of the ServerMessage2 class from the + specified buffer of bytes. + + The byte buffer to deserialize the ServerMessage2 + instance from. + An instance of the ServerMessage2 class deserialized from the + specified byte array. + Thrown if the byte buffer does not + contain valid data. + + + + The evidence which proves to the client server-knowledge of the shared + context key. + + + + + The initial vector the client will use to set up its encryption + context, if confidentiality protection will be employed. + + + + + The session identifier the server has given to this session. + + + + + The time period for which this session's parameters may be re-usable. + + + + + Represents an UTF-8 string as is described in the SRP specification + (3.5 Text, p.6). + + + + + The value of the UTF-8 string. + + + + + Creates a new instance of the Utf8String class using the specified + string value. + + The string to initialize the Utf8String instance + with. + + + + Serializes this instance of the Utf8String class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + Utf8String class. + Thrown if the string value exceeds + the maximum number of bytes allowed as per SRP specification. + SRP specification imposes a limit of 65535 bytes on the + string data after it has been encoded into a sequence of bytes + using an encoding of UTF-8. + + + + Represents a MIME body part of a mail message that has multiple + parts. + + + + + Initializes a new instance of the Bodypart class with default + values. + + The part number as is expected by the + IMAP FETCH command. + + + + Returns a detailed description listing all properties of this + Bodypart instance. + + A string describing this instance of the Bodypart class + + + + The body part number which acts as part specifier for + the FETCH BODY command. + + + + + The MIME content-type of this body part. The content-type is + used to declare the general type of data. + + + + + The MIME content-subtype of this body part. The subtype + specifies a specific format for the type of data. + + + + + Parameter values present in the MIME content-type header + of this body part (for instance, 'charset'). + + + + + The MIME content-id of this body part, if any. This value + may be used for uniquely identifying MIME entities in + several contexts. + + + + + The MIME content-description of this body part. This value + may contain some descriptive information on the body part. + + + + + The MIME content-transfer-encoding mechanism used for + encoding this body part's data. + + + + + The size of this body part in bytes. Note that this size + is the size in its transfer encoding and not the resulting + size after any decoding. + + + + + The size of the body in text lines. This field is only + present in body parts with a content-type of text. + + + + + The computed MD5-Hash of the body part. This field is not + mandatory and may be empty. + + + + + The MIME content-disposition for this body part. This field + is not mandatory and may be empty. + + + + + A string giving the body language. This field is not mandatory + and may be empty. + + + + + A string list giving the body content URI. This field is not + mandatory and may be empty. + + + + + Provides a means for parsing the textual description of the body structure of a mail + message as is returned by an IMAP server for a "FETCH BODYSTRUCTURE" command. + + + They couldn't have made the BODYSTRUCTURE any more complicated and unnecessarily + hard to parse. I wonder what they were thinking when they came up with this. + + + + + Parses the body structure of a mail message as is returned by the IMAP server + in response to a FETCH BODYSTRUCTURE command. + + The body structure server response + An array of initialized Bodypart objects representing the body + structure of the mail message + Thrown if the passed string does not + contain a valid body structure and parsing failed. + + + + A Reader object initialized with the string containing the bodystructure + response. + + + + + Initializes a new instance of the Bodystructure class. + + + + + + Parses a bodypart entry from the body structure and advances the + read pointer. + + The designated part specifier by which the body + part is refered to by the server. + Set to true if the bodypart is enclosed + in parenthesis. + + + + + Parses the mandatory extra fields that are present if the bodypart is + of type message/rfc822 (see RFC 3501, p. 75). + + The bodypart instance the parsed fields will be + added to. + + + + Parses the optional fields of a bodypart entry from the body structure + and advances the read pointer. + + The bodypart instance the parsed fields will be + added to. + Set to true if the bodypart entry is enclosed + in parenthesis. + + + + Parses a list of bodypart entries as is outlined in the description of the + BODYPART response in RFC 3501. + + The nesting prefix that will be prefixed to the + bodyparts partNumber. + An array of initialized Bodypart objects parsed from the + list. + + + + Advances the read pointer to skip over a multipart entry. + + + + + Advances the read pointer to skip over an arbitrary + expression enclosed in parentheses. + + + + + Represents the content disposition as is presented in the BODYSTRUCTURE + response by the IMAP server. + + + + + Initializes a new instance of the ContentDisposition class with + default values. + + + + + Maps MIME content disposition string values to their corresponding + counter-parts of the ContentDispositionType enumeration. + + + + + The content disposition specifies the presentation style. + + + + + Additional attribute fields for specifying the name of a file, the creation + date and modification date, which can be used by the reader's mail user agent + to store the attachment. + + + + + Contains the name of the transmitted file if the content-disposition is of type + "Attachment" and if the name value was provided as part of the header information. + This field may be empty. + + + + + Possible values for the content disposition type which determines the presentation + style + + + + + The content disposition could not be determined. + + + + + An inline content disposition means that the content should be automatically + displayed when the message is displayed. + + + + + An attachment content disposition means that the content should not be displayed + automatically and requires some form of action from the user to open it. + + + + + Possible values for the "Encoding" property of the Bodypart class. The content + transfer encoding indicates whether or not a binary-to-text encoding + scheme has been used on top of the original encoding as specified within the + Content-Type header. + + + + + The content tranfer encoding could not be determined or is unknown. + + + + + Up to 998 bytes per line of the code range 1 - 127 with CR and LF only + allowed to appear as part of a CRLF line ending. + + + + + Up to 998 bytes per line with CR and LF only allowed to appear as part + of a CRLF line ending. + + + + + Any sequence of bytes. + + + + + Byte sequence is encoded using the quoted-printable encoding. + + + + + Byte sequence is encoded using Base64 encoding. + + + + + Possible values for the "Type" property of the Bodypart class. + For a detailed description of MIME Media Types refer to + RFC 2046. + + + + + The "text" media type is intended for sending material which + is principally textual in form. + + + + + A media type of "image" indicates that the body contains an image. + The subtype names the specific image format. + + + + + A media type of "audio" indicates that the body contains audio + data. + + + + + A media type of "video" indicates that the body contains a + time-varying-picture image, possibly with color and coordinated sound. + + + + + The "application" media type is to be used for discrete data which do + not fit in any of the other categories, and particularly for data to + be processed by some type of application program. + + + + + The "message" content type allows messages to contain other messages + or pointers to other messages. + + + + + The media type value is unknown or could not be determined. + + + + + A helper class for parsing the BODYSTRUCTURE response of an + IMAP FETCH command more conveniently. + + + + + Initializes a new instance of the Reader class that reads from the + specified string. + + The string to which the Reader instance should be + initialized. + + + + Reads the next character from the input string and advances the + character position by one character. + + The next character from the underlying string. + Thrown when reading is + attempted past the end of the underlying string. + + + + Returns the next available character but does not consume it. + + Set to true to skip any preceding + whitespace characters. + An integer representing the next character to be read, + or -1 if no more characters are available. + + + + Advances the character position until the specified character + is encountered. + + The character to skip to. + Thrown when reading is + attempted past the end of the underlying string. + + + + Advances the character position over any whitespace characters + and subsequently ensures the next read will not return a + whitespace character. + + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads characters until the specified character is encountered. + + The character to read up to. + The read characters as a string value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a word from the underlying string. A word in this context + is a literal enclosed in double-quotes. + + The read word. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads an integer from the underlying string. + + The read integer value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a list from the underlying string. A list in this context + is a list of attribute/value literals (enclosed in double-quotes) + enclosed in parenthesis. + + The read list as a dictionary with the attribute names + as keys and attribute values as values. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a disposition from the underlying string. A disposition in + this context is a list of attribute/value literals (enclosed in + double-quotes) preceded by a word enclosed in parenthesis. + + An initialized ContentDisposition instance representing + the parsed disposition. + Thrown when reading is + attempted past the end of the underlying string. + + + + The exception that is thrown when reading is attempted past the end + of a string. + + + + + Initializes a new instance of the EndOfStringException class + + + + + Initializes a new instance of the EndOfStringException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the EndOfStringException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the EndOfStringException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Defines the different means by which mail messages may be fetched from the server. + + + + + Fetches the entire mail message with all of its content. + + + + + Only the mail message headers will be retrieved, while the actual content will not be + downloaded. If this option is specified, only the header fields of the returned MailMessage + object will be initialized. + + + + + Retrieves the mail message, but will only download content that has a content-type of text. + This will retrieve text as well as HTML representation, while skipping inline content and + attachments. + + + + + Retrieves the mail message, but skips any content that is an attachment. + + + + + Provides data for IMAP idle error events. + + + + + Initializes a new instance of the IdleErrorEventArgs class. + + The exception that causes the event. + The instance of the ImapClient class that raised the event. + The exception parameter or the client parameter + is null. + + + + The exception that caused the error event. + + + + + The instance of the ImapClient class that raised the event. + + + + + Provides data for IMAP idle notification events. + + + + + Initializes a new instance of the IdleMessageEventArgs class and sets the + MessageCount attribute to the value of the + parameter. + + The number of messages in the selected mailbox. + The unique identifier (UID) of the newest message in the + mailbox. + The instance of the ImapClient class that raised the event. + + + + The total number of messages in the selected mailbox. + + + + + The unique identifier (UID) of the newest message in the mailbox. + + The UID can be passed to the GetMessage method in order to retrieve the mail + message from the server. + + + + The instance of the ImapClient class that raised the event. + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + This constructor is solely used for unit testing. + + A stream to initialize the ImapClient instance with. + + + + Initializes a new instance of the ImapClient class and connects to the specified port + on the specified host, optionally using the Secure Socket Layer (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets + Layer (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example shows how to establish a connection with an IMAP server + and print out the IMAP options, which the server supports. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + // Print out the server's capabilities. + foreach(string s in Client.Capabilities()) + Console.WriteLine(s); + + Client.Dispose(); + + + + + + Initializes a new instance of the ImapClient class and connects to the specified port on + the specified host, optionally using the Secure Socket Layer (SSL) security protocol and + attempts to authenticate with the server using the specified authentication method and + credentials. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer + (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + The provided credentials were rejected by the + server. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Connects to the specified port on the specified host, optionally using the Secure Socket Layer + (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer (SSL) + certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received + from the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + + + Determines whether the specified response is a valid IMAP OK response. + + A response string received from the server. + A tag if the response is associated with a command. + true if the response is a valid IMAP OK response; Otherwise false. + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Performs authentication using the most secure authentication mechanism supported by the + server. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + The order of preference of authentication types employed by this method is + Ntlm, Scram-Sha-1, Digest-Md5, followed by Cram-Md5 and finally plaintext Login as + a last resort. + + + + Performs an actual IMAP "LOGIN" command using the specified username and plain-text + password. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + + + + Performs NTLM and Kerberos authentication via the Security Support Provider Interface (SSPI). + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + True to authenticate using NTLM, otherwise GSSAPI (Kerberos) is + used. + The response sent by the server. + The specified authentication method is not + supported by the server. + + + + Performs authentication using a SASL authentication mechanism via IMAP's authenticate + command. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The name of the SASL authentication mechanism to use. + The response sent by the server. + The authentication mechanism with the specified name could + not be found. + The specified authentication mechanism is not + supported by the server. + An unexpected response has been received from + the server. + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Generates a unique identifier to prefix a command with, as is required by the IMAP protocol. + + A unique identifier string. + + + + Sends a command string to the server. This method blocks until the command has been + transmitted. + + The command to send to the server. The string is suffixed by CRLF + prior to sending. + + + + Sends a command string to the server and subsequently waits for a response, which is then + returned to the caller. This method blocks until the server response has been received. + + The command to send to the server. This is suffixed by CRLF prior + to sending. + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + The response received by the server. + + + + Waits for a response from the server. This method blocks until a response has been received. + + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + A response string from the server + The underlying socket is closed or there was a failure + reading from the network. + + + + Reads the specified amount of bytes from the server. This method blocks until the specified + amount of bytes has been read from the network stream. + + The number of bytes to read. + The read bytes as an ASCII-encoded string. + The underlying socket is closed or there was a failure + reading from the network. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Selects the specified mailbox so that the messages of the mailbox can be accessed. + + The mailbox to select. If this parameter is null, the + default mailbox is selected. + The specified mailbox could not be selected. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + IMAP Idle must be paused or stopped before calling this method. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Retrieves the set of special-use flags associated with the specified mailbox. + + The mailbox to receive the special-use flags for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + An enumerable collection of special-use flags set on the specified + mailbox. + This feature is an optional extension to the IMAP protocol and as such some servers + may not report any flags at all. + + + + Retrieves status information (total number of messages, number of unread messages, etc.) for + the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxStatus object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the mail header for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the mail header for. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw mail header of the mail message with the specified + UID. + The mail header could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the body structure for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the body structure for. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw body structure of the mail message with the specified + UID. + The body structure could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A body structure is a textual description of the layout of a mail message. It is + described in some detail in RFC 3501 under 7.4.2 FETCH response. + + + + Retrieves the MIME body-part with the specified part number of the multipart message with + the specified unique identifier (UID). + + The UID of the mail message to retrieve a MIME body part for. + The part number of the body part to fetch. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the specified body part of the mail message with the specified + UID. + The body part could not be fetched. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the raw MIME/RFC822 mail message data for the mail message with the specified UID. + + The UID of the mail message to retrieve as a MIME/RFC822 string. + Set this to true to set the \Seen flag for the fetched message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw MIME/RFC822 data of the mail message with the + specified UID. + The mail message data could not be fetched. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the highest UID in the specified mailbox. + + The mailbox to find the highest UID for. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + The highest unique identifier value (UID) in the mailbox. + The UID could not be determined. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The highest UID usually corresponds to the newest message in a mailbox. + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Starts receiving of IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when already receiving idle notifications has no + effect. + + + + + + + Stops receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when not receiving idle notifications has no effect. + + + + + + Temporarily pauses receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + To resume receiving IDLE notifications ResumeIdling must be called. + + + + + + + Resumes receiving IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + The main idle loop. Waits for incoming IMAP IDLE notifications and dispatches + them as events. This runs in its own thread whenever IMAP IDLE + notifications are being received. + + + + + Blocks on a queue and wakes up whenever a new notification is put into the queue. The + notification is then examined and dispatched as an event. + + + + + Issues a NOOP command to the IMAP server. Called in the context of a System.Timer event + when IDLE notifications are being received. + + This is needed by the IMAP IDLE mechanism to give the server an indication that the + connection is still active. + + + + + Retrieves IMAP QUOTA information for the specified mailbox. + + The mailbox to retrieve QUOTA information for. If this parameter is + null, the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + An enumerable collection of MailboxQuota objects describing usage and limits of the + quota roots for the mailbox. + The quota operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The IMAP4 QUOTA extension is not supported by + the server. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Releases all resources used by the current instance of the ImapClient class. + + + + + Releases all resources used by the current instance of the ImapClient class, optionally + disposing of managed resource. + + true to dispose of managed resources, otherwise false. + + + + Asserts the instance has not been disposed of and is in a valid state. + + The ImapClient object has been + disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when an I/O exception occurs in the idle-thread. + + + An I/O exception can occur if the underlying network connection has been reset or the + server unexpectedly closed the connection. + + + + + A delegate which is invoked during a call to GetMessage or GetMessages for every MIME part in + a multipart mail message. The delegate can examine the MIME body part and decide to either + include it in the returned mail message or dismiss it. + + A MIME body part of a mail message which consists of multiple parts. + true to include the body part in the returned MailMessage object, or false to skip + it. + + + + The exception that is thrown when an unexpected response is received from the server. + + + + + Initializes a new instance of the BadServerResponseException class + + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the BadServerResponseException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when the supplied credentials were rejected by the server. + + + + + Initializes a new instance of the InvalidCredentialsException class + + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the InvalidCredentialsException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when a client has not authenticated with the server and + attempts to call a method which can only be called when authenticated. + + + + + Initializes a new instance of the NotAuthenticatedException class + + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the NotAuthenticatedException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Provides access to status information such as the total number of messages and quota + information for a mailbox. + + + The terms "mailbox" and "folder" can be used interchangeably and refer to the IMAP concept of + multiple server-side directories into which messages can be stored (such as "Inbox", + "Sent Items", "Trash", etc.). + + + + + Initializes a new instance of the MailboxInfo class with the specified values. + + The IMAP name of the mailbox. + The IMAP flags set on this mailbox. + The number of messages in the mailbox. + The number of unread messages in the mailbox. + The next unique identifier (UID) of the mailbox. + The amount of used storage of the mailbox, in bytes. + The amount of free storage of the mailbox, in bytes. + + + + Returns the name of the mailbox. + + The name of the mailbox + + + + The name of the mailbox. + + + + + An enumerable collection of flags set on the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + The next unique identifier value of the mailbox. + + + + + The amount of used storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of used storage, this property will be 0. + + + + + The amount of free storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of free storage, this property will be 0. + + + + + Defines possible attributes for mailboxes. + + + + An IMAP mailbox can have a number of flags (read: attributes) set on it, indicating its + designated purpose (such as "Spam" or "Drafts"). + + + This is especially convenient when dealing with international mailbox names, because, by + examining the associated flags, the mailbox purpose can be determined, even if the mailbox + name provides no useful indication. + + + Unfortunately, as with many things IMAP, reporting the flags described here is an optional + extension (XLIST) to the IMAP protocol and as such may or may not be supported by an IMAP + server. + + + + + + The mailbox presents a view on all messages in the user's message store. + + + + + The mailbox is used to archive messages. The meaning of an "archival" mailbox is server + dependent. + + + + + The mailbox is used to hold draft messages, typically these are messages that are being + composed but have not yet been sent. + + + + + The mailbox is used to hold copies of messages that have been sent. + + + + + The mailbox is where messages deemed to be junk mail (spam) are held. + + + + + The mailbox is used to hold messages that have been deleted or marked for deletion. + + + + + Represents an IMAP QUOTA entry for a resource which typically consists of a resource name, + the current usage of the resource, and the resource limit. + + + + + Initializes a new instance of the MailboxQuota class with the specified values. + + The name of the resource this MailboxQuota instance describes. + The current usage of the resource in units of 1024 bytes. + The limit of the resource in units of 1024 bytes. + + + + The name of the resource this MailboxQuota instance describes. + + + + + The current usage of the resource this MailboxQuota instance describes, in bytes. + + + + + The limit of the resource this MailboxQuota instance describes, in bytes. + + + + + Represents the status information of a mailbox which can be constructed from the server + response to a STATUS command. + + + + + Initializes a new MailboxStatus instance with the specified number of total and unread + messages. + + The total number of messages in the mailbox. + The number of unread (unseen) messages in the mailbox. + The next unique identifier value of the mailbox + + + + The next unique identifier value of the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + Adds extension methods to the MailMessage class of the .NET Framework. + + + Most of the methods are only used internally and are not visible outside of the + S22.Imap assembly. + + + + + Returns the date and time the mail message was composed. + + The MailMessage instance to return the date and time for. + The date and time the mail message was composed, or null if the mail message + does not contain any date information. + + + + Constructs a textual representation of a mail message from the specified MailMessage + instance compliant with the RFC822 and MIME standards. + + The MailMessage instance to construct the textual representation + from. + An RFC822/MIME-compliant string representing the specified mail message. + The From property is null or has not been + properly initialized. + + + + Builds a RFC822/MIME-compliant mail header from the specified MailMessage instance and + returns it as a NameValueCollection. + + The MailMessage instance to build the header from. + A NameValueCollection representing the RFC822/MIME mail header fields. + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + priority values as defined in RFC2156. + + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + importance values as defined in RFC2156. + + + + + Takes a unicode string and encodes it using Q-encoding. + + The string to encode. + The input string encoded as Q-encoded string containing only ASCII + characters. + + + + Takes a unicode string and encodes it using Base64-encoding. + + The string to encode. + The input string encoded as Base64-encoded string containing only ASCII + characters. + + + + Creates an address string from the specified MailAddress instance in compliance with the + address specification as outlined in RFC2822 under section 3.4 + + The MailAddress instance to create the address string from. + An address string as is used in RFC822 mail headers. + + + + Generates a unique sequence of characters for indicating a boundary between parts in a + multipart message. + + A unique content boundary string. + + + + Builds an RFC822/MIME-compliant mail body from the specified MailMessage instance and + returns it as a formatted string. + + The MailMessage instance to build the mail body from. + The RFC822/MIME mail header to use for constructing the mail + body. + An RFC822/MIME-compliant mail body as a string. + According to RFC2822 each line of a mail message should at max be 78 characters in + length excluding carriage return and newline characters. This method accounts for that and + ensures line breaks are inserted to meet this requirement. + + + + Adds a body part to the specified Stringbuilder object composed from the Body and + BodyEncoding properties of the MailMessage class. + + The Stringbuilder to append the body part to. + The MailMessage instance to build the body part from. + The RFC822/MIME mail header to use for constructing the mail body. + Set to true to append body headers before adding the actual body + part content. + + + + Creates a MIME body part from an entry of the AlternateView or Attachments collection of a + MailMessage instance and appends it to the specified Stringbuilder instance. + + The Stringbuilder instance to append the body part to. + An entry from either the AlternateView or the Attachments collection of + a MailMessage instance. + + + + Creates a nested multipart/alternative part which contains all entries from the + AlternateViews collection of the specified MailMessage instance as well as the body part + for the Body and BodyEncoding properties of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose AlternateView collection will be added to the + nested multipart/alternative part. + The RFC822/MIME mail header to use for constructing the mail body. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + Creates a nested multipart/mixed part which contains all entries from the Attachments + collection of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose Attachments collection will be added to the + nested multipart/mixed part. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + A helper class for reading mail message data and building a MailMessage instance out of it. + + + + + Creates a new empty instance of the MailMessage class from a string containing a raw mail + message header. + + The mail header to create the MailMessage instance from. + A MailMessage instance with initialized Header fields but without any + content. + + + + Creates a new instance of the MailMessage class from a string containing raw RFC822/MIME + mail message data. + + The mail message data to create the MailMessage instance from. + An initialized instance of the MailMessage class. + This is used when fetching entire messages instead of the partial-fetch mechanism + because it saves redundant round-trips to the server. + + + + Parses the mail header of a mail message and returns it as a NameValueCollection. + + The mail header to parse. + A NameValueCollection containing the header fields as keys with their respective + values as values. + + + + Strips RFC822/MIME comments from the specified string. + + The string to strip comments from. + A new string stripped of any comments. + + + + Parses a MIME header field which can contain multiple 'parameter = value' + pairs (such as Content-Type: text/html; charset=iso-8859-1). + + The header field to parse. + A NameValueCollection containing the parameter names as keys with the respective + parameter values as values. + The value of the actual field disregarding the 'parameter = value' pairs is stored + in the collection under the key "value" (in the above example of Content-Type, this would + be "text/html"). + + + + Parses a mail header address-list field such as To, Cc and Bcc which can contain multiple + email addresses. + + The address-list field to parse + An array of MailAddress objects representing the parsed mail addresses. + + + + Splits the specified address-list into individual parts consisting of a mail address and + optionally a display-name. + + The address-list to split into parts. + An enumerable collection of parts. + + + + Parses a mail message identifier from a string. + + The field to parse the message id from + The field argument does not contain a valid message + identifier. + The parsed message id. + A message identifier (msg-id) is a globally unique identifier for a + message. + + + + Parses the priority of a mail message which can be specified as part of the header + information. + + The mail header priority value. The value can be null in which case + a "normal priority" is returned. + A value from the MailPriority enumeration corresponding to the specified mail + priority. If the passed priority value is null or invalid, a normal priority is assumed and + MailPriority.Normal is returned. + + + + Sets the address fields (From, To, CC, etc.) of a MailMessage object using the specified + mail message header information. + + The MailMessage instance to operate on. + A collection of mail and MIME headers. + + + + Adds a body part to an existing MailMessage instance. + + Extension method for the MailMessage class. + The body part to add to the MailMessage instance. + The content of the body part. + + + + Creates an instance of the Attachment class used by the MailMessage class to store mail + message attachments. + + The MIME body part to create the attachment from. + An array of bytes composing the content of the attachment. + An initialized instance of the Attachment class. + + + + Creates an instance of the AlternateView class used by the MailMessage class to store + alternate views of the mail message's content. + + The MIME body part to create the alternate view from. + An array of bytes composing the content of the alternate view. + An initialized instance of the AlternateView class. + + + + Parses the body part of a MIME/RFC822 mail message. + + The body of the mail message. + The header of the mail message whose body will be parsed. + An array of initialized MIMEPart instances representing the body parts of the mail + message. + + + + Parses the body of a multipart MIME mail message. + + An instance of the StringReader class initialized with a string + containing the body of the mail message. + The boundary value as is present as part of the Content-Type header + field in multipart mail messages. + An array of initialized MIMEPart instances representing the various parts of the + MIME mail message. + + + + Glue method to create a bodypart from a MIMEPart instance. + + The MIMEPart instance to create the bodypart instance from. + An initialized instance of the Bodypart class. + + + + Defines possible attributes for mail messages on an IMAP server. + + + + + Indicates that the message has been read. + + + + + Indicates that the message has been answered. + + + + + Indicates that the message is "flagged" for urgent/special attention. + + + + + Indicates that the message has been marked as "deleted" and will be removed upon the next + call to the Expunge method. + + + + + Indicates that the message has not completed composition and is marked as a draft. + + + + + Indicates that the message has recently arrived in the mailbox. + + + + + Represents a part of a MIME multi-part message. Each part consists of its own content header + and a content body. + + + + + A collection containing the content header information as key-value pairs. + + + + + A string containing the content body of the part. + + + + + A thread-safe Queue. + + + + + Adds an object to the end of the queue. + + The object to add to the queue. + + + + Removes and returns the object at the beginning of the queue. If the queue is empty, the + method blocks the calling thread until an object is put into the queue by another thread. + + The object that was removed from the beginning of the queue. + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of NTLM messages. + + + + + Reads an ASCII-string of the specified length from this instance. + + Extension method for the BinaryReader class. + The number of bytes to read from the underlying + stream. + A string decoded from the bytes read from the underlying + stream using the ASCII character set. + + + + The NTLM flags which are contained in a bitfield within the header of + an NTLM message. + + + + + Indicates that Unicode strings are supported for use in security + buffer data. + + + + + Indicates that OEM strings are supported for use in security + buffer data. + + + + + Requests that the server's authentication realm be included in + the Type 2 message. + + + + + Specifies that authenticated communication between the client and + server should carry a digital signature (message integrity). + + + + + Specifies that authenticated communication between the client and + server should be encrypted (message confidentiality). + + + + + Indicates that datagram authentication is being used. + + + + + Indicates that the Lan Manager Session Key should be used for signing + and sealing authenticated communications. + + + + + This flag's usage has not been identified. + + + + + Indicates that NTLM authentication is being used. + + + + + Sent by the client in the Type 3 message to indicate that an anonymous + context has been established. This also affects the response fields. + + + + + Sent by the client in the Type 1 message to indicate that the name of + the domain in which the client workstation has membership is included + in the message. This is used by the server to determine whether the + client is eligible for local authentication. + + + + + Sent by the client in the Type 1 message to indicate that the client + workstation's name is included in the message. This is used by the + server to determine whether the client is eligible for local + authentication. + + + + + Sent by the server to indicate that the server and client are on the + same machine. Implies that the client may use the established local + credentials for authentication instead of calculating a response to + the challenge. + + + + + Indicates that authenticated communication between the client and + server should be signed with a "dummy" signature. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a domain. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a server. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a share. Presumably, this is for share-level + authentication. Usage is unclear. + + + + + Indicates that the NTLM2 signing and sealing scheme should be used for + protecting authenticated communications. Note that this refers to a + particular session security scheme, and is not related to the use of + NTLMv2 authentication. This flag can, however, have an effect on the + response calculations. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + Sent by the server in the Type 2 message to indicate that it is including + a Target Information block in the message. The Target Information block + is used in the calculation of the NTLMv2 response. + + + + + Indicates that 128-bit encryption is supported. + + + + + Indicates that the client will provide an encrypted master key in the + "Session Key" field of the Type 3 message. + + + + + Indicates that 56-bit encryption is supported. + + + + + Represents the data contained in the target information block of an + NTLM type 2 message. + + + + + The server name. + + + + + The domain name. + + + + + The fully-qualified DNS host name. + + + + + The fully-qualified DNS domain name. + + + + + Describes the different versions of the Type 2 message that have + been observed. + + + + + The version is unknown. + + + + + This form is seen in older Win9x-based systems. + + + + + This form is seen in most out-of-box shipping versions of Windows. + + + + + This form was introduced in a relatively recent Service Pack, and + is seen on currently-patched versions of Windows 2000, Windows XP, + and Windows 2003. + + + + + Indicates the type of data in Type 2 target information blocks. + + + + + Signals the end of the target information block. + + + + + The data in the information block contains the server name. + + + + + The data in the information block contains the domain name. + + + + + The data in the information block contains the DNS hostname. + + + + + The data in the information block contans the DNS domain name. + + + + + Computes the MD4 hash value for the input data. + Courtesy of Keith Wood. + + + + + Describes the different types of NTLM messages. + + + + + An NTLM type 1 message is the initial client response to the + server. + + + + + An NTLM type 2 message is the challenge sent by the server in + response to an NTLM type 1 message. + + + + + An NTLM type 3 message is the challenge response sent by the client + in response to an NTLM type 2 message. + + + + + Indicates the version and build number of the operating system. + + + + + Default constructor. + + + + + Creates a new instance of the OSVersion class using the specified + values. + + The major version of the operating + system. + The minor version of the operating + system. + The build number of the operating systen. + + + + Serializes this instance of the OSVersion class to an array of + bytes. + + An array of bytes representing this instance of the OSVersion + class. + + + + The major version number of the operating system. + + + + + The minor version number of the operating system. + + + + + The build number of the operating system. + + + + + Contains methods for calculating the various Type 3 challenge + responses. + + + + + Computes the LM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account name to authenticate with. + The user account password. + The target information block from + the NTLM type 2 message. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Computes the LMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account to authenticate with. + The user account password. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Creates the LM Hash of the specified password. + + The password to create the LM Hash of. + The LM Hash of the given password, used in the calculation + of the LM Response. + Thrown if the password argument + is null. + + + + Creates a DES encryption key from the specified key material. + + The key material to create the DES encryption + key from. + An offset into the byte array at which to + extract the key material from. + A 56-bit DES encryption key as an array of bytes. + + + + Applies odd parity to the specified byte array. + + The byte array to apply odd parity to. + A reference to the byte array. + + + + Creates the LM Response from the specified hash and Type 2 challenge. + + An LM or NTLM hash. + The server challenge from the Type 2 + message. + The challenge response as an array of bytes. + Thrown if the hash or the + challenge parameter is null. + + + + Creates the NTLM Hash of the specified password. + + The password to create the NTLM hash of. + The NTLM hash for the specified password. + Thrown if the password + parameter is null. + + + + Creates the NTLMv2 Hash of the specified target, username + and password values. + + The name of the authentication target as is + specified in the target name field of the NTLM type 3 message. + The user account name. + The password for the user account. + The NTLMv2 hash for the specified input values. + Thrown if the username or + the password parameter is null. + + + + Returns the current time as the number of tenths of a microsecond + since January 1, 1601. + + The current time as the number of tenths of a microsecond + since January 1, 1601. + + + + Creates the "blob" data block which is part of the NTLMv2 challenge + response. + + The target information block from + the NTLM type 2 message. + A random 8-byte client nonce. + The blob, used in the calculation of the NTLMv2 Response. + + + + Creates the LMv2 Response from the given NTLMv2 hash, client data, and + Type 2 challenge. + + The NTLMv2 Hash. + The client data (blob or client nonce). + The server challenge from the Type 2 message. + The response which is either for NTLMv2 or LMv2, depending + on the client data. + + + + Represents an NTLM security buffer, which is a structure used to point + to a buffer of binary data within an NTLM message. + + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The length of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length value exceeds + the maximum value allowed. The security buffer structure stores the + length value as a 2-byte short value. + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The data of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length of the data + buffer exceeds the maximum value allowed. The security buffer structure + stores the buffer length value as a 2-byte short value. + + + + Serializes this instance of the SecurityBuffer into an array of bytes. + + A byte array representing this instance of the SecurityBuffer + class. + + + + The length of the buffer content in bytes (may be zero). + + + + + The allocated space for the buffer in bytes (typically the same as + the length). + + + + + The offset from the beginning of the NTLM message to the start of + the buffer, in bytes. + + + + + Represents an NTLM Type 1 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 1 for an NTLM Type 1 message. + + + + + Creates a new instance of the Type1Message class using the specified + domain and workstation names. + + The domain in which the client's workstation has + membership. + The client's workstation name. + Thrown if the domain or the + workstation parameter is null. + Thrown if the domain + or the workstation name exceeds the maximum allowed string + length. + The domain as well as the workstation name is restricted + to ASCII characters and must not be longer than 65536 characters. + + + + + Serializes this instance of the Type1 class to an array of bytes. + + An array of bytes representing this instance of the Type1 + class. + + + + The NTLM flags set on this instance. + + + + + The supplied domain name as an array of bytes in the ASCII + range. + + + + + The offset within the message where the domain name data starts. + + + + + The supplied workstation name as an array of bytes in the + ASCII range. + + + + + The offset within the message where the workstation name data starts. + + + + + The length of the supplied workstation name as a 16-bit short value. + + + + + Contains information about the client's OS version. + + + + + Represents an NTLM Type 2 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 2 for an NTLM Type 2 message. + + + + + Private constructor. + + + + + Deserializes a Type 2 message instance from the specified buffer + of bytes. + + The buffer containing a sequence of bytes + representing an NTLM Type 2 message. + An initialized instance of the Type2 class. + Thrown if an error occurs + during deserialization of the Type 2 message. + + + + Determines the version of an NTLM type 2 message. + + The target offset field of the NTLM + type 2 message. + A value from the Type2Version enumeration. + + + + Reads the OS information data present in version 3 of an NTLM + type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the OSVersion class. + + + + Reads the target information data present in version 2 and 3 of + an NTLM type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the Type2TargetInformation + class. + + + + Retrieves the target name from the specified byte array. + + A byte array containing the target name. + If true the target name will be decoded + using UTF-16 unicode encoding. + + + + + The challenge is an 8-byte block of random data. + + + + + The target name of the authentication target. + + + + + The NTLM flags set on this message. + + + + + The SSPI context handle when a local call is being made, + otherwise null. + + + + + Contains the data present in the OS version structure. + + + + + The version of this Type 2 message instance. + + + + + Contains the data present in the target information block. + + + + + Contains the raw data present in the target information block. + + + + + Represents an NTLM Type 3 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 3 for an NTLM Type 3 message. + + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. All security buffers will + be encoded as Unicode. + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + Set this to true, if Unicode encoding has been + negotiated between client and server. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. + Thrown if the username, password + or challenge parameters are null. + + + + Serializes this instance of the Type3 class to an array of bytes. + + An array of bytes representing this instance of the Type3 + class. + + + + Returns a random 8-byte cnonce value. + + A random 8-byte cnonce value. + + + + The NTLM flags set on this instance. + + + + + The "Lan Manager" challenge response. + + + + + The offset at which the LM challenge response data starts. + + + + + The NTLM challenge response. + + + + + The offset at which the NTLM challenge response data starts. + + + + + The authentication realm in which the authenticating account + has membership. + + + + + The offset at which the target name data starts. + + + + + The authenticating account name. + + + + + The offset at which the username data starts. + + + + + The client workstation's name. + + + + + The offset at which the client workstation's name data starts. + + + + + The session key value which is used by the session security mechanism + during key exchange. + + + + + The offset at which the session key data starts. + + + + + Contains the data present in the OS version structure. + + + + + The encoding used for transmitting the contents of the various + security buffers. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2195. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslCramMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Cram-Md5 challenge. + + The challenge sent by the server + The response to the Cram-Md5 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Cram-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2831. + + + + + The client nonce value used during authentication. + + + + + Cram-Md5 involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslDigestMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Digest-Md5 challenge. + + The challenge sent by the server + The response to the Digest-Md5 challenge. + Thrown if the response could not + be computed. + + + + Parses the challenge string sent by the server in response to a Digest-Md5 + authentication request. + + The challenge sent by the server as part of + "Step One" of the Digest-Md5 authentication mechanism. + An initialized NameValueCollection instance made up of the + attribute/value pairs contained in the challenge. + Thrown if the challenge parameter + is null. + Refer to RFC 2831 section 2.1.1 for a detailed description of the + format of the challenge sent by the server. + + + + Computes the "response-value" hex-string which is part of the + Digest-MD5 challenge-response. + + A collection containing the attributes + and values of the challenge sent by the server. + The cnonce value to use for computing + the response-value. + The "digest-uri" string to use for + computing the response-value. + The username to use for computing the + response-value. + The password to use for computing the + response-value. + A string containing a hash-value which is part of the + response sent by the client. + Refer to RFC 2831, section 2.1.2.1 for a detailed + description of the computation of the response-value. + + + + Calculates the MD5 hash value for the specified string. + + The string to calculate the MD5 hash value for. + The encoding to employ for encoding the + characters in the specified string into a sequence of bytes for + which the MD5 hash will be calculated. + An MD5 hash as a 32-character hex-string. + Thrown if the input string + is null. + + + + Encloses the specified string in double-quotes. + + The string to enclose in double-quote characters. + The enclosed string. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Digest-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLM authentication method which is used in various + Microsoft network protocol implementations. + + Implemented with the help of the excellent documentation on + NTLM composed by Eric Glass. + + + + NTLM involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlm class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an NTLM challenge. + + The challenge sent by the server. Since + NTLM expects an initial client response, this will usually be + empty. + The initial response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the NTLM authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLMv2 authentication method which addresses + some of the security issues present in NTLM version 1. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlmv2 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + Implements the Sasl OAuth authentication method. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + Thrown if the accessToken + parameter is null. + Thrown if the accessToken + parameter is empty. + + + + Computes the client response for a OAuth challenge. + + The challenge sent by the server. + The response to the OAuth challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth authentication mechanism. + + + + + The access token to authenticate with. + + + + + Implements the Sasl OAuth 2.0 authentication method. + + + + + The server sends an error response in case authentication fails + which must be acknowledged. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + The username to authenticate with. + Thrown if the username + or the accessToken parameter is null. + Thrown if the username or + the accessToken parameter is empty. + + + + Computes the client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth 2.0 authentication mechanism. + + + + + The username to authenticate with. + + + + + The access token to authenticate with. + + + + + Implements the Sasl Plain authentication method as described in + RFC 4616. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslPlain class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response for a plain-challenge. + + The challenge sent by the server. For the + "plain" mechanism this will usually be empty. + The response for the "plain"-challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Plain authentication mechanism as described + in RFC 4616. + + + + + The username to authenticate with. + + + + + The plain-text password to authenticate with. + + + + + The exception is thrown when a Sasl-related error or unexpected condition occurs. + + + + + Initializes a new instance of the SaslException class + + + + + Initializes a new instance of the SaslException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the SaslException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the SaslException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + A factory class for producing instances of Sasl mechanisms. + + + + + Creates an instance of the Sasl mechanism with the specified + name. + + The name of the Sasl mechanism of which an + instance will be created. + An instance of the Sasl mechanism with the specified name. + Thrown if the name parameter + is null. + Thrown if the Sasl mechanism with the + specified name is not registered with Sasl.SaslFactory. + + + + Registers a Sasl mechanism with the factory using the specified name. + + The name with which to register the Sasl mechanism + with the factory class. + The type of the class implementing the Sasl mechanism. + The implementing class must be a subclass of Sasl.SaslMechanism. + Thrown if the name or the t + parameter is null. + Thrown if the class represented + by the specified type does not derive from Sasl.SaslMechanism. + Thrown if the Sasl mechanism could not + be registered with the factory. Refer to the inner exception for error + details. + + + + Static class constructor. Initializes static properties. + + + + + A dictionary of Sasl mechanisms registered with the factory class. + + + + + Represents chainable search conditions that can be used with the Search method. + + + + + Finds all messages in the mailbox. + + A SearchCondition object representing the "all" search criterion. + + + + Finds messages that contain the specified string in the header or body of the message. + + String to search messages for. + A SearchCondition object representing the "text" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's BCC field. + + String to search the envelope structure's BCC field for. + A SearchCondition object representing the "BCC" search criterion. + The text parameter is null. + + + + Finds messages whose internal date (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the message's internal date with. + A SearchCondition object representing the "Before" search criterion. + + + + Finds messages that contain the specified string in the body of the message. + + String to search the message body for. + A SearchCondition object representing the "Body" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's CC field. + + String to search the envelope structure's CC field for. + A SearchCondition object representing the "CC" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's FROM field. + + String to search the envelope structure's FROM field for. + A SearchCondition object representing the "FROM" search criterion. + The text parameter is null. + + + + Finds messages that have a header with the specified field-name and that contains the + specified string in the text of the header. + + field-name of the header to search for. + String to search for in the text of the header. + A SearchCondition object representing the "HEADER" search criterion. + + If the string to search is zero-length, this matches all messages that have a header line + with the specified field-name regardless of the contents. + + The name parameter or the text parameter is + null. + + + + Finds messages with the specified keyword flag set. + + The keyword flag to search for. + A SearchCondition object representing the "KEYWORD" search criterion. + The text parameter is null. + + + + Finds messages with a size larger than the specified number of bytes. + + Minimum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "LARGER" search criterion. + + + + Finds messages with a size smaller than the specified number of bytes. + + Maximum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "SMALLER" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTBEFORE" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within the specified + date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTON" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within or later than + the specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTSINCE" search criterion. + + + + Finds messages that contain the specified string in the envelope structure's SUBJECT field. + + String to search the envelope structure's SUBJECT field for. + A SearchCondition object representing the "SUBJECT" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's TO field. + + String to search the envelope structure's TO field for. + A SearchCondition object representing the "TO" search criterion. + The text parameter is null. + + + + Finds messages with unique identifiers corresponding to the specified unique identifier set. + + One or several unique identifiers (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages with a unique identifier greater than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + Because of the nature of the IMAP search mechanism, the result set will always contain the + UID of the last message in the mailbox, even if said UID is smaller than the UID specified. + + + + + Finds messages with a unique identifier less than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages that do not have the specified keyword flag set. + + The IMAP keyword flag to search for. + A SearchCondition object representing the "UNKEYWORD" search criterion. + The text parameter is null. + + + + Finds messages that have the \Answered flag set. + + A SearchCondition object representing the "ANSWERED" search criterion. + + + + Finds messages that have the \Deleted flag set. + + A SearchCondition object representing the "DELETED" search criterion. + + + + Finds messages that have the \Draft flag set. + + A SearchCondition object representing the "DRAFT" search criterion. + + + + Finds messages that have the \Flagged flag set. + + A SearchCondition object representing the "FLAGGED" search criterion. + + + + Finds messages that have the \Recent flag set but not the \Seen flag. + + A SearchCondition object representing the "NEW" search criterion. + + + + Finds messages that do not have the \Recent flag set. + + A SearchCondition object representing the "OLD" search criterion. + + + + Finds messages that have the \Recent flag set. + + A SearchCondition object representing the "RECENT" search criterion. + + + + Finds messages that have the \Seen flag set. + + A SearchCondition object representing the "SEEN" search criterion. + + + + Finds messages that do not have the \Answered flag set. + + A SearchCondition object representing the "UNANSWERED" search criterion. + + + + Finds messages that do not have the \Deleted flag set. + + A SearchCondition object representing the "UNDELETED" search criterion. + + + + Finds messages that do not have the \Draft flag set. + + A SearchCondition object representing the "UNDRAFT" search criterion. + + + + Finds messages that do not have the \Flagged flag set. + + A SearchCondition object representing the "UNFLAGGED" search criterion. + + + + Finds messages that do not have the \Seen flag set. + + A SearchCondition object representing the "UNSEEN" search criterion. + + + + Logically ANDs multiple search conditions, meaning a message will only be included in the + search result if both of the ANDed conditions are met. + + A search condition to logically AND this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically negates search conditions, meaning a message will only be included in the search + result if the specified conditions are not met. + + A search condition that must not be met by a message for it to be + included in the search result set. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically ORs multiple search conditions, meaning a message will be included in the search + result if it meets at least either of the conditions. + + A search condition to logically OR this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Joins two SearchCondition objects into a new one using the specified logical operator. + + The logical operator to use for joining the search conditions. + Possible values are "OR", "NOT" and the empty string "" which denotes a logical AND. + The first SearchCondition object + The second SearchCondition object + A new SearchCondition object representing the two search conditions joined by the + specified logical operator. + + + + Concatenates the members of a collection, using the specified separator between each + member. + + The type of the members of values. + The string to use as a separator. + A collection that contains the objects to concatenate. + A string that consists of the members of values delimited by the separator + string. If values has no members, the method returns System.String.Empty. + The values parameter is null. + This is already part of the String class in .NET 4.0 and newer but is needed + for backwards compatibility with .NET 3.5. + + + + Constructs a string from the SearchCondition object using the proper syntax as is required + for the IMAP SEARCH command. + + A string representing this SearchCondition instance that can be used with the IMAP + SEARCH command. + + + + The search keys which can be used with the IMAP SEARCH command, as are defined in section + 6.4.4 of RFC 3501. + + + + + A static utility class containing methods for decoding encoded non-ASCII data as well as + extension methods for some classes of the base class library. + + + + + Returns a copy of the string enclosed in double-quotes and with escaped CRLF, back-slash + and double-quote characters (as is expected by some commands of the IMAP protocol). + + Extends the System.String class + A copy of the string enclosed in double-quotes and properly escaped as is required + by the IMAP protocol. + + + + Returns true if the string contains only ASCII characters. + + Extension method for the String class. + true if the string contains only ASCII characters; Otherwise false. + + + + Splits a string into chunks of the specified number of characters. + + Extension method for the String class. + The length of a chunk, measured in characters. + An array of string chunks. + + + + Determines whether the specified string occurs within this string. + + Extension method for the String class. + The string to seek. + One of the enumeration values that specifies the rules for the + search. + true if the value parameter occurs within this string, or if value is the empty + string (""); otherwise, false. + The value parameter is null. + + + + Raises the event. Ensures the event is only raised, if it is not null. + + Extends System.EventHandler class. + Extends System.EventHandler class. + The sender of the event. + The event arguments associated with this event. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + The name to use when throwing an exception, if necessary. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + The name to use when throwing an exception, if necessary. + + + + Reads an unsigned short value from the underlying stream, optionally using big-endian byte + ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value as big endian value. + The 16-byte unsigned short value read from the underlying stream. + + + + Decodes a string composed of one or several MIME 'encoded-words'. + + A string to composed of one or several MIME 'encoded-words'. + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A concatenation of all enconded-words in the passed string + + + + Internal function reuse to add separation between multiple 'encoded-word's correctly. + + + + + The regular expression for matching encoded-words. This also accounts for the extension for + including language information (as defined in RFC2231). + + + + + Decodes a MIME 'encoded-word' string. + + The encoded word to decode + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A decoded string + MIME encoded-word syntax is a way to encode strings that contain non-ASCII data. + Commonly used encodings for the encoded-word sytax are Q-Encoding and Base64. For an + in-depth description, refer to RFC 2047. + + + + Takes a Q-encoded string and decodes it using the specified encoding. + + The Q-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid Q-encoded string. + The Q-decoded string. + + + + Takes a quoted-printable encoded string and decodes it using the specified encoding. + + The quoted-printable-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid quoted-printable encoded + string. + A quoted-printable decoded string. + + + + Decodes the specified MIME parameter value. + + The MIME parameter value to decode. + The decoded MIME parameter value. + The specified value is not a valid Rfc2231-encoded + string. + Refer to RFC2231 for the details of the encoding mechanism. + + + + Takes a Base64-encoded string and decodes it. + + The Base64-encoded string to decode. + A byte array containing the Base64-decoded bytes of the input string. + The value parameter is null. + The length of value, ignoring white-space + characters, is not zero or a multiple of 4, or the format of value is invalid, or the value + contains a non-base-64 character, more than two padding characters, or a non-white + space-character among the padding characters. + + + + Takes a UTF-16 encoded string and encodes it as modified UTF-7. + + The string to encode. + A UTF-7 encoded string + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + Takes a modified UTF-7 encoded string and decodes it. + + The UTF-7 encoded string to decode. + A UTF-16 encoded "standard" C# string + The input string is not a properly UTF-7 encoded + string. + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + This just wraps Encoding.GetEncoding in a try-catch block to ensure it never fails. If the + encoding can not be determined ASCII is returned as a default. + + The code page name of the preferred encoding. Any value returned by + System.Text.Encoding.WebName is a valid input. + The System.Text.Encoding associated with the specified code page or Encoding.ASCII + if the specified code page could not be resolved. + + + + Converts the specified enumerable collection of UIDs into an IMAP sequence-set. + + An enumerable collection of UIDs. + An IMAP sequence-set suitable for use with IMAP commands. + The uids parameter is null. + The specified collection of UIDs is empty. + Refer to RFC3501, 9.Formal Syntax "sequence-set" for a description of IMAP + sequence-sets. + + + diff --git a/App/DigitalData.EMLProfiler/clsEmail.IMAP.vb b/App/DigitalData.EMLProfiler/clsEmail.IMAP.vb index 7966f0d..9e5dedd 100644 --- a/App/DigitalData.EMLProfiler/clsEmail.IMAP.vb +++ b/App/DigitalData.EMLProfiler/clsEmail.IMAP.vb @@ -18,38 +18,38 @@ Public Class clsEmailIMAP ' Logger.Info(e.Log) 'End Sub - Public Function TestIMAPLogin(Server As String, Port As Integer, Username As String, Password As String, Inbox As String) As Boolean - Logger.Debug("Testing Login to Server {0}:{1} with user {2}", Server, Port, Username) + 'Public Function TestIMAPLogin(Server As String, Port As Integer, Username As String, Password As String, Inbox As String) As Boolean + ' Logger.Debug("Testing Login to Server {0}:{1} with user {2}", Server, Port, Username) - Try - Logger.Debug("Connecting...") - Using oClient As New S22.Imap.ImapClient(Server, Port, Username, Password, S22.Imap.AuthMethod.Login, True) - If Not oClient.Authed Then - Logger.Warn("Connected to server but authentication failed.") - Return False - End If - Logger.Debug("Connection successful") + ' Try + ' Logger.Debug("Connecting...") + ' Using oClient As New S22.Imap.ImapClient(Server, Port, Username, Password, S22.Imap.AuthMethod.Login, True) + ' If Not oClient.Authed Then + ' Logger.Warn("Connected to server but authentication failed.") + ' Return False + ' End If + ' Logger.Debug("Connection successful") - Logger.Debug("Fetching MessageIds..") - Dim oMessageIds As IEnumerable(Of UInteger) = oClient.Search(S22.Imap.SearchCondition.Unseen, Inbox) + ' Logger.Debug("Fetching MessageIds..") + ' Dim oMessageIds As IEnumerable(Of UInteger) = oClient.Search(S22.Imap.SearchCondition.Unseen, Inbox) - Logger.Debug("Found {0} messages", oMessageIds.Count) - Logger.Debug("Fetching messages...") + ' Logger.Debug("Found {0} messages", oMessageIds.Count) + ' Logger.Debug("Fetching messages...") - Dim oMessages As IEnumerable(Of Mail.MailMessage) = oClient.GetMessages(oMessageIds, False, Inbox) - Logger.Debug("Messages fetched") + ' Dim oMessages As IEnumerable(Of Mail.MailMessage) = oClient.GetMessages(oMessageIds, False, Inbox) + ' Logger.Debug("Messages fetched") - oClient.Dispose() + ' oClient.Dispose() - Return True - End Using - Catch ex As Exception - Logger.Error(ex) - Return False - End Try - End Function + ' Return True + ' End Using + ' Catch ex As Exception + ' Logger.Error(ex) + ' Return False + ' End Try + 'End Function - Public Function FetchIMAPMessages(Server As String, Port As Integer, Username As String, Password As String, Inbox As String) As Boolean + Public Function FetchIMAPMessages(Server As String, Port As Integer, Username As String, Password As String, Inbox As String, Optional IsTest As Boolean = False) As Boolean Logger.Debug("Connecting to Server {0}:{1} with user {2}", Server, Port, Username) Try @@ -73,12 +73,20 @@ Public Class clsEmailIMAP Dim oResult = WriteMessageToFile(oMessage, oTempPath) Dim oMsg As New Message(oTempPath) - MAIL_LIST.Add(oMsg) + If IsTest = False Then + MAIL_LIST.Add(oMsg) + Else + Logger.Debug($"message correctly fetched. Mail has been downloaded to {oTempPath}") + End If + Try - File.Delete(oTempPath) + If IsTest = False Then + File.Delete(oTempPath) + End If + Catch ex As Exception - Logger.Error(ex) + Logger.Error(ex) Logger.Warn("Temp file could not be deleted") End Try Next @@ -199,43 +207,5 @@ Public Class clsEmailIMAP ' End Try 'End Function - Public Function TEST_AEIMAP_COLLECT(INBOXNAME As String, MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String) - Try - Logger.Info(String.Format("Working on TEST_AEIMAP_COLLECT.....")) - 'Dim oLogPath = System.IO.Path.Combine(My.Application.Info.DirectoryPath, "Log\logindependentSoft.txt") - 'Logger.Debug($"IsoftLog: {oLogPath}...") - 'Dim oindependentLogger As New Independentsoft.Email.Logger(oLogPath) - ' Dim sslProtocol As System.Security.Authentication.SslProtocols = Security.Authentication.SslProtocols.Default - Dim oImapClient As New AE.Net.Mail.ImapClient(MYMAIL_SERVER, MYMAIL_USER, MYMAIL_USER_PW, AE.Net.Mail.AuthMethods.Login, MYMAIL_PORT) - 'oImapClient.Logger = oindependentLogger - 'oImapClient.ValidateRemoteCertificate = False - Try - If (oImapClient.IsConnected) Then - Logger.Debug($"oImapClient Login successfull...") - Else - Logger.Info($"oImapClient NOT connected...") - Return False - End If - Catch ex As Exception - Logger.Warn(ex.Message) - Logger.Error(ex) - Return False - End Try - - - oImapClient.Disconnect() - - - - Logger.Info("TEST_IMAP_COLLECT finished!") - Return True - - Catch ex As Exception - Logger.Info($"Unexpected error in TEST_IMAP_COLLECT - User: [{MYMAIL_USER}] PW: [{MYMAIL_USER_PW}]") - Logger.Error(ex, "Unexpected Error in TEST_IMAP_COLLECT:") - MsgBox($"Unexpected error in TEST_IMAP_COLLECT: {ex.Message}") - Return False - End Try - End Function End Class diff --git a/App/DigitalData.EMLProfiler/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/App/DigitalData.EMLProfiler/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 5c4cdd95d006a82bf4a93a494f883f1172d985db..be7ad958f8f70e2400e4f95dc75c06cae8ee4eff 100644 GIT binary patch delta 370 zcmaFmc-3jcAs#j<1_lN;$;l0}ftw|H_p>mjPCmn9I(Z%+r*5#3k)CI6Vu7Bqo|&G3 zoQREYKe(K3|uNDCx=ZPXhQB}Mv<7wrb0rD8k6;e6Zo9-i&FJKlA1utGO(nO zur#9eJ5@Q9a(3$*KxR_CQa-m2rqu%8EB2}#VK=~Z7o?W7XtOjtNj+h{$ z;bc3p3`QfM>V(bg;>@h##z1Kp5M%?g7=f70WU``6vX&{3$>LU;lf%dXWU&G`o9hk&eDr?!S zCWmu-idX{$d8>mG%iS__QvDKhQ)}65fMJ=+XbW^eBomw6WJkGdM&r$Ew$l)1#^xe%W>#?{AQuJ%*?=rYAZ9b394HrQ zBFGNon*bRsZlyUnj2u7~D-d%cYh>hvi%yo5m18uUY#}QvX$}+=s`kjtD+x#}$#5&m z&-E-x&8=m#n4Bjo&uBThPu5e!3aEy+Iw-N+Ei)(8FEKZ@mdzR%Y^jVkKo>-@+5)9x TfzA(|%qlO$XtY^E-j)dfpXf>% diff --git a/App/DigitalData.EMLProfiler/obj/Debug/DigitalData.EMLProfiler.dll b/App/DigitalData.EMLProfiler/obj/Debug/DigitalData.EMLProfiler.dll index ea185866454c0a788cc6c79bc4496ba25794a3a5..e40f034c3f2ead090560d1dba8be05c4019034c1 100644 GIT binary patch delta 33087 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 + + + Uses a private API from MailWriter to write a MailMessage to disk. + May break in future versions of .NET + + Konstruktor für die windream-Klasse diff --git a/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL-Error.log b/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL-Error.0.log similarity index 75% rename from App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL-Error.log rename to App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL-Error.0.log index 9a8f114..541fe5f 100644 --- a/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL-Error.log +++ b/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL-Error.0.log @@ -1517,3 +1517,500 @@ bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. 2019-04-11 18:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 18:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:03:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:13:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 19:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 20:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 21:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 22:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:28:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:58:02|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-11 23:58:02|clsWorker|WARN >> Error while polling emails.... diff --git a/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL.log b/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL.0.log similarity index 75% rename from App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL.log rename to App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL.0.log index ca70d75..d1cbe41 100644 --- a/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL.log +++ b/App/SERV_EMAIL/bin/Debug/Log/2019-04-11-SERV_EMAIL.0.log @@ -1517,3 +1517,500 @@ 2019-04-11 18:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... 2019-04-11 18:03:00|clsWorker|WARN >> Error while polling emails.... 2019-04-11 18:03:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:07:59|MyService|INFO >> ## running thread...... +2019-04-11 18:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:08:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:12:59|MyService|INFO >> ## running thread...... +2019-04-11 18:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:13:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:17:59|MyService|INFO >> ## running thread...... +2019-04-11 18:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:18:01|clsWorker|INFO >> No emails for profile! +2019-04-11 18:22:59|MyService|INFO >> ## running thread...... +2019-04-11 18:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:23:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:27:59|MyService|INFO >> ## running thread...... +2019-04-11 18:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:28:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:32:59|MyService|INFO >> ## running thread...... +2019-04-11 18:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:33:01|clsWorker|INFO >> No emails for profile! +2019-04-11 18:37:59|MyService|INFO >> ## running thread...... +2019-04-11 18:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:38:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:42:59|MyService|INFO >> ## running thread...... +2019-04-11 18:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:43:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:47:59|MyService|INFO >> ## running thread...... +2019-04-11 18:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:48:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:52:59|MyService|INFO >> ## running thread...... +2019-04-11 18:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:53:00|clsWorker|INFO >> No emails for profile! +2019-04-11 18:57:59|MyService|INFO >> ## running thread...... +2019-04-11 18:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 18:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 18:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 18:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 18:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 18:58:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:02:59|MyService|INFO >> ## running thread...... +2019-04-11 19:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:03:01|clsWorker|INFO >> No emails for profile! +2019-04-11 19:07:59|MyService|INFO >> ## running thread...... +2019-04-11 19:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:08:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:12:59|MyService|INFO >> ## running thread...... +2019-04-11 19:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:13:01|clsWorker|INFO >> No emails for profile! +2019-04-11 19:17:59|MyService|INFO >> ## running thread...... +2019-04-11 19:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:18:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:22:59|MyService|INFO >> ## running thread...... +2019-04-11 19:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:23:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:27:59|MyService|INFO >> ## running thread...... +2019-04-11 19:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:28:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:32:59|MyService|INFO >> ## running thread...... +2019-04-11 19:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:33:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:37:59|MyService|INFO >> ## running thread...... +2019-04-11 19:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:38:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:42:59|MyService|INFO >> ## running thread...... +2019-04-11 19:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:43:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:47:59|MyService|INFO >> ## running thread...... +2019-04-11 19:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:48:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:52:59|MyService|INFO >> ## running thread...... +2019-04-11 19:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:53:00|clsWorker|INFO >> No emails for profile! +2019-04-11 19:57:59|MyService|INFO >> ## running thread...... +2019-04-11 19:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 19:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 19:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 19:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 19:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 19:58:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:02:59|MyService|INFO >> ## running thread...... +2019-04-11 20:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:03:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:07:59|MyService|INFO >> ## running thread...... +2019-04-11 20:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:08:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:12:59|MyService|INFO >> ## running thread...... +2019-04-11 20:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:13:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:17:59|MyService|INFO >> ## running thread...... +2019-04-11 20:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:18:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:22:59|MyService|INFO >> ## running thread...... +2019-04-11 20:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:23:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:27:59|MyService|INFO >> ## running thread...... +2019-04-11 20:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:28:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:32:59|MyService|INFO >> ## running thread...... +2019-04-11 20:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:33:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:37:59|MyService|INFO >> ## running thread...... +2019-04-11 20:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:38:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:42:59|MyService|INFO >> ## running thread...... +2019-04-11 20:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:43:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:47:59|MyService|INFO >> ## running thread...... +2019-04-11 20:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:48:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:52:59|MyService|INFO >> ## running thread...... +2019-04-11 20:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:53:00|clsWorker|INFO >> No emails for profile! +2019-04-11 20:57:59|MyService|INFO >> ## running thread...... +2019-04-11 20:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 20:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 20:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 20:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 20:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 20:58:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:02:59|MyService|INFO >> ## running thread...... +2019-04-11 21:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:03:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:07:59|MyService|INFO >> ## running thread...... +2019-04-11 21:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:08:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:12:59|MyService|INFO >> ## running thread...... +2019-04-11 21:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:13:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:17:59|MyService|INFO >> ## running thread...... +2019-04-11 21:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:18:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:22:59|MyService|INFO >> ## running thread...... +2019-04-11 21:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:23:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:27:59|MyService|INFO >> ## running thread...... +2019-04-11 21:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:28:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:32:59|MyService|INFO >> ## running thread...... +2019-04-11 21:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:33:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:37:59|MyService|INFO >> ## running thread...... +2019-04-11 21:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:38:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:42:59|MyService|INFO >> ## running thread...... +2019-04-11 21:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:43:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:47:59|MyService|INFO >> ## running thread...... +2019-04-11 21:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:48:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:52:59|MyService|INFO >> ## running thread...... +2019-04-11 21:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:53:00|clsWorker|INFO >> No emails for profile! +2019-04-11 21:57:59|MyService|INFO >> ## running thread...... +2019-04-11 21:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 21:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 21:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 21:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 21:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 21:58:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:02:59|MyService|INFO >> ## running thread...... +2019-04-11 22:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:03:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:07:59|MyService|INFO >> ## running thread...... +2019-04-11 22:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:08:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:12:59|MyService|INFO >> ## running thread...... +2019-04-11 22:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:13:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:17:59|MyService|INFO >> ## running thread...... +2019-04-11 22:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:18:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:22:59|MyService|INFO >> ## running thread...... +2019-04-11 22:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:23:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:27:59|MyService|INFO >> ## running thread...... +2019-04-11 22:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:28:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:32:59|MyService|INFO >> ## running thread...... +2019-04-11 22:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:33:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:37:59|MyService|INFO >> ## running thread...... +2019-04-11 22:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:38:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:42:59|MyService|INFO >> ## running thread...... +2019-04-11 22:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:43:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:47:59|MyService|INFO >> ## running thread...... +2019-04-11 22:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:48:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:52:59|MyService|INFO >> ## running thread...... +2019-04-11 22:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:53:00|clsWorker|INFO >> No emails for profile! +2019-04-11 22:57:59|MyService|INFO >> ## running thread...... +2019-04-11 22:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 22:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 22:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 22:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 22:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 22:58:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:02:59|MyService|INFO >> ## running thread...... +2019-04-11 23:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:03:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:07:59|MyService|INFO >> ## running thread...... +2019-04-11 23:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:08:01|clsWorker|INFO >> No emails for profile! +2019-04-11 23:12:59|MyService|INFO >> ## running thread...... +2019-04-11 23:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:13:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:17:59|MyService|INFO >> ## running thread...... +2019-04-11 23:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:18:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:22:59|MyService|INFO >> ## running thread...... +2019-04-11 23:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:23:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:27:59|MyService|INFO >> ## running thread...... +2019-04-11 23:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:28:01|clsWorker|INFO >> No emails for profile! +2019-04-11 23:32:59|MyService|INFO >> ## running thread...... +2019-04-11 23:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:33:01|clsWorker|INFO >> No emails for profile! +2019-04-11 23:37:59|MyService|INFO >> ## running thread...... +2019-04-11 23:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:38:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:42:59|MyService|INFO >> ## running thread...... +2019-04-11 23:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:43:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:47:59|MyService|INFO >> ## running thread...... +2019-04-11 23:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:48:01|clsWorker|INFO >> No emails for profile! +2019-04-11 23:52:59|MyService|INFO >> ## running thread...... +2019-04-11 23:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:53:00|clsWorker|INFO >> No emails for profile! +2019-04-11 23:57:59|MyService|INFO >> ## running thread...... +2019-04-11 23:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-11 23:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-11 23:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-11 23:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-11 23:58:02|clsWorker|WARN >> Error while polling emails.... +2019-04-11 23:58:02|clsWorker|INFO >> No emails for profile! diff --git a/App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL-Error.log b/App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL-Error.log new file mode 100644 index 0000000..53850e1 --- /dev/null +++ b/App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL-Error.log @@ -0,0 +1,917 @@ +2019-04-12 00:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:18:02|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:18:02|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:23:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 00:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:23:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:43:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:48:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 01:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:23:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:53:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 02:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:03:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:08:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:13:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:23:02|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:23:02|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:53:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:58:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 03:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:03:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:08:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:18:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:23:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:28:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:38:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:53:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:58:02|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 04:58:02|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:03:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:08:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:13:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:18:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:23:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:28:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:38:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:53:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:58:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 05:58:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:03:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:08:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:13:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:18:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:23:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:28:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:33:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:38:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:53:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:58:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 06:58:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:03:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:08:00|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:13:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:18:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:23:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:28:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:33:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:38:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:43:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:48:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:53:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:58:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 07:58:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:03:01|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:09:15|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:09:18|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:09:18|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:14:13|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:14:14|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:14:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:19:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:19:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:19:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:24:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:24:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:24:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:29:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:29:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:29:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:34:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:34:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:34:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:39:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:39:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:39:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:44:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:44:14|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:44:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:49:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:49:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:49:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:54:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:54:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:54:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:59:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:59:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 08:59:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:04:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:04:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:04:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:09:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:09:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:09:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:14:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:14:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:14:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:19:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:19:14|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:19:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:24:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:24:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:24:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:29:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:29:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:29:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:34:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:34:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:34:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:39:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:39:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:39:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:44:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:44:14|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:44:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:49:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:49:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:49:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:54:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:54:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:54:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:59:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:59:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 09:59:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:04:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:04:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:04:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:09:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:09:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:09:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:14:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:14:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:14:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:19:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:19:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:19:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:24:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:24:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:24:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:29:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:29:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:29:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:34:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:34:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:34:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:39:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:39:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:39:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:44:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:44:14|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:44:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:49:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:49:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:49:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:54:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:54:13|clsEmailIMAP|ERROR >> LOGIN failed. + bei Independentsoft.Email.Imap.ImapClient.?(String ?, String ?) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password, AuthenticationType authenticationType) + bei Independentsoft.Email.Imap.ImapClient.Login(String username, String password) + bei DigitalData.EMLProfiler.clsEmailIMAP.IMAP_COLLECT() in E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\clsEmail.IMAP.vb:Zeile 28. +2019-04-12 10:54:13|clsWorker|WARN >> Error while polling emails.... diff --git a/App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL.log b/App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL.log new file mode 100644 index 0000000..075cdc4 --- /dev/null +++ b/App/SERV_EMAIL/bin/Debug/Log/2019-04-12-SERV_EMAIL.log @@ -0,0 +1,920 @@ +2019-04-12 00:02:59|MyService|INFO >> ## running thread...... +2019-04-12 00:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:03:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:07:59|MyService|INFO >> ## running thread...... +2019-04-12 00:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:08:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:12:59|MyService|INFO >> ## running thread...... +2019-04-12 00:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:13:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:17:59|MyService|INFO >> ## running thread...... +2019-04-12 00:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:18:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:18:02|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:18:02|clsWorker|INFO >> No emails for profile! +2019-04-12 00:23:00|MyService|INFO >> ## running thread...... +2019-04-12 00:23:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:23:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:23:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:23:01|clsWorker|INFO >> No emails for profile! +2019-04-12 00:28:00|MyService|INFO >> ## running thread...... +2019-04-12 00:28:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:28:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:28:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:28:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:33:00|MyService|INFO >> ## running thread...... +2019-04-12 00:33:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:33:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:33:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:33:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:38:00|MyService|INFO >> ## running thread...... +2019-04-12 00:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:38:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:43:00|MyService|INFO >> ## running thread...... +2019-04-12 00:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 00:48:00|MyService|INFO >> ## running thread...... +2019-04-12 00:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 00:53:00|MyService|INFO >> ## running thread...... +2019-04-12 00:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:53:00|clsWorker|INFO >> No emails for profile! +2019-04-12 00:58:00|MyService|INFO >> ## running thread...... +2019-04-12 00:58:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 00:58:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 00:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 00:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 00:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 00:58:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:03:00|MyService|INFO >> ## running thread...... +2019-04-12 01:03:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:03:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:08:00|MyService|INFO >> ## running thread...... +2019-04-12 01:08:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:08:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:08:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:12:59|MyService|INFO >> ## running thread...... +2019-04-12 01:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:13:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:13:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:17:59|MyService|INFO >> ## running thread...... +2019-04-12 01:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:18:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:22:59|MyService|INFO >> ## running thread...... +2019-04-12 01:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:23:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:23:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:27:59|MyService|INFO >> ## running thread...... +2019-04-12 01:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:28:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:32:59|MyService|INFO >> ## running thread...... +2019-04-12 01:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:33:01|clsWorker|INFO >> No emails for profile! +2019-04-12 01:37:59|MyService|INFO >> ## running thread...... +2019-04-12 01:37:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:37:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:37:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:37:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:38:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:42:59|MyService|INFO >> ## running thread...... +2019-04-12 01:42:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:42:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:42:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:42:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:43:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:43:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:47:59|MyService|INFO >> ## running thread...... +2019-04-12 01:47:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:47:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:47:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:47:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:48:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:48:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:52:59|MyService|INFO >> ## running thread...... +2019-04-12 01:52:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:52:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:52:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:52:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:53:00|clsWorker|INFO >> No emails for profile! +2019-04-12 01:57:59|MyService|INFO >> ## running thread...... +2019-04-12 01:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 01:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 01:57:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 01:57:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 01:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 01:58:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:02:59|MyService|INFO >> ## running thread...... +2019-04-12 02:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:02:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:02:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:02:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:03:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:07:59|MyService|INFO >> ## running thread...... +2019-04-12 02:07:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:07:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:07:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:07:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:08:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:08:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:12:59|MyService|INFO >> ## running thread...... +2019-04-12 02:12:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:12:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:12:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:12:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:13:01|clsWorker|INFO >> No emails for profile! +2019-04-12 02:17:59|MyService|INFO >> ## running thread...... +2019-04-12 02:17:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:17:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:17:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:17:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:18:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:22:59|MyService|INFO >> ## running thread...... +2019-04-12 02:22:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:22:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:22:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:22:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:23:01|clsWorker|INFO >> No emails for profile! +2019-04-12 02:27:59|MyService|INFO >> ## running thread...... +2019-04-12 02:27:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:27:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:27:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:27:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:28:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:32:59|MyService|INFO >> ## running thread...... +2019-04-12 02:32:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:32:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:32:59|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:32:59|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:33:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:37:59|MyService|INFO >> ## running thread...... +2019-04-12 02:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:38:00|clsWorker|INFO >> No emails for profile! +2019-04-12 02:42:59|MyService|INFO >> ## running thread...... +2019-04-12 02:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 02:47:59|MyService|INFO >> ## running thread...... +2019-04-12 02:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 02:52:59|MyService|INFO >> ## running thread...... +2019-04-12 02:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:53:01|clsWorker|INFO >> No emails for profile! +2019-04-12 02:57:59|MyService|INFO >> ## running thread...... +2019-04-12 02:57:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 02:57:59|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 02:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 02:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 02:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 02:58:00|clsWorker|INFO >> No emails for profile! +2019-04-12 03:02:59|MyService|INFO >> ## running thread...... +2019-04-12 03:02:59|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:03:01|clsWorker|INFO >> No emails for profile! +2019-04-12 03:07:59|MyService|INFO >> ## running thread...... +2019-04-12 03:08:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:08:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:08:01|clsWorker|INFO >> No emails for profile! +2019-04-12 03:12:59|MyService|INFO >> ## running thread...... +2019-04-12 03:13:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:13:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:13:01|clsWorker|INFO >> No emails for profile! +2019-04-12 03:18:00|MyService|INFO >> ## running thread...... +2019-04-12 03:18:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:18:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:18:00|clsWorker|INFO >> No emails for profile! +2019-04-12 03:23:00|MyService|INFO >> ## running thread...... +2019-04-12 03:23:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:23:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:23:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:23:02|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:23:02|clsWorker|INFO >> No emails for profile! +2019-04-12 03:28:00|MyService|INFO >> ## running thread...... +2019-04-12 03:28:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:28:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:28:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:28:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:28:00|clsWorker|INFO >> No emails for profile! +2019-04-12 03:33:00|MyService|INFO >> ## running thread...... +2019-04-12 03:33:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:33:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:33:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:33:01|clsWorker|INFO >> No emails for profile! +2019-04-12 03:38:00|MyService|INFO >> ## running thread...... +2019-04-12 03:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:38:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:38:00|clsWorker|INFO >> No emails for profile! +2019-04-12 03:43:00|MyService|INFO >> ## running thread...... +2019-04-12 03:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 03:48:00|MyService|INFO >> ## running thread...... +2019-04-12 03:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 03:53:00|MyService|INFO >> ## running thread...... +2019-04-12 03:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:53:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:53:00|clsWorker|INFO >> No emails for profile! +2019-04-12 03:58:00|MyService|INFO >> ## running thread...... +2019-04-12 03:58:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 03:58:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 03:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 03:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 03:58:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 03:58:00|clsWorker|INFO >> No emails for profile! +2019-04-12 04:03:00|MyService|INFO >> ## running thread...... +2019-04-12 04:03:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:03:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:08:00|MyService|INFO >> ## running thread...... +2019-04-12 04:08:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:08:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:08:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:13:00|MyService|INFO >> ## running thread...... +2019-04-12 04:13:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:13:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:13:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:18:00|MyService|INFO >> ## running thread...... +2019-04-12 04:18:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:18:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:18:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:18:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:23:00|MyService|INFO >> ## running thread...... +2019-04-12 04:23:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:23:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:23:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:23:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:28:00|MyService|INFO >> ## running thread...... +2019-04-12 04:28:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:28:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:28:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:28:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:33:00|MyService|INFO >> ## running thread...... +2019-04-12 04:33:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:33:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:33:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:33:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:38:00|MyService|INFO >> ## running thread...... +2019-04-12 04:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:38:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:43:00|MyService|INFO >> ## running thread...... +2019-04-12 04:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:48:00|MyService|INFO >> ## running thread...... +2019-04-12 04:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:53:00|MyService|INFO >> ## running thread...... +2019-04-12 04:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:53:01|clsWorker|INFO >> No emails for profile! +2019-04-12 04:58:00|MyService|INFO >> ## running thread...... +2019-04-12 04:58:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 04:58:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 04:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 04:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 04:58:02|clsWorker|WARN >> Error while polling emails.... +2019-04-12 04:58:02|clsWorker|INFO >> No emails for profile! +2019-04-12 05:03:00|MyService|INFO >> ## running thread...... +2019-04-12 05:03:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:03:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:08:00|MyService|INFO >> ## running thread...... +2019-04-12 05:08:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:08:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:08:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:13:00|MyService|INFO >> ## running thread...... +2019-04-12 05:13:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:13:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:13:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:18:00|MyService|INFO >> ## running thread...... +2019-04-12 05:18:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:18:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:18:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:23:00|MyService|INFO >> ## running thread...... +2019-04-12 05:23:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:23:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:23:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:23:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:28:00|MyService|INFO >> ## running thread...... +2019-04-12 05:28:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:28:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:28:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:28:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:33:00|MyService|INFO >> ## running thread...... +2019-04-12 05:33:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:33:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:33:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:33:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:38:00|MyService|INFO >> ## running thread...... +2019-04-12 05:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:38:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:43:00|MyService|INFO >> ## running thread...... +2019-04-12 05:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:48:00|MyService|INFO >> ## running thread...... +2019-04-12 05:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:53:00|MyService|INFO >> ## running thread...... +2019-04-12 05:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:53:01|clsWorker|INFO >> No emails for profile! +2019-04-12 05:58:00|MyService|INFO >> ## running thread...... +2019-04-12 05:58:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 05:58:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 05:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 05:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 05:58:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 05:58:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:03:00|MyService|INFO >> ## running thread...... +2019-04-12 06:03:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:03:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:03:00|clsWorker|INFO >> No emails for profile! +2019-04-12 06:08:00|MyService|INFO >> ## running thread...... +2019-04-12 06:08:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:08:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:08:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:13:00|MyService|INFO >> ## running thread...... +2019-04-12 06:13:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:13:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:13:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:13:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:18:00|MyService|INFO >> ## running thread...... +2019-04-12 06:18:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:18:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:18:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:23:00|MyService|INFO >> ## running thread...... +2019-04-12 06:23:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:23:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:23:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:23:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:28:00|MyService|INFO >> ## running thread...... +2019-04-12 06:28:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:28:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:28:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:28:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:33:00|MyService|INFO >> ## running thread...... +2019-04-12 06:33:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:33:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:33:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:33:00|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:33:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:38:00|MyService|INFO >> ## running thread...... +2019-04-12 06:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:38:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:43:00|MyService|INFO >> ## running thread...... +2019-04-12 06:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:48:00|MyService|INFO >> ## running thread...... +2019-04-12 06:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:53:00|MyService|INFO >> ## running thread...... +2019-04-12 06:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:53:01|clsWorker|INFO >> No emails for profile! +2019-04-12 06:58:00|MyService|INFO >> ## running thread...... +2019-04-12 06:58:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 06:58:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 06:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 06:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 06:58:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 06:58:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:03:00|MyService|INFO >> ## running thread...... +2019-04-12 07:03:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:03:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:08:00|MyService|INFO >> ## running thread...... +2019-04-12 07:08:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:08:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:08:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:08:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:08:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:08:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:13:00|MyService|INFO >> ## running thread...... +2019-04-12 07:13:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:13:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:13:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:13:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:13:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:13:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:18:00|MyService|INFO >> ## running thread...... +2019-04-12 07:18:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:18:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:18:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:18:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:18:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:18:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:23:00|MyService|INFO >> ## running thread...... +2019-04-12 07:23:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:23:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:23:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:23:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:23:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:23:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:28:00|MyService|INFO >> ## running thread...... +2019-04-12 07:28:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:28:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:28:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:28:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:28:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:28:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:33:00|MyService|INFO >> ## running thread...... +2019-04-12 07:33:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:33:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:33:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:33:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:33:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:33:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:38:00|MyService|INFO >> ## running thread...... +2019-04-12 07:38:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:38:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:38:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:38:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:38:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:38:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:43:00|MyService|INFO >> ## running thread...... +2019-04-12 07:43:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:43:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:43:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:43:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:43:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:43:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:48:00|MyService|INFO >> ## running thread...... +2019-04-12 07:48:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:48:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:48:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:48:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:48:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:48:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:53:00|MyService|INFO >> ## running thread...... +2019-04-12 07:53:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:53:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:53:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:53:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:53:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:53:01|clsWorker|INFO >> No emails for profile! +2019-04-12 07:58:00|MyService|INFO >> ## running thread...... +2019-04-12 07:58:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 07:58:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 07:58:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 07:58:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 07:58:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 07:58:01|clsWorker|INFO >> No emails for profile! +2019-04-12 08:03:00|MyService|INFO >> ## running thread...... +2019-04-12 08:03:00|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:03:00|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:03:00|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:03:00|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:03:01|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:03:01|clsWorker|INFO >> No emails for profile! +2019-04-12 08:08:46|MyService|INFO >> ## Service started ## +2019-04-12 08:08:53|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:09:13|MyService|INFO >> ...Timer started. +2019-04-12 08:09:13|MyService|INFO >> ## running thread...... +2019-04-12 08:09:14|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:09:15|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:09:15|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:09:15|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:09:18|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:09:18|clsWorker|INFO >> No emails for profile! +2019-04-12 08:14:13|MyService|INFO >> ## running thread...... +2019-04-12 08:14:13|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:14:13|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:14:13|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:14:13|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:14:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:14:14|clsWorker|INFO >> No emails for profile! +2019-04-12 08:19:12|MyService|INFO >> ## running thread...... +2019-04-12 08:19:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:19:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:19:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:19:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:19:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:19:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:24:12|MyService|INFO >> ## running thread...... +2019-04-12 08:24:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:24:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:24:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:24:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:24:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:24:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:29:12|MyService|INFO >> ## running thread...... +2019-04-12 08:29:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:29:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:29:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:29:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:29:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:29:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:34:12|MyService|INFO >> ## running thread...... +2019-04-12 08:34:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:34:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:34:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:34:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:34:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:34:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:39:12|MyService|INFO >> ## running thread...... +2019-04-12 08:39:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:39:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:39:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:39:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:39:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:39:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:44:12|MyService|INFO >> ## running thread...... +2019-04-12 08:44:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:44:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:44:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:44:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:44:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:44:14|clsWorker|INFO >> No emails for profile! +2019-04-12 08:49:12|MyService|INFO >> ## running thread...... +2019-04-12 08:49:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:49:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:49:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:49:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:49:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:49:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:54:12|MyService|INFO >> ## running thread...... +2019-04-12 08:54:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:54:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:54:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:54:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:54:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:54:13|clsWorker|INFO >> No emails for profile! +2019-04-12 08:59:12|MyService|INFO >> ## running thread...... +2019-04-12 08:59:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 08:59:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 08:59:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 08:59:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 08:59:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 08:59:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:04:12|MyService|INFO >> ## running thread...... +2019-04-12 09:04:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:04:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:04:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:04:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:04:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:04:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:09:12|MyService|INFO >> ## running thread...... +2019-04-12 09:09:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:09:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:09:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:09:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:09:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:09:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:14:12|MyService|INFO >> ## running thread...... +2019-04-12 09:14:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:14:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:14:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:14:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:14:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:14:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:19:12|MyService|INFO >> ## running thread...... +2019-04-12 09:19:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:19:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:19:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:19:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:19:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:19:14|clsWorker|INFO >> No emails for profile! +2019-04-12 09:24:12|MyService|INFO >> ## running thread...... +2019-04-12 09:24:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:24:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:24:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:24:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:24:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:24:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:29:12|MyService|INFO >> ## running thread...... +2019-04-12 09:29:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:29:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:29:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:29:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:29:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:29:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:34:12|MyService|INFO >> ## running thread...... +2019-04-12 09:34:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:34:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:34:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:34:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:34:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:34:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:39:12|MyService|INFO >> ## running thread...... +2019-04-12 09:39:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:39:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:39:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:39:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:39:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:39:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:44:12|MyService|INFO >> ## running thread...... +2019-04-12 09:44:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:44:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:44:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:44:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:44:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:44:14|clsWorker|INFO >> No emails for profile! +2019-04-12 09:49:12|MyService|INFO >> ## running thread...... +2019-04-12 09:49:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:49:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:49:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:49:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:49:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:49:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:54:12|MyService|INFO >> ## running thread...... +2019-04-12 09:54:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:54:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:54:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:54:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:54:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:54:13|clsWorker|INFO >> No emails for profile! +2019-04-12 09:59:12|MyService|INFO >> ## running thread...... +2019-04-12 09:59:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 09:59:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 09:59:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 09:59:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 09:59:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 09:59:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:04:12|MyService|INFO >> ## running thread...... +2019-04-12 10:04:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:04:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:04:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:04:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:04:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:04:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:09:12|MyService|INFO >> ## running thread...... +2019-04-12 10:09:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:09:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:09:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:09:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:09:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:09:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:14:12|MyService|INFO >> ## running thread...... +2019-04-12 10:14:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:14:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:14:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:14:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:14:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:14:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:19:12|MyService|INFO >> ## running thread...... +2019-04-12 10:19:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:19:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:19:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:19:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:19:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:19:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:24:12|MyService|INFO >> ## running thread...... +2019-04-12 10:24:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:24:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:24:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:24:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:24:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:24:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:29:12|MyService|INFO >> ## running thread...... +2019-04-12 10:29:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:29:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:29:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:29:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:29:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:29:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:34:12|MyService|INFO >> ## running thread...... +2019-04-12 10:34:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:34:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:34:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:34:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:34:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:34:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:39:12|MyService|INFO >> ## running thread...... +2019-04-12 10:39:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:39:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:39:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:39:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:39:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:39:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:44:12|MyService|INFO >> ## running thread...... +2019-04-12 10:44:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:44:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:44:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:44:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:44:14|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:44:14|clsWorker|INFO >> No emails for profile! +2019-04-12 10:49:12|MyService|INFO >> ## running thread...... +2019-04-12 10:49:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:49:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:49:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:49:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:49:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:49:13|clsWorker|INFO >> No emails for profile! +2019-04-12 10:54:12|MyService|INFO >> ## running thread...... +2019-04-12 10:54:12|clsWorkEmail|INFO >> Detail-Log is on +2019-04-12 10:54:12|clsWorker|INFO >> Working on profile: (1-TEST1-IMAP) +2019-04-12 10:54:12|clsWorker|WARN >> PWPlain is nothing - Could not decrypt passwort +2019-04-12 10:54:12|clsEmailIMAP|INFO >> Working on IMAP_COLLECT..... +2019-04-12 10:54:13|clsWorker|WARN >> Error while polling emails.... +2019-04-12 10:54:13|clsWorker|INFO >> No emails for profile! diff --git a/App/packages/S22.Imap.3.6.0.0/.signature.p7s b/App/packages/S22.Imap.3.6.0.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..4e6f56a1e711b0919896e2fd46e3b6e0ba5d2e83 GIT binary patch literal 9465 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 Tr|7t0UL%ji3oQ98?2;`% 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

Au}8u4HMzRm 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�+Bcd-!r4!u%7K04j{)XDn^Yhwyc_vHp%JHf{(A>n|Z> z2o?1|ig~zMLHK@(0SiPX2p97%V+3b<5 zzX|=Q-|MF@=Jf#h#qZ1Ee_%T?ztbsnM5q9QJ_p9?&pj^`62e~r3$Fk~NQ_tTFVI+G zGt!Z(72z?L|6YEV^O;ysu$T33oWOsIonEV@yu(6NrUFVA`13gF2~qBJ>n9bCiONg^=koo6;^wKo}qjq|2(~>)>H@K9r!hu zt;&`oD^uXvItNa1hw69hce~F~M#m3OUJ@+o9b$W}w|eotvWq}XuR20EoNvWH_*yct z{)Cd@Rn4LV(ubayhn=9wr=P@X33Lnl7ayWnVryn!usf3qoXMuj&3{Obo?H?qt(#aH zY+B_uE>AHsKn?ixc%2y~4tOr_WpRO32!Nd$0Co!g#Ll7Rl6PGgvN=HH%p|Y*FWC7% zhAmfQ9uT4l2>t>+0da_+0C3@ti0ywoj0Pt4zu)96!H;=$H1)yJPoKhF1*31(gJlsJ*f0y&8FD;L7q%kHt}dwMOdhioCl|-`sy-iwW&op7>Mb=3 z#}SQ(j&vK=JvK~<;}ZpDFBLc3ato6LOgax$Lzrd>vXtE6-n4*Nvg|U?i``qyoxw9C zn#Y9gudpfM23Cgs+sHi4Zwq(e%mZ0?1XS?X5!R09S`i;(bfJYNW9^>0i-vHf4+cT5 z9q5I!>QzkMu=RD3okuAlY&_?+X|F(HgC(qTPq6g1I1M9=%vU2+vXCTbuKZaA0zrbl838)|| zqKn3boZdnb`pQ=X$&cVw{mWMJ&utOqrzKm}&n%v$tMZ&4z!` zfYVQ0S?fz64BaU9y=xl3z4`^LYi7u4QJ2#TNu4{dtMkd%0?oq;idzrlo2q0ZKOZy%DM~4uQW!5jmmGFv z8)gic54I1qE~?VvBYV7@!CYcOwCY|Ue~jlVR*-|&TTwP4^Z4#3rWVicSrx3v=CdT$ zH#Cn{A~3&BuXv1>1px~CPwo(z9|{DN5a9F*D!AFR#~UdCSzHS*Z)wJ#v^Ds6ArvHaaiF(pR>d%D zb#%q<{5&%Qy5h);Kn}&jF0uy-n8Un>Wh#pmT%1Jrml@A4L(OgVoOE)n+{=hP2~UcC$xVw!=Kgv ze&+J8)gSI6|I-P~D+Q!T|Mg+JKUK&cAph;?owf!V`c*y_@Gle?Dz-GhC_?&w0IC15 AZ~y=R literal 0 HcmV?d00001 diff --git a/App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.XML b/App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.XML new file mode 100644 index 0000000..f92a55b --- /dev/null +++ b/App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.XML @@ -0,0 +1,6498 @@ + + + + S22.Imap + + + +

+ Defines supported means of authenticating with an IMAP server. + + + + + Automatically selects the most-secure authentication mechanism supported by the server. + + + + + Login using plaintext password authentication; This is supported by most servers. + + + + + Login using the SASL PLAIN authentication mechanism. + + + + + Login using the CRAM-MD5 authentication mechanism. + + + + + Login using the DIGEST-MD5 authentication mechanism. + + + + + Login using OAuth via the SASL XOAuth mechanism. + + + + + Login using OAuth 2.0 via the SASL XOAUTH2 mechanism. + + + + + Login using the NTLM authentication mechanism. + + + + + Login using the NTLMv2 authentication mechanism. + + + + + Login using the NTLM/NTLMv2 authentication mechanism via Microsoft's Security Support + Provider Interface (SSPI). + + + + + Login using Kerberos authentication via the SASL GSSAPI mechanism. + + + + + Login using the SCRAM-SHA-1 authentication mechanism. + + + + + Login using the Secure Remote Password (SRP) authentication mechanism. + + The SRP mechanism is only available when targeting .NET 4.0 or newer. + + + + A utility class modeled after the BCL StringBuilder to simplify + building binary-data messages. + + + + + The actual byte buffer. + + + + + The current position in the buffer. + + + + + Resizes the internal byte buffer. + + Amount in bytes by which to increase the + size of the buffer. + + + + Appends one or several byte values to this instance. + + Byte values to append. + A reference to the calling instance. + + + + Appends the specified number of bytes from the specified buffer + starting at the specified offset to this instance. + + The buffer to append bytes from. + The offset into the buffert at which to start + reading bytes from. + The number of bytes to read from the buffer. + A reference to the calling instance. + + + + Appends the specified 32-bit integer value to this instance. + + A 32-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit short value to this instance. + + A 16-bit short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit unsigend short value to this instance. + + A 16-bit unsigend short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 32-bit unsigned integer value to this instance. + + A 32-bit unsigned integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 64-bit integer value to this instance. + + A 64-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified string using the specified encoding to this + instance. + + The string vale to append. + The encoding to use for decoding the string value + into a sequence of bytes. If this is null, ASCII encoding is used as a + default. + A reference to the calling instance. + + + + Returns the ByteBuilder's content as an array of bytes. + + An array of bytes. + + + + Removes all bytes from the current ByteBuilder instance. + + + + + The length of the underlying data buffer. + + + + + A filter stream sitting between Negotiate- and NetworkStream to + enable managed NTLM/GSSAPI authentication. + + + We use a filter for hooking into the NegotiateStream protocol rather + than p/invoking SSPI directly as that would require unmanaged + code privileges (internally NegotiateStream uses an SSPI wrapper). + + NegotiateStream - FilterStream - NetworkStream. + + + + + A buffer for accumulating handshake data until an entire handshake + has been read. + + + + + A buffer for accumulating the payload data following the handshake + data. + + + + + The latest handshake header sent by the client. + + + + + The buffer from which client reads will be satisfied. + + + + + The number of bytes the client has already consumed/read + from the receivedData buffer. + + + + + The current state of the filter stream. + + + + + Determines whether this instance should close the inner stream + when disposed. + + + + + An error code as specified by the NegotiateStream protocol which is + handed to the NegotiateStream instance in case authentication + unexpectedly fails. + + + + + Gets the stream used by this FilterStream for sending and + receiving data. + + + + + Initializes a new instance of the FilterStream class using the + specified Stream. + + A Stream object used by the FilterStream for sending + and receiving data. + Set to true to indicate that closing this + FilterStream has no effect on innerstream, or set to false to + indicate that closing this FilterStream also closes innerStream. + + + + Reads data from this stream and stores it in the specified array. + + A byte array that receives the bytes read from + the stream. + The zero-based index into the buffer at which to + begin storing the data read from this stream. + The the maximum number of bytes to read from the + stream. + The the number of bytes read from the underlying stream. When + there is no more data to be read, returns 0. + The read operation failed. + + + + Reads the server response from the underlying inner stream. + + + + + Write the specified number of bytes to the underlying stream using the + specified buffer and offset. + + A byte array that supplies the bytes written to + the stream. + The zero-based index in the buffer at which to + begin reading bytes to be written to the stream. + The number of bytes to read from buffer. + The write operation failed. + + + + Reads the client's handshake from the specified buffer. + + A byte array from which the handshake data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if the handshake has been read completely, otherwise + false. + + + + Reads the payload from the specified buffer. + + A byte array from which the payload data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if all of the payload data has been read, otherwise + false. + + + + Sends the accumulated payload data to the server. + + true if the client is done sending data, otherwise + false. + + + + Reads a line of ASCII-encoded text terminated by a CRLF from the + specified stream. + + The stream to read the line of text from. + Set this to true, to resolve automatically + resolve possible literals. + A line of ASII-encoded text read from the specified + stream. + "Literals" are a special feature of IMAP, employed by some + server implementations. Please refer to RFC 3501 Section 4.3 for + details. + + + + Reads the specified number of bytes from the specified stream and + returns them as an ASCII-encoded string. + + The stream to read from. + The number of bytes to read. + The read bytes encoded as an ASCII string. + + + + Causes any buffered data to be written to the underlying device. + + + + + Throws NotSupportedException. + + This value is ignored. + This value is ignored. + Always throws a NotSupportedException. + + + + Sets the length of the underlying stream. + + A value that specifies the length of the + stream. + + + + Releases all resources used by the stream. + + True to release both managed and unmanaged + resources, false to release only unmanaged resources. + + + + Gets a boolean value that indicates whether the underlying stream is + readable. + + + + + Gets a boolean value that indicates whether the underlying stream is + seekable. + + + + + Gets a boolean value that indicates whether the underlying stream + supports time-outs. + + + + + Gets a boolean value that indicates whether the underlying stream is + writable. + + + + + Gets the length of the underlying stream. + + + + + Gets or sets the current position in the underlying stream. + + Setting this property + is not supported. + + + + The different states the FilterStream can be in. + + + + + The stream is reading the client's handshake message. + + + + + The stream is reading the client's payload data. + + + + + The stream is waiting for the server's response. + + + + + The stream has buffered the server's response and is satisfying + client reads from its buffer. + + + + + Represents a NegotiateStream handshake message. + + + + + This is the only permissible value according to specification. + + + + + This is the only permissible value according to specification. + + + + + Creates a new instance of the Handshake class using the specified type + and payload size. + + The type of handshake. + The size, in bytes, of the payload following + the handshake header. + + + + Private default constructor for deserializing. + + + + + Deserializes a handshake instance from the specified byte array. + + An array of bytes containing handshake data. + An initialized instance of the Handshake class deserialized + from the specified byte array. + Thrown if the specified byte + array does not contain valid handshake data. + + + + Serializes an instance of the Handshake class to a sequence of bytes. + + A sequence of bytes representing this Handshake instance. + + + + The type of the handshake message. + + + + + Specifies the major version of the NegotiateStream protocol + being used. + + + + + Specifies the minor version of the NegotiateStream protocol + being used. + + + + + Defines the size, in bytes, of the AuthPayload field, which immediately + follows the handshake. + + + + + Describes the different types of handshake messages. + + + + + The handshake has completed successfully. + + + + + An error occurred during the handshake. The AuthPayload field contains + an HRESULT. + + + + + The message is part of the handshake phase and is not the final message + from the host. The final Handshake message from a host is always + transferred in a HandshakeDone message. + + + + + Implements the Sasl SCRAM-SHA-1 authentication method as described in + RFC 5802. + + + + + The abstract base class from which all classes implementing a Sasl + authentication mechanism must derive. + + + + + Computes the client response to a challenge sent by the server. + + + The client response to the specified challenge. + + + + + + + + Retrieves the base64-encoded client response for the specified + base64-encoded challenge sent by the server. + + A base64-encoded string representing a challenge + sent by the server. + A base64-encoded string representing the client response to the + server challenge. + The IMAP, POP3 and SMTP authentication commands expect challenges + and responses to be base64-encoded. This method automatically decodes the + server challenge before passing it to the Sasl implementation and + encodes the client response to a base64-string before returning it to the + caller. + Thrown if the client response could + not be retrieved. Refer to the inner exception for error details. + + + + Retrieves the client response for the specified server challenge. + + A byte array containing the challenge sent by + the server. + An array of bytes representing the client response to the + server challenge. + + + + IANA name of the authentication mechanism. + + + + + True if the authentication exchange between client and server + has been completed. + + + + + A map of mechanism-specific properties which are needed by the + authentication mechanism to compute it's challenge-responses. + + + + + The client nonce value used during authentication. + + + + + Scram-Sha-1 involves several steps. + + + + + The salted password. This is needed for client authentication and later + on again for verifying the server signature. + + + + + The auth message is part of the authentication exchange and is needed for + authentication as well as for verifying the server signature. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslScramSha1 + class using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SCRAM-SHA-1 challenge. + + The challenge sent by the server + The response to the SCRAM-SHA-1 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the "client-final-message" which completes the authentication + process. + + The "server-first-message" challenge received + from the server in response to the initial client response. + An array of bytes containing the client's challenge + response. + + + + Verifies the nonce value sent by the server. + + The nonce value sent by the server as part of the + server-first-message. + True if the nonce value is valid, otherwise false. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Parses the "server-first-message" received from the server. + + The challenge received from the server. + A collection of key/value pairs contained extracted from + the server message. + Thrown if the message parameter + is null. + + + + Computes the "Hi()"-formula which is part of the client's response + to the server challenge. + + The supplied password to use. + The salt received from the server. + The iteration count. + An array of bytes containing the result of the computation of the + "Hi()"-formula. + + Hi is, essentially, PBKDF2 with HMAC as the pseudorandom function (PRF) and with + dkLen == output length of HMAC() == output length of H(). (Refer to RFC 5802, p.6) + + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input data. + + The key to use for initializing the HMAC + provider. + The input to compute the hashcode for. + The hashcode of the specified data input. + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input string. + + The key to use for initializing the HMAC + provider. + The input string to compute the hashcode for. + The hashcode of the specified string. + + + + Applies the cryptographic hash function SHA-1 to the specified data + array. + + The data array to apply the hash function to. + The hash value for the specified byte array. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + Prepares the specified string as is described in RFC 5802. + + A string value. + A "Saslprepped" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Scram-Sha-1 authentication mechanism as described + in RFC 5802. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Represents a MIME body part of a mail message that has multiple + parts. + + + + + Initializes a new instance of the Bodypart class with default + values. + + The part number as is expected by the + IMAP FETCH command. + + + + Returns a detailed description listing all properties of this + Bodypart instance. + + A string describing this instance of the Bodypart class + + + + The body part number which acts as part specifier for + the FETCH BODY command. + + + + + The MIME content-type of this body part. The content-type is + used to declare the general type of data. + + + + + The MIME content-subtype of this body part. The subtype + specifies a specific format for the type of data. + + + + + Parameter values present in the MIME content-type header + of this body part (for instance, 'charset'). + + + + + The MIME content-id of this body part, if any. This value + may be used for uniquely identifying MIME entities in + several contexts. + + + + + The MIME content-description of this body part. This value + may contain some descriptive information on the body part. + + + + + The MIME content-transfer-encoding mechanism used for + encoding this body part's data. + + + + + The size of this body part in bytes. Note that this size + is the size in its transfer encoding and not the resulting + size after any decoding. + + + + + The size of the body in text lines. This field is only + present in body parts with a content-type of text. + + + + + The computed MD5-Hash of the body part. This field is not + mandatory and may be empty. + + + + + The MIME content-disposition for this body part. This field + is not mandatory and may be empty. + + + + + A string giving the body language. This field is not mandatory + and may be empty. + + + + + A string list giving the body content URI. This field is not + mandatory and may be empty. + + + + + Provides a means for parsing the textual description of the body structure of a mail + message as is returned by an IMAP server for a "FETCH BODYSTRUCTURE" command. + + + They couldn't have made the BODYSTRUCTURE any more complicated and unnecessarily + hard to parse. I wonder what they were thinking when they came up with this. + + + + + Parses the body structure of a mail message as is returned by the IMAP server + in response to a FETCH BODYSTRUCTURE command. + + The body structure server response + An array of initialized Bodypart objects representing the body + structure of the mail message + Thrown if the passed string does not + contain a valid body structure and parsing failed. + + + + A Reader object initialized with the string containing the bodystructure + response. + + + + + Initializes a new instance of the Bodystructure class. + + + + + + Parses a bodypart entry from the body structure and advances the + read pointer. + + The designated part specifier by which the body + part is refered to by the server. + Set to true if the bodypart is enclosed + in parenthesis. + + + + + Parses the mandatory extra fields that are present if the bodypart is + of type message/rfc822 (see RFC 3501, p. 75). + + The bodypart instance the parsed fields will be + added to. + + + + Parses the optional fields of a bodypart entry from the body structure + and advances the read pointer. + + The bodypart instance the parsed fields will be + added to. + Set to true if the bodypart entry is enclosed + in parenthesis. + + + + Parses a list of bodypart entries as is outlined in the description of the + BODYPART response in RFC 3501. + + The nesting prefix that will be prefixed to the + bodyparts partNumber. + An array of initialized Bodypart objects parsed from the + list. + + + + Advances the read pointer to skip over a multipart entry. + + + + + Advances the read pointer to skip over an arbitrary + expression enclosed in parentheses. + + + + + Represents the content disposition as is presented in the BODYSTRUCTURE + response by the IMAP server. + + + + + Initializes a new instance of the ContentDisposition class with + default values. + + + + + Maps MIME content disposition string values to their corresponding + counter-parts of the ContentDispositionType enumeration. + + + + + The content disposition specifies the presentation style. + + + + + Additional attribute fields for specifying the name of a file, the creation + date and modification date, which can be used by the reader's mail user agent + to store the attachment. + + + + + Contains the name of the transmitted file if the content-disposition is of type + "Attachment" and if the name value was provided as part of the header information. + This field may be empty. + + + + + Possible values for the content disposition type which determines the presentation + style + + + + + The content disposition could not be determined. + + + + + An inline content disposition means that the content should be automatically + displayed when the message is displayed. + + + + + An attachment content disposition means that the content should not be displayed + automatically and requires some form of action from the user to open it. + + + + + Possible values for the "Encoding" property of the Bodypart class. The content + transfer encoding indicates whether or not a binary-to-text encoding + scheme has been used on top of the original encoding as specified within the + Content-Type header. + + + + + The content tranfer encoding could not be determined or is unknown. + + + + + Up to 998 bytes per line of the code range 1 - 127 with CR and LF only + allowed to appear as part of a CRLF line ending. + + + + + Up to 998 bytes per line with CR and LF only allowed to appear as part + of a CRLF line ending. + + + + + Any sequence of bytes. + + + + + Byte sequence is encoded using the quoted-printable encoding. + + + + + Byte sequence is encoded using Base64 encoding. + + + + + Possible values for the "Type" property of the Bodypart class. + For a detailed description of MIME Media Types refer to + RFC 2046. + + + + + The "text" media type is intended for sending material which + is principally textual in form. + + + + + A media type of "image" indicates that the body contains an image. + The subtype names the specific image format. + + + + + A media type of "audio" indicates that the body contains audio + data. + + + + + A media type of "video" indicates that the body contains a + time-varying-picture image, possibly with color and coordinated sound. + + + + + The "application" media type is to be used for discrete data which do + not fit in any of the other categories, and particularly for data to + be processed by some type of application program. + + + + + The "message" content type allows messages to contain other messages + or pointers to other messages. + + + + + The media type value is unknown or could not be determined. + + + + + A helper class for parsing the BODYSTRUCTURE response of an + IMAP FETCH command more conveniently. + + + + + Initializes a new instance of the Reader class that reads from the + specified string. + + The string to which the Reader instance should be + initialized. + + + + Reads the next character from the input string and advances the + character position by one character. + + The next character from the underlying string. + Thrown when reading is + attempted past the end of the underlying string. + + + + Returns the next available character but does not consume it. + + Set to true to skip any preceding + whitespace characters. + An integer representing the next character to be read, + or -1 if no more characters are available. + + + + Advances the character position until the specified character + is encountered. + + The character to skip to. + Thrown when reading is + attempted past the end of the underlying string. + + + + Advances the character position over any whitespace characters + and subsequently ensures the next read will not return a + whitespace character. + + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads characters until the specified character is encountered. + + The character to read up to. + The read characters as a string value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a word from the underlying string. A word in this context + is a literal enclosed in double-quotes. + + The read word. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads an integer from the underlying string. + + The read integer value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a list from the underlying string. A list in this context + is a list of attribute/value literals (enclosed in double-quotes) + enclosed in parenthesis. + + The read list as a dictionary with the attribute names + as keys and attribute values as values. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a disposition from the underlying string. A disposition in + this context is a list of attribute/value literals (enclosed in + double-quotes) preceded by a word enclosed in parenthesis. + + An initialized ContentDisposition instance representing + the parsed disposition. + Thrown when reading is + attempted past the end of the underlying string. + + + + The exception that is thrown when reading is attempted past the end + of a string. + + + + + Initializes a new instance of the EndOfStringException class + + + + + Initializes a new instance of the EndOfStringException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the EndOfStringException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the EndOfStringException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Defines the different means by which mail messages may be fetched from the server. + + + + + Fetches the entire mail message with all of its content. + + + + + Only the mail message headers will be retrieved, while the actual content will not be + downloaded. If this option is specified, only the header fields of the returned MailMessage + object will be initialized. + + + + + Retrieves the mail message, but will only download content that has a content-type of text. + This will retrieve text as well as HTML representation, while skipping inline content and + attachments. + + + + + Retrieves the mail message, but skips any content that is an attachment. + + + + + Provides data for IMAP idle error events. + + + + + Initializes a new instance of the IdleErrorEventArgs class. + + The exception that causes the event. + The instance of the ImapClient class that raised the event. + The exception parameter or the client parameter + is null. + + + + The exception that caused the error event. + + + + + The instance of the ImapClient class that raised the event. + + + + + Provides data for IMAP idle notification events. + + + + + Initializes a new instance of the IdleMessageEventArgs class and sets the + MessageCount attribute to the value of the + parameter. + + The number of messages in the selected mailbox. + The unique identifier (UID) of the newest message in the + mailbox. + The instance of the ImapClient class that raised the event. + + + + The total number of messages in the selected mailbox. + + + + + The unique identifier (UID) of the newest message in the mailbox. + + The UID can be passed to the GetMessage method in order to retrieve the mail + message from the server. + + + + The instance of the ImapClient class that raised the event. + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + This constructor is solely used for unit testing. + + A stream to initialize the ImapClient instance with. + + + + Initializes a new instance of the ImapClient class and connects to the specified port + on the specified host, optionally using the Secure Socket Layer (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets + Layer (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example shows how to establish a connection with an IMAP server + and print out the IMAP options, which the server supports. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + // Print out the server's capabilities. + foreach(string s in Client.Capabilities()) + Console.WriteLine(s); + + Client.Dispose(); + + + + + + Initializes a new instance of the ImapClient class and connects to the specified port on + the specified host, optionally using the Secure Socket Layer (SSL) security protocol and + attempts to authenticate with the server using the specified authentication method and + credentials. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer + (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + The provided credentials were rejected by the + server. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Connects to the specified port on the specified host, optionally using the Secure Socket Layer + (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer (SSL) + certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received + from the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + + + Determines whether the specified response is a valid IMAP OK response. + + A response string received from the server. + A tag if the response is associated with a command. + true if the response is a valid IMAP OK response; Otherwise false. + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Performs authentication using the most secure authentication mechanism supported by the + server. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + The order of preference of authentication types employed by this method is + Ntlm, Scram-Sha-1, Digest-Md5, followed by Cram-Md5 and finally plaintext Login as + a last resort. + + + + Performs an actual IMAP "LOGIN" command using the specified username and plain-text + password. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + + + + Performs NTLM and Kerberos authentication via the Security Support Provider Interface (SSPI). + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + True to authenticate using NTLM, otherwise GSSAPI (Kerberos) is + used. + The response sent by the server. + The specified authentication method is not + supported by the server. + + + + Performs authentication using a SASL authentication mechanism via IMAP's authenticate + command. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The name of the SASL authentication mechanism to use. + The response sent by the server. + The authentication mechanism with the specified name could + not be found. + The specified authentication mechanism is not + supported by the server. + An unexpected response has been received from + the server. + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Generates a unique identifier to prefix a command with, as is required by the IMAP protocol. + + A unique identifier string. + + + + Sends a command string to the server. This method blocks until the command has been + transmitted. + + The command to send to the server. The string is suffixed by CRLF + prior to sending. + + + + Sends a command string to the server and subsequently waits for a response, which is then + returned to the caller. This method blocks until the server response has been received. + + The command to send to the server. This is suffixed by CRLF prior + to sending. + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + The response received by the server. + + + + Waits for a response from the server. This method blocks until a response has been received. + + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + A response string from the server + The underlying socket is closed or there was a failure + reading from the network. + + + + Reads the specified amount of bytes from the server. This method blocks until the specified + amount of bytes has been read from the network stream. + + The number of bytes to read. + The read bytes as an ASCII-encoded string. + The underlying socket is closed or there was a failure + reading from the network. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Selects the specified mailbox so that the messages of the mailbox can be accessed. + + The mailbox to select. If this parameter is null, the + default mailbox is selected. + The specified mailbox could not be selected. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + IMAP Idle must be paused or stopped before calling this method. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Retrieves the set of special-use flags associated with the specified mailbox. + + The mailbox to receive the special-use flags for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + An enumerable collection of special-use flags set on the specified + mailbox. + This feature is an optional extension to the IMAP protocol and as such some servers + may not report any flags at all. + + + + Retrieves status information (total number of messages, number of unread messages, etc.) for + the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxStatus object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the mail header for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the mail header for. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw mail header of the mail message with the specified + UID. + The mail header could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the body structure for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the body structure for. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw body structure of the mail message with the specified + UID. + The body structure could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A body structure is a textual description of the layout of a mail message. It is + described in some detail in RFC 3501 under 7.4.2 FETCH response. + + + + Retrieves the MIME body-part with the specified part number of the multipart message with + the specified unique identifier (UID). + + The UID of the mail message to retrieve a MIME body part for. + The part number of the body part to fetch. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the specified body part of the mail message with the specified + UID. + The body part could not be fetched. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the raw MIME/RFC822 mail message data for the mail message with the specified UID. + + The UID of the mail message to retrieve as a MIME/RFC822 string. + Set this to true to set the \Seen flag for the fetched message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw MIME/RFC822 data of the mail message with the + specified UID. + The mail message data could not be fetched. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the highest UID in the specified mailbox. + + The mailbox to find the highest UID for. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + The highest unique identifier value (UID) in the mailbox. + The UID could not be determined. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The highest UID usually corresponds to the newest message in a mailbox. + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Starts receiving of IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when already receiving idle notifications has no + effect. + + + + + + + Stops receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when not receiving idle notifications has no effect. + + + + + + Temporarily pauses receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + To resume receiving IDLE notifications ResumeIdling must be called. + + + + + + + Resumes receiving IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + The main idle loop. Waits for incoming IMAP IDLE notifications and dispatches + them as events. This runs in its own thread whenever IMAP IDLE + notifications are being received. + + + + + Blocks on a queue and wakes up whenever a new notification is put into the queue. The + notification is then examined and dispatched as an event. + + + + + Issues a NOOP command to the IMAP server. Called in the context of a System.Timer event + when IDLE notifications are being received. + + This is needed by the IMAP IDLE mechanism to give the server an indication that the + connection is still active. + + + + + Retrieves IMAP QUOTA information for the specified mailbox. + + The mailbox to retrieve QUOTA information for. If this parameter is + null, the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + An enumerable collection of MailboxQuota objects describing usage and limits of the + quota roots for the mailbox. + The quota operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The IMAP4 QUOTA extension is not supported by + the server. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Releases all resources used by the current instance of the ImapClient class. + + + + + Releases all resources used by the current instance of the ImapClient class, optionally + disposing of managed resource. + + true to dispose of managed resources, otherwise false. + + + + Asserts the instance has not been disposed of and is in a valid state. + + The ImapClient object has been + disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when an I/O exception occurs in the idle-thread. + + + An I/O exception can occur if the underlying network connection has been reset or the + server unexpectedly closed the connection. + + + + + A delegate which is invoked during a call to GetMessage or GetMessages for every MIME part in + a multipart mail message. The delegate can examine the MIME body part and decide to either + include it in the returned mail message or dismiss it. + + A MIME body part of a mail message which consists of multiple parts. + true to include the body part in the returned MailMessage object, or false to skip + it. + + + + The exception that is thrown when an unexpected response is received from the server. + + + + + Initializes a new instance of the BadServerResponseException class + + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the BadServerResponseException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when the supplied credentials were rejected by the server. + + + + + Initializes a new instance of the InvalidCredentialsException class + + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the InvalidCredentialsException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when a client has not authenticated with the server and + attempts to call a method which can only be called when authenticated. + + + + + Initializes a new instance of the NotAuthenticatedException class + + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the NotAuthenticatedException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Provides access to status information such as the total number of messages and quota + information for a mailbox. + + + The terms "mailbox" and "folder" can be used interchangeably and refer to the IMAP concept of + multiple server-side directories into which messages can be stored (such as "Inbox", + "Sent Items", "Trash", etc.). + + + + + Initializes a new instance of the MailboxInfo class with the specified values. + + The IMAP name of the mailbox. + The IMAP flags set on this mailbox. + The number of messages in the mailbox. + The number of unread messages in the mailbox. + The next unique identifier (UID) of the mailbox. + The amount of used storage of the mailbox, in bytes. + The amount of free storage of the mailbox, in bytes. + + + + Returns the name of the mailbox. + + The name of the mailbox + + + + The name of the mailbox. + + + + + An enumerable collection of flags set on the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + The next unique identifier value of the mailbox. + + + + + The amount of used storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of used storage, this property will be 0. + + + + + The amount of free storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of free storage, this property will be 0. + + + + + Defines possible attributes for mailboxes. + + + + An IMAP mailbox can have a number of flags (read: attributes) set on it, indicating its + designated purpose (such as "Spam" or "Drafts"). + + + This is especially convenient when dealing with international mailbox names, because, by + examining the associated flags, the mailbox purpose can be determined, even if the mailbox + name provides no useful indication. + + + Unfortunately, as with many things IMAP, reporting the flags described here is an optional + extension (XLIST) to the IMAP protocol and as such may or may not be supported by an IMAP + server. + + + + + + The mailbox presents a view on all messages in the user's message store. + + + + + The mailbox is used to archive messages. The meaning of an "archival" mailbox is server + dependent. + + + + + The mailbox is used to hold draft messages, typically these are messages that are being + composed but have not yet been sent. + + + + + The mailbox is used to hold copies of messages that have been sent. + + + + + The mailbox is where messages deemed to be junk mail (spam) are held. + + + + + The mailbox is used to hold messages that have been deleted or marked for deletion. + + + + + Represents an IMAP QUOTA entry for a resource which typically consists of a resource name, + the current usage of the resource, and the resource limit. + + + + + Initializes a new instance of the MailboxQuota class with the specified values. + + The name of the resource this MailboxQuota instance describes. + The current usage of the resource in units of 1024 bytes. + The limit of the resource in units of 1024 bytes. + + + + The name of the resource this MailboxQuota instance describes. + + + + + The current usage of the resource this MailboxQuota instance describes, in bytes. + + + + + The limit of the resource this MailboxQuota instance describes, in bytes. + + + + + Represents the status information of a mailbox which can be constructed from the server + response to a STATUS command. + + + + + Initializes a new MailboxStatus instance with the specified number of total and unread + messages. + + The total number of messages in the mailbox. + The number of unread (unseen) messages in the mailbox. + The next unique identifier value of the mailbox + + + + The next unique identifier value of the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + Adds extension methods to the MailMessage class of the .NET Framework. + + + Most of the methods are only used internally and are not visible outside of the + S22.Imap assembly. + + + + + Returns the date and time the mail message was composed. + + The MailMessage instance to return the date and time for. + The date and time the mail message was composed, or null if the mail message + does not contain any date information. + + + + Constructs a textual representation of a mail message from the specified MailMessage + instance compliant with the RFC822 and MIME standards. + + The MailMessage instance to construct the textual representation + from. + An RFC822/MIME-compliant string representing the specified mail message. + The From property is null or has not been + properly initialized. + + + + Builds a RFC822/MIME-compliant mail header from the specified MailMessage instance and + returns it as a NameValueCollection. + + The MailMessage instance to build the header from. + A NameValueCollection representing the RFC822/MIME mail header fields. + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + priority values as defined in RFC2156. + + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + importance values as defined in RFC2156. + + + + + Takes a unicode string and encodes it using Q-encoding. + + The string to encode. + The input string encoded as Q-encoded string containing only ASCII + characters. + + + + Takes a unicode string and encodes it using Base64-encoding. + + The string to encode. + The input string encoded as Base64-encoded string containing only ASCII + characters. + + + + Creates an address string from the specified MailAddress instance in compliance with the + address specification as outlined in RFC2822 under section 3.4 + + The MailAddress instance to create the address string from. + An address string as is used in RFC822 mail headers. + + + + Generates a unique sequence of characters for indicating a boundary between parts in a + multipart message. + + A unique content boundary string. + + + + Builds an RFC822/MIME-compliant mail body from the specified MailMessage instance and + returns it as a formatted string. + + The MailMessage instance to build the mail body from. + The RFC822/MIME mail header to use for constructing the mail + body. + An RFC822/MIME-compliant mail body as a string. + According to RFC2822 each line of a mail message should at max be 78 characters in + length excluding carriage return and newline characters. This method accounts for that and + ensures line breaks are inserted to meet this requirement. + + + + Adds a body part to the specified Stringbuilder object composed from the Body and + BodyEncoding properties of the MailMessage class. + + The Stringbuilder to append the body part to. + The MailMessage instance to build the body part from. + The RFC822/MIME mail header to use for constructing the mail body. + Set to true to append body headers before adding the actual body + part content. + + + + Creates a MIME body part from an entry of the AlternateView or Attachments collection of a + MailMessage instance and appends it to the specified Stringbuilder instance. + + The Stringbuilder instance to append the body part to. + An entry from either the AlternateView or the Attachments collection of + a MailMessage instance. + + + + Creates a nested multipart/alternative part which contains all entries from the + AlternateViews collection of the specified MailMessage instance as well as the body part + for the Body and BodyEncoding properties of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose AlternateView collection will be added to the + nested multipart/alternative part. + The RFC822/MIME mail header to use for constructing the mail body. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + Creates a nested multipart/mixed part which contains all entries from the Attachments + collection of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose Attachments collection will be added to the + nested multipart/mixed part. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + A helper class for reading mail message data and building a MailMessage instance out of it. + + + + + Creates a new empty instance of the MailMessage class from a string containing a raw mail + message header. + + The mail header to create the MailMessage instance from. + A MailMessage instance with initialized Header fields but without any + content. + + + + Creates a new instance of the MailMessage class from a string containing raw RFC822/MIME + mail message data. + + The mail message data to create the MailMessage instance from. + An initialized instance of the MailMessage class. + This is used when fetching entire messages instead of the partial-fetch mechanism + because it saves redundant round-trips to the server. + + + + Parses the mail header of a mail message and returns it as a NameValueCollection. + + The mail header to parse. + A NameValueCollection containing the header fields as keys with their respective + values as values. + + + + Strips RFC822/MIME comments from the specified string. + + The string to strip comments from. + A new string stripped of any comments. + + + + Parses a MIME header field which can contain multiple 'parameter = value' + pairs (such as Content-Type: text/html; charset=iso-8859-1). + + The header field to parse. + A NameValueCollection containing the parameter names as keys with the respective + parameter values as values. + The value of the actual field disregarding the 'parameter = value' pairs is stored + in the collection under the key "value" (in the above example of Content-Type, this would + be "text/html"). + + + + Parses a mail header address-list field such as To, Cc and Bcc which can contain multiple + email addresses. + + The address-list field to parse + An array of MailAddress objects representing the parsed mail addresses. + + + + Splits the specified address-list into individual parts consisting of a mail address and + optionally a display-name. + + The address-list to split into parts. + An enumerable collection of parts. + + + + Parses a mail message identifier from a string. + + The field to parse the message id from + The field argument does not contain a valid message + identifier. + The parsed message id. + A message identifier (msg-id) is a globally unique identifier for a + message. + + + + Parses the priority of a mail message which can be specified as part of the header + information. + + The mail header priority value. The value can be null in which case + a "normal priority" is returned. + A value from the MailPriority enumeration corresponding to the specified mail + priority. If the passed priority value is null or invalid, a normal priority is assumed and + MailPriority.Normal is returned. + + + + Sets the address fields (From, To, CC, etc.) of a MailMessage object using the specified + mail message header information. + + The MailMessage instance to operate on. + A collection of mail and MIME headers. + + + + Adds a body part to an existing MailMessage instance. + + Extension method for the MailMessage class. + The body part to add to the MailMessage instance. + The content of the body part. + + + + Creates an instance of the Attachment class used by the MailMessage class to store mail + message attachments. + + The MIME body part to create the attachment from. + An array of bytes composing the content of the attachment. + An initialized instance of the Attachment class. + + + + Creates an instance of the AlternateView class used by the MailMessage class to store + alternate views of the mail message's content. + + The MIME body part to create the alternate view from. + An array of bytes composing the content of the alternate view. + An initialized instance of the AlternateView class. + + + + Parses the body part of a MIME/RFC822 mail message. + + The body of the mail message. + The header of the mail message whose body will be parsed. + An array of initialized MIMEPart instances representing the body parts of the mail + message. + + + + Parses the body of a multipart MIME mail message. + + An instance of the StringReader class initialized with a string + containing the body of the mail message. + The boundary value as is present as part of the Content-Type header + field in multipart mail messages. + An array of initialized MIMEPart instances representing the various parts of the + MIME mail message. + + + + Glue method to create a bodypart from a MIMEPart instance. + + The MIMEPart instance to create the bodypart instance from. + An initialized instance of the Bodypart class. + + + + Defines possible attributes for mail messages on an IMAP server. + + + + + Indicates that the message has been read. + + + + + Indicates that the message has been answered. + + + + + Indicates that the message is "flagged" for urgent/special attention. + + + + + Indicates that the message has been marked as "deleted" and will be removed upon the next + call to the Expunge method. + + + + + Indicates that the message has not completed composition and is marked as a draft. + + + + + Indicates that the message has recently arrived in the mailbox. + + + + + Represents a part of a MIME multi-part message. Each part consists of its own content header + and a content body. + + + + + A collection containing the content header information as key-value pairs. + + + + + A string containing the content body of the part. + + + + + A thread-safe Queue. + + + + + Adds an object to the end of the queue. + + The object to add to the queue. + + + + Removes and returns the object at the beginning of the queue. If the queue is empty, the + method blocks the calling thread until an object is put into the queue by another thread. + + The object that was removed from the beginning of the queue. + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of NTLM messages. + + + + + Reads an ASCII-string of the specified length from this instance. + + Extension method for the BinaryReader class. + The number of bytes to read from the underlying + stream. + A string decoded from the bytes read from the underlying + stream using the ASCII character set. + + + + The NTLM flags which are contained in a bitfield within the header of + an NTLM message. + + + + + Indicates that Unicode strings are supported for use in security + buffer data. + + + + + Indicates that OEM strings are supported for use in security + buffer data. + + + + + Requests that the server's authentication realm be included in + the Type 2 message. + + + + + Specifies that authenticated communication between the client and + server should carry a digital signature (message integrity). + + + + + Specifies that authenticated communication between the client and + server should be encrypted (message confidentiality). + + + + + Indicates that datagram authentication is being used. + + + + + Indicates that the Lan Manager Session Key should be used for signing + and sealing authenticated communications. + + + + + This flag's usage has not been identified. + + + + + Indicates that NTLM authentication is being used. + + + + + Sent by the client in the Type 3 message to indicate that an anonymous + context has been established. This also affects the response fields. + + + + + Sent by the client in the Type 1 message to indicate that the name of + the domain in which the client workstation has membership is included + in the message. This is used by the server to determine whether the + client is eligible for local authentication. + + + + + Sent by the client in the Type 1 message to indicate that the client + workstation's name is included in the message. This is used by the + server to determine whether the client is eligible for local + authentication. + + + + + Sent by the server to indicate that the server and client are on the + same machine. Implies that the client may use the established local + credentials for authentication instead of calculating a response to + the challenge. + + + + + Indicates that authenticated communication between the client and + server should be signed with a "dummy" signature. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a domain. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a server. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a share. Presumably, this is for share-level + authentication. Usage is unclear. + + + + + Indicates that the NTLM2 signing and sealing scheme should be used for + protecting authenticated communications. Note that this refers to a + particular session security scheme, and is not related to the use of + NTLMv2 authentication. This flag can, however, have an effect on the + response calculations. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + Sent by the server in the Type 2 message to indicate that it is including + a Target Information block in the message. The Target Information block + is used in the calculation of the NTLMv2 response. + + + + + Indicates that 128-bit encryption is supported. + + + + + Indicates that the client will provide an encrypted master key in the + "Session Key" field of the Type 3 message. + + + + + Indicates that 56-bit encryption is supported. + + + + + Represents the data contained in the target information block of an + NTLM type 2 message. + + + + + The server name. + + + + + The domain name. + + + + + The fully-qualified DNS host name. + + + + + The fully-qualified DNS domain name. + + + + + Describes the different versions of the Type 2 message that have + been observed. + + + + + The version is unknown. + + + + + This form is seen in older Win9x-based systems. + + + + + This form is seen in most out-of-box shipping versions of Windows. + + + + + This form was introduced in a relatively recent Service Pack, and + is seen on currently-patched versions of Windows 2000, Windows XP, + and Windows 2003. + + + + + Indicates the type of data in Type 2 target information blocks. + + + + + Signals the end of the target information block. + + + + + The data in the information block contains the server name. + + + + + The data in the information block contains the domain name. + + + + + The data in the information block contains the DNS hostname. + + + + + The data in the information block contans the DNS domain name. + + + + + Computes the MD4 hash value for the input data. + Courtesy of Keith Wood. + + + + + Describes the different types of NTLM messages. + + + + + An NTLM type 1 message is the initial client response to the + server. + + + + + An NTLM type 2 message is the challenge sent by the server in + response to an NTLM type 1 message. + + + + + An NTLM type 3 message is the challenge response sent by the client + in response to an NTLM type 2 message. + + + + + Indicates the version and build number of the operating system. + + + + + Default constructor. + + + + + Creates a new instance of the OSVersion class using the specified + values. + + The major version of the operating + system. + The minor version of the operating + system. + The build number of the operating systen. + + + + Serializes this instance of the OSVersion class to an array of + bytes. + + An array of bytes representing this instance of the OSVersion + class. + + + + The major version number of the operating system. + + + + + The minor version number of the operating system. + + + + + The build number of the operating system. + + + + + Contains methods for calculating the various Type 3 challenge + responses. + + + + + Computes the LM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account name to authenticate with. + The user account password. + The target information block from + the NTLM type 2 message. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Computes the LMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account to authenticate with. + The user account password. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Creates the LM Hash of the specified password. + + The password to create the LM Hash of. + The LM Hash of the given password, used in the calculation + of the LM Response. + Thrown if the password argument + is null. + + + + Creates a DES encryption key from the specified key material. + + The key material to create the DES encryption + key from. + An offset into the byte array at which to + extract the key material from. + A 56-bit DES encryption key as an array of bytes. + + + + Applies odd parity to the specified byte array. + + The byte array to apply odd parity to. + A reference to the byte array. + + + + Creates the LM Response from the specified hash and Type 2 challenge. + + An LM or NTLM hash. + The server challenge from the Type 2 + message. + The challenge response as an array of bytes. + Thrown if the hash or the + challenge parameter is null. + + + + Creates the NTLM Hash of the specified password. + + The password to create the NTLM hash of. + The NTLM hash for the specified password. + Thrown if the password + parameter is null. + + + + Creates the NTLMv2 Hash of the specified target, username + and password values. + + The name of the authentication target as is + specified in the target name field of the NTLM type 3 message. + The user account name. + The password for the user account. + The NTLMv2 hash for the specified input values. + Thrown if the username or + the password parameter is null. + + + + Returns the current time as the number of tenths of a microsecond + since January 1, 1601. + + The current time as the number of tenths of a microsecond + since January 1, 1601. + + + + Creates the "blob" data block which is part of the NTLMv2 challenge + response. + + The target information block from + the NTLM type 2 message. + A random 8-byte client nonce. + The blob, used in the calculation of the NTLMv2 Response. + + + + Creates the LMv2 Response from the given NTLMv2 hash, client data, and + Type 2 challenge. + + The NTLMv2 Hash. + The client data (blob or client nonce). + The server challenge from the Type 2 message. + The response which is either for NTLMv2 or LMv2, depending + on the client data. + + + + Represents an NTLM security buffer, which is a structure used to point + to a buffer of binary data within an NTLM message. + + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The length of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length value exceeds + the maximum value allowed. The security buffer structure stores the + length value as a 2-byte short value. + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The data of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length of the data + buffer exceeds the maximum value allowed. The security buffer structure + stores the buffer length value as a 2-byte short value. + + + + Serializes this instance of the SecurityBuffer into an array of bytes. + + A byte array representing this instance of the SecurityBuffer + class. + + + + The length of the buffer content in bytes (may be zero). + + + + + The allocated space for the buffer in bytes (typically the same as + the length). + + + + + The offset from the beginning of the NTLM message to the start of + the buffer, in bytes. + + + + + Represents an NTLM Type 1 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 1 for an NTLM Type 1 message. + + + + + Creates a new instance of the Type1Message class using the specified + domain and workstation names. + + The domain in which the client's workstation has + membership. + The client's workstation name. + Thrown if the domain or the + workstation parameter is null. + Thrown if the domain + or the workstation name exceeds the maximum allowed string + length. + The domain as well as the workstation name is restricted + to ASCII characters and must not be longer than 65536 characters. + + + + + Serializes this instance of the Type1 class to an array of bytes. + + An array of bytes representing this instance of the Type1 + class. + + + + The NTLM flags set on this instance. + + + + + The supplied domain name as an array of bytes in the ASCII + range. + + + + + The offset within the message where the domain name data starts. + + + + + The supplied workstation name as an array of bytes in the + ASCII range. + + + + + The offset within the message where the workstation name data starts. + + + + + The length of the supplied workstation name as a 16-bit short value. + + + + + Contains information about the client's OS version. + + + + + Represents an NTLM Type 2 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 2 for an NTLM Type 2 message. + + + + + Private constructor. + + + + + Deserializes a Type 2 message instance from the specified buffer + of bytes. + + The buffer containing a sequence of bytes + representing an NTLM Type 2 message. + An initialized instance of the Type2 class. + Thrown if an error occurs + during deserialization of the Type 2 message. + + + + Determines the version of an NTLM type 2 message. + + The target offset field of the NTLM + type 2 message. + A value from the Type2Version enumeration. + + + + Reads the OS information data present in version 3 of an NTLM + type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the OSVersion class. + + + + Reads the target information data present in version 2 and 3 of + an NTLM type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the Type2TargetInformation + class. + + + + Retrieves the target name from the specified byte array. + + A byte array containing the target name. + If true the target name will be decoded + using UTF-16 unicode encoding. + + + + + The challenge is an 8-byte block of random data. + + + + + The target name of the authentication target. + + + + + The NTLM flags set on this message. + + + + + The SSPI context handle when a local call is being made, + otherwise null. + + + + + Contains the data present in the OS version structure. + + + + + The version of this Type 2 message instance. + + + + + Contains the data present in the target information block. + + + + + Contains the raw data present in the target information block. + + + + + Represents an NTLM Type 3 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 3 for an NTLM Type 3 message. + + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. All security buffers will + be encoded as Unicode. + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + Set this to true, if Unicode encoding has been + negotiated between client and server. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. + Thrown if the username, password + or challenge parameters are null. + + + + Serializes this instance of the Type3 class to an array of bytes. + + An array of bytes representing this instance of the Type3 + class. + + + + Returns a random 8-byte cnonce value. + + A random 8-byte cnonce value. + + + + The NTLM flags set on this instance. + + + + + The "Lan Manager" challenge response. + + + + + The offset at which the LM challenge response data starts. + + + + + The NTLM challenge response. + + + + + The offset at which the NTLM challenge response data starts. + + + + + The authentication realm in which the authenticating account + has membership. + + + + + The offset at which the target name data starts. + + + + + The authenticating account name. + + + + + The offset at which the username data starts. + + + + + The client workstation's name. + + + + + The offset at which the client workstation's name data starts. + + + + + The session key value which is used by the session security mechanism + during key exchange. + + + + + The offset at which the session key data starts. + + + + + Contains the data present in the OS version structure. + + + + + The encoding used for transmitting the contents of the various + security buffers. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2195. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslCramMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Cram-Md5 challenge. + + The challenge sent by the server + The response to the Cram-Md5 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Cram-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2831. + + + + + The client nonce value used during authentication. + + + + + Cram-Md5 involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslDigestMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Digest-Md5 challenge. + + The challenge sent by the server + The response to the Digest-Md5 challenge. + Thrown if the response could not + be computed. + + + + Parses the challenge string sent by the server in response to a Digest-Md5 + authentication request. + + The challenge sent by the server as part of + "Step One" of the Digest-Md5 authentication mechanism. + An initialized NameValueCollection instance made up of the + attribute/value pairs contained in the challenge. + Thrown if the challenge parameter + is null. + Refer to RFC 2831 section 2.1.1 for a detailed description of the + format of the challenge sent by the server. + + + + Computes the "response-value" hex-string which is part of the + Digest-MD5 challenge-response. + + A collection containing the attributes + and values of the challenge sent by the server. + The cnonce value to use for computing + the response-value. + The "digest-uri" string to use for + computing the response-value. + The username to use for computing the + response-value. + The password to use for computing the + response-value. + A string containing a hash-value which is part of the + response sent by the client. + Refer to RFC 2831, section 2.1.2.1 for a detailed + description of the computation of the response-value. + + + + Calculates the MD5 hash value for the specified string. + + The string to calculate the MD5 hash value for. + The encoding to employ for encoding the + characters in the specified string into a sequence of bytes for + which the MD5 hash will be calculated. + An MD5 hash as a 32-character hex-string. + Thrown if the input string + is null. + + + + Encloses the specified string in double-quotes. + + The string to enclose in double-quote characters. + The enclosed string. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Digest-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLM authentication method which is used in various + Microsoft network protocol implementations. + + Implemented with the help of the excellent documentation on + NTLM composed by Eric Glass. + + + + NTLM involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlm class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an NTLM challenge. + + The challenge sent by the server. Since + NTLM expects an initial client response, this will usually be + empty. + The initial response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the NTLM authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLMv2 authentication method which addresses + some of the security issues present in NTLM version 1. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlmv2 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + Implements the Sasl OAuth authentication method. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + Thrown if the accessToken + parameter is null. + Thrown if the accessToken + parameter is empty. + + + + Computes the client response for a OAuth challenge. + + The challenge sent by the server. + The response to the OAuth challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth authentication mechanism. + + + + + The access token to authenticate with. + + + + + Implements the Sasl OAuth 2.0 authentication method. + + + + + The server sends an error response in case authentication fails + which must be acknowledged. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + The username to authenticate with. + Thrown if the username + or the accessToken parameter is null. + Thrown if the username or + the accessToken parameter is empty. + + + + Computes the client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth 2.0 authentication mechanism. + + + + + The username to authenticate with. + + + + + The access token to authenticate with. + + + + + Implements the Sasl Plain authentication method as described in + RFC 4616. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslPlain class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response for a plain-challenge. + + The challenge sent by the server. For the + "plain" mechanism this will usually be empty. + The response for the "plain"-challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Plain authentication mechanism as described + in RFC 4616. + + + + + The username to authenticate with. + + + + + The plain-text password to authenticate with. + + + + + The exception is thrown when a Sasl-related error or unexpected condition occurs. + + + + + Initializes a new instance of the SaslException class + + + + + Initializes a new instance of the SaslException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the SaslException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the SaslException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + A factory class for producing instances of Sasl mechanisms. + + + + + Creates an instance of the Sasl mechanism with the specified + name. + + The name of the Sasl mechanism of which an + instance will be created. + An instance of the Sasl mechanism with the specified name. + Thrown if the name parameter + is null. + Thrown if the Sasl mechanism with the + specified name is not registered with Sasl.SaslFactory. + + + + Registers a Sasl mechanism with the factory using the specified name. + + The name with which to register the Sasl mechanism + with the factory class. + The type of the class implementing the Sasl mechanism. + The implementing class must be a subclass of Sasl.SaslMechanism. + Thrown if the name or the t + parameter is null. + Thrown if the class represented + by the specified type does not derive from Sasl.SaslMechanism. + Thrown if the Sasl mechanism could not + be registered with the factory. Refer to the inner exception for error + details. + + + + Static class constructor. Initializes static properties. + + + + + A dictionary of Sasl mechanisms registered with the factory class. + + + + + Represents chainable search conditions that can be used with the Search method. + + + + + Finds all messages in the mailbox. + + A SearchCondition object representing the "all" search criterion. + + + + Finds messages that contain the specified string in the header or body of the message. + + String to search messages for. + A SearchCondition object representing the "text" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's BCC field. + + String to search the envelope structure's BCC field for. + A SearchCondition object representing the "BCC" search criterion. + The text parameter is null. + + + + Finds messages whose internal date (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the message's internal date with. + A SearchCondition object representing the "Before" search criterion. + + + + Finds messages that contain the specified string in the body of the message. + + String to search the message body for. + A SearchCondition object representing the "Body" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's CC field. + + String to search the envelope structure's CC field for. + A SearchCondition object representing the "CC" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's FROM field. + + String to search the envelope structure's FROM field for. + A SearchCondition object representing the "FROM" search criterion. + The text parameter is null. + + + + Finds messages that have a header with the specified field-name and that contains the + specified string in the text of the header. + + field-name of the header to search for. + String to search for in the text of the header. + A SearchCondition object representing the "HEADER" search criterion. + + If the string to search is zero-length, this matches all messages that have a header line + with the specified field-name regardless of the contents. + + The name parameter or the text parameter is + null. + + + + Finds messages with the specified keyword flag set. + + The keyword flag to search for. + A SearchCondition object representing the "KEYWORD" search criterion. + The text parameter is null. + + + + Finds messages with a size larger than the specified number of bytes. + + Minimum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "LARGER" search criterion. + + + + Finds messages with a size smaller than the specified number of bytes. + + Maximum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "SMALLER" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTBEFORE" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within the specified + date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTON" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within or later than + the specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTSINCE" search criterion. + + + + Finds messages that contain the specified string in the envelope structure's SUBJECT field. + + String to search the envelope structure's SUBJECT field for. + A SearchCondition object representing the "SUBJECT" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's TO field. + + String to search the envelope structure's TO field for. + A SearchCondition object representing the "TO" search criterion. + The text parameter is null. + + + + Finds messages with unique identifiers corresponding to the specified unique identifier set. + + One or several unique identifiers (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages with a unique identifier greater than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + Because of the nature of the IMAP search mechanism, the result set will always contain the + UID of the last message in the mailbox, even if said UID is smaller than the UID specified. + + + + + Finds messages with a unique identifier less than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages that do not have the specified keyword flag set. + + The IMAP keyword flag to search for. + A SearchCondition object representing the "UNKEYWORD" search criterion. + The text parameter is null. + + + + Finds messages that have the \Answered flag set. + + A SearchCondition object representing the "ANSWERED" search criterion. + + + + Finds messages that have the \Deleted flag set. + + A SearchCondition object representing the "DELETED" search criterion. + + + + Finds messages that have the \Draft flag set. + + A SearchCondition object representing the "DRAFT" search criterion. + + + + Finds messages that have the \Flagged flag set. + + A SearchCondition object representing the "FLAGGED" search criterion. + + + + Finds messages that have the \Recent flag set but not the \Seen flag. + + A SearchCondition object representing the "NEW" search criterion. + + + + Finds messages that do not have the \Recent flag set. + + A SearchCondition object representing the "OLD" search criterion. + + + + Finds messages that have the \Recent flag set. + + A SearchCondition object representing the "RECENT" search criterion. + + + + Finds messages that have the \Seen flag set. + + A SearchCondition object representing the "SEEN" search criterion. + + + + Finds messages that do not have the \Answered flag set. + + A SearchCondition object representing the "UNANSWERED" search criterion. + + + + Finds messages that do not have the \Deleted flag set. + + A SearchCondition object representing the "UNDELETED" search criterion. + + + + Finds messages that do not have the \Draft flag set. + + A SearchCondition object representing the "UNDRAFT" search criterion. + + + + Finds messages that do not have the \Flagged flag set. + + A SearchCondition object representing the "UNFLAGGED" search criterion. + + + + Finds messages that do not have the \Seen flag set. + + A SearchCondition object representing the "UNSEEN" search criterion. + + + + Logically ANDs multiple search conditions, meaning a message will only be included in the + search result if both of the ANDed conditions are met. + + A search condition to logically AND this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically negates search conditions, meaning a message will only be included in the search + result if the specified conditions are not met. + + A search condition that must not be met by a message for it to be + included in the search result set. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically ORs multiple search conditions, meaning a message will be included in the search + result if it meets at least either of the conditions. + + A search condition to logically OR this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Joins two SearchCondition objects into a new one using the specified logical operator. + + The logical operator to use for joining the search conditions. + Possible values are "OR", "NOT" and the empty string "" which denotes a logical AND. + The first SearchCondition object + The second SearchCondition object + A new SearchCondition object representing the two search conditions joined by the + specified logical operator. + + + + Concatenates the members of a collection, using the specified separator between each + member. + + The type of the members of values. + The string to use as a separator. + A collection that contains the objects to concatenate. + A string that consists of the members of values delimited by the separator + string. If values has no members, the method returns System.String.Empty. + The values parameter is null. + This is already part of the String class in .NET 4.0 and newer but is needed + for backwards compatibility with .NET 3.5. + + + + Constructs a string from the SearchCondition object using the proper syntax as is required + for the IMAP SEARCH command. + + A string representing this SearchCondition instance that can be used with the IMAP + SEARCH command. + + + + The search keys which can be used with the IMAP SEARCH command, as are defined in section + 6.4.4 of RFC 3501. + + + + + A static utility class containing methods for decoding encoded non-ASCII data as well as + extension methods for some classes of the base class library. + + + + + Returns a copy of the string enclosed in double-quotes and with escaped CRLF, back-slash + and double-quote characters (as is expected by some commands of the IMAP protocol). + + Extends the System.String class + A copy of the string enclosed in double-quotes and properly escaped as is required + by the IMAP protocol. + + + + Returns true if the string contains only ASCII characters. + + Extension method for the String class. + true if the string contains only ASCII characters; Otherwise false. + + + + Splits a string into chunks of the specified number of characters. + + Extension method for the String class. + The length of a chunk, measured in characters. + An array of string chunks. + + + + Determines whether the specified string occurs within this string. + + Extension method for the String class. + The string to seek. + One of the enumeration values that specifies the rules for the + search. + true if the value parameter occurs within this string, or if value is the empty + string (""); otherwise, false. + The value parameter is null. + + + + Raises the event. Ensures the event is only raised, if it is not null. + + Extends System.EventHandler class. + Extends System.EventHandler class. + The sender of the event. + The event arguments associated with this event. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + The name to use when throwing an exception, if necessary. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + The name to use when throwing an exception, if necessary. + + + + Reads an unsigned short value from the underlying stream, optionally using big-endian byte + ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value as big endian value. + The 16-byte unsigned short value read from the underlying stream. + + + + Decodes a string composed of one or several MIME 'encoded-words'. + + A string to composed of one or several MIME 'encoded-words'. + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A concatenation of all enconded-words in the passed string + + + + Internal function reuse to add separation between multiple 'encoded-word's correctly. + + + + + The regular expression for matching encoded-words. This also accounts for the extension for + including language information (as defined in RFC2231). + + + + + Decodes a MIME 'encoded-word' string. + + The encoded word to decode + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A decoded string + MIME encoded-word syntax is a way to encode strings that contain non-ASCII data. + Commonly used encodings for the encoded-word sytax are Q-Encoding and Base64. For an + in-depth description, refer to RFC 2047. + + + + Takes a Q-encoded string and decodes it using the specified encoding. + + The Q-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid Q-encoded string. + The Q-decoded string. + + + + Takes a quoted-printable encoded string and decodes it using the specified encoding. + + The quoted-printable-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid quoted-printable encoded + string. + A quoted-printable decoded string. + + + + Decodes the specified MIME parameter value. + + The MIME parameter value to decode. + The decoded MIME parameter value. + The specified value is not a valid Rfc2231-encoded + string. + Refer to RFC2231 for the details of the encoding mechanism. + + + + Takes a Base64-encoded string and decodes it. + + The Base64-encoded string to decode. + A byte array containing the Base64-decoded bytes of the input string. + The value parameter is null. + The length of value, ignoring white-space + characters, is not zero or a multiple of 4, or the format of value is invalid, or the value + contains a non-base-64 character, more than two padding characters, or a non-white + space-character among the padding characters. + + + + Takes a UTF-16 encoded string and encodes it as modified UTF-7. + + The string to encode. + A UTF-7 encoded string + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + Takes a modified UTF-7 encoded string and decodes it. + + The UTF-7 encoded string to decode. + A UTF-16 encoded "standard" C# string + The input string is not a properly UTF-7 encoded + string. + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + This just wraps Encoding.GetEncoding in a try-catch block to ensure it never fails. If the + encoding can not be determined ASCII is returned as a default. + + The code page name of the preferred encoding. Any value returned by + System.Text.Encoding.WebName is a valid input. + The System.Text.Encoding associated with the specified code page or Encoding.ASCII + if the specified code page could not be resolved. + + + + Converts the specified enumerable collection of UIDs into an IMAP sequence-set. + + An enumerable collection of UIDs. + An IMAP sequence-set suitable for use with IMAP commands. + The uids parameter is null. + The specified collection of UIDs is empty. + Refer to RFC3501, 9.Formal Syntax "sequence-set" for a description of IMAP + sequence-sets. + + + diff --git a/App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.dll b/App/packages/S22.Imap.3.6.0.0/lib/net35/S22.Imap.dll new file mode 100644 index 0000000000000000000000000000000000000000..360f335f3f0f9bbb4fd04f6be2ae08e655885cde GIT binary patch literal 114688 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

E!f)+c{WV_dr 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 literal 0 HcmV?d00001 diff --git a/App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.XML b/App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.XML new file mode 100644 index 0000000..9995b3c --- /dev/null +++ b/App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.XML @@ -0,0 +1,7178 @@ + + + + S22.Imap + + + +

+ Defines supported means of authenticating with an IMAP server. + + + + + Automatically selects the most-secure authentication mechanism supported by the server. + + + + + Login using plaintext password authentication; This is supported by most servers. + + + + + Login using the SASL PLAIN authentication mechanism. + + + + + Login using the CRAM-MD5 authentication mechanism. + + + + + Login using the DIGEST-MD5 authentication mechanism. + + + + + Login using OAuth via the SASL XOAuth mechanism. + + + + + Login using OAuth 2.0 via the SASL XOAUTH2 mechanism. + + + + + Login using the NTLM authentication mechanism. + + + + + Login using the NTLMv2 authentication mechanism. + + + + + Login using the NTLM/NTLMv2 authentication mechanism via Microsoft's Security Support + Provider Interface (SSPI). + + + + + Login using Kerberos authentication via the SASL GSSAPI mechanism. + + + + + Login using the SCRAM-SHA-1 authentication mechanism. + + + + + Login using the Secure Remote Password (SRP) authentication mechanism. + + The SRP mechanism is only available when targeting .NET 4.0 or newer. + + + + A utility class modeled after the BCL StringBuilder to simplify + building binary-data messages. + + + + + The actual byte buffer. + + + + + The current position in the buffer. + + + + + Resizes the internal byte buffer. + + Amount in bytes by which to increase the + size of the buffer. + + + + Appends one or several byte values to this instance. + + Byte values to append. + A reference to the calling instance. + + + + Appends the specified number of bytes from the specified buffer + starting at the specified offset to this instance. + + The buffer to append bytes from. + The offset into the buffert at which to start + reading bytes from. + The number of bytes to read from the buffer. + A reference to the calling instance. + + + + Appends the specified 32-bit integer value to this instance. + + A 32-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit short value to this instance. + + A 16-bit short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 16-bit unsigend short value to this instance. + + A 16-bit unsigend short value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 32-bit unsigned integer value to this instance. + + A 32-bit unsigned integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified 64-bit integer value to this instance. + + A 64-bit integer value to append. + Set this to true, to append the value as + big-endian. + A reference to the calling instance. + + + + Appends the specified string using the specified encoding to this + instance. + + The string vale to append. + The encoding to use for decoding the string value + into a sequence of bytes. If this is null, ASCII encoding is used as a + default. + A reference to the calling instance. + + + + Returns the ByteBuilder's content as an array of bytes. + + An array of bytes. + + + + Removes all bytes from the current ByteBuilder instance. + + + + + The length of the underlying data buffer. + + + + + A filter stream sitting between Negotiate- and NetworkStream to + enable managed NTLM/GSSAPI authentication. + + + We use a filter for hooking into the NegotiateStream protocol rather + than p/invoking SSPI directly as that would require unmanaged + code privileges (internally NegotiateStream uses an SSPI wrapper). + + NegotiateStream - FilterStream - NetworkStream. + + + + + A buffer for accumulating handshake data until an entire handshake + has been read. + + + + + A buffer for accumulating the payload data following the handshake + data. + + + + + The latest handshake header sent by the client. + + + + + The buffer from which client reads will be satisfied. + + + + + The number of bytes the client has already consumed/read + from the receivedData buffer. + + + + + The current state of the filter stream. + + + + + Determines whether this instance should close the inner stream + when disposed. + + + + + An error code as specified by the NegotiateStream protocol which is + handed to the NegotiateStream instance in case authentication + unexpectedly fails. + + + + + Gets the stream used by this FilterStream for sending and + receiving data. + + + + + Initializes a new instance of the FilterStream class using the + specified Stream. + + A Stream object used by the FilterStream for sending + and receiving data. + Set to true to indicate that closing this + FilterStream has no effect on innerstream, or set to false to + indicate that closing this FilterStream also closes innerStream. + + + + Reads data from this stream and stores it in the specified array. + + A byte array that receives the bytes read from + the stream. + The zero-based index into the buffer at which to + begin storing the data read from this stream. + The the maximum number of bytes to read from the + stream. + The the number of bytes read from the underlying stream. When + there is no more data to be read, returns 0. + The read operation failed. + + + + Reads the server response from the underlying inner stream. + + + + + Write the specified number of bytes to the underlying stream using the + specified buffer and offset. + + A byte array that supplies the bytes written to + the stream. + The zero-based index in the buffer at which to + begin reading bytes to be written to the stream. + The number of bytes to read from buffer. + The write operation failed. + + + + Reads the client's handshake from the specified buffer. + + A byte array from which the handshake data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if the handshake has been read completely, otherwise + false. + + + + Reads the payload from the specified buffer. + + A byte array from which the payload data + will be read. + The zero-based index in the buffer at which to + begin reading bytes. + The number of bytes to read from buffer. + True if all of the payload data has been read, otherwise + false. + + + + Sends the accumulated payload data to the server. + + true if the client is done sending data, otherwise + false. + + + + Reads a line of ASCII-encoded text terminated by a CRLF from the + specified stream. + + The stream to read the line of text from. + Set this to true, to resolve automatically + resolve possible literals. + A line of ASII-encoded text read from the specified + stream. + "Literals" are a special feature of IMAP, employed by some + server implementations. Please refer to RFC 3501 Section 4.3 for + details. + + + + Reads the specified number of bytes from the specified stream and + returns them as an ASCII-encoded string. + + The stream to read from. + The number of bytes to read. + The read bytes encoded as an ASCII string. + + + + Causes any buffered data to be written to the underlying device. + + + + + Throws NotSupportedException. + + This value is ignored. + This value is ignored. + Always throws a NotSupportedException. + + + + Sets the length of the underlying stream. + + A value that specifies the length of the + stream. + + + + Releases all resources used by the stream. + + True to release both managed and unmanaged + resources, false to release only unmanaged resources. + + + + Gets a boolean value that indicates whether the underlying stream is + readable. + + + + + Gets a boolean value that indicates whether the underlying stream is + seekable. + + + + + Gets a boolean value that indicates whether the underlying stream + supports time-outs. + + + + + Gets a boolean value that indicates whether the underlying stream is + writable. + + + + + Gets the length of the underlying stream. + + + + + Gets or sets the current position in the underlying stream. + + Setting this property + is not supported. + + + + The different states the FilterStream can be in. + + + + + The stream is reading the client's handshake message. + + + + + The stream is reading the client's payload data. + + + + + The stream is waiting for the server's response. + + + + + The stream has buffered the server's response and is satisfying + client reads from its buffer. + + + + + Represents a NegotiateStream handshake message. + + + + + This is the only permissible value according to specification. + + + + + This is the only permissible value according to specification. + + + + + Creates a new instance of the Handshake class using the specified type + and payload size. + + The type of handshake. + The size, in bytes, of the payload following + the handshake header. + + + + Private default constructor for deserializing. + + + + + Deserializes a handshake instance from the specified byte array. + + An array of bytes containing handshake data. + An initialized instance of the Handshake class deserialized + from the specified byte array. + Thrown if the specified byte + array does not contain valid handshake data. + + + + Serializes an instance of the Handshake class to a sequence of bytes. + + A sequence of bytes representing this Handshake instance. + + + + The type of the handshake message. + + + + + Specifies the major version of the NegotiateStream protocol + being used. + + + + + Specifies the minor version of the NegotiateStream protocol + being used. + + + + + Defines the size, in bytes, of the AuthPayload field, which immediately + follows the handshake. + + + + + Describes the different types of handshake messages. + + + + + The handshake has completed successfully. + + + + + An error occurred during the handshake. The AuthPayload field contains + an HRESULT. + + + + + The message is part of the handshake phase and is not the final message + from the host. The final Handshake message from a host is always + transferred in a HandshakeDone message. + + + + + Implements the Sasl SCRAM-SHA-1 authentication method as described in + RFC 5802. + + + + + The abstract base class from which all classes implementing a Sasl + authentication mechanism must derive. + + + + + Computes the client response to a challenge sent by the server. + + + The client response to the specified challenge. + + + + + + + + Retrieves the base64-encoded client response for the specified + base64-encoded challenge sent by the server. + + A base64-encoded string representing a challenge + sent by the server. + A base64-encoded string representing the client response to the + server challenge. + The IMAP, POP3 and SMTP authentication commands expect challenges + and responses to be base64-encoded. This method automatically decodes the + server challenge before passing it to the Sasl implementation and + encodes the client response to a base64-string before returning it to the + caller. + Thrown if the client response could + not be retrieved. Refer to the inner exception for error details. + + + + Retrieves the client response for the specified server challenge. + + A byte array containing the challenge sent by + the server. + An array of bytes representing the client response to the + server challenge. + + + + IANA name of the authentication mechanism. + + + + + True if the authentication exchange between client and server + has been completed. + + + + + A map of mechanism-specific properties which are needed by the + authentication mechanism to compute it's challenge-responses. + + + + + The client nonce value used during authentication. + + + + + Scram-Sha-1 involves several steps. + + + + + The salted password. This is needed for client authentication and later + on again for verifying the server signature. + + + + + The auth message is part of the authentication exchange and is needed for + authentication as well as for verifying the server signature. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslScramSha1 + class using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SCRAM-SHA-1 challenge. + + The challenge sent by the server + The response to the SCRAM-SHA-1 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the "client-final-message" which completes the authentication + process. + + The "server-first-message" challenge received + from the server in response to the initial client response. + An array of bytes containing the client's challenge + response. + + + + Verifies the nonce value sent by the server. + + The nonce value sent by the server as part of the + server-first-message. + True if the nonce value is valid, otherwise false. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Parses the "server-first-message" received from the server. + + The challenge received from the server. + A collection of key/value pairs contained extracted from + the server message. + Thrown if the message parameter + is null. + + + + Computes the "Hi()"-formula which is part of the client's response + to the server challenge. + + The supplied password to use. + The salt received from the server. + The iteration count. + An array of bytes containing the result of the computation of the + "Hi()"-formula. + + Hi is, essentially, PBKDF2 with HMAC as the pseudorandom function (PRF) and with + dkLen == output length of HMAC() == output length of H(). (Refer to RFC 5802, p.6) + + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input data. + + The key to use for initializing the HMAC + provider. + The input to compute the hashcode for. + The hashcode of the specified data input. + + + + Applies the HMAC keyed hash algorithm using the specified key to + the specified input string. + + The key to use for initializing the HMAC + provider. + The input string to compute the hashcode for. + The hashcode of the specified string. + + + + Applies the cryptographic hash function SHA-1 to the specified data + array. + + The data array to apply the hash function to. + The hash value for the specified byte array. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + Prepares the specified string as is described in RFC 5802. + + A string value. + A "Saslprepped" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Scram-Sha-1 authentication mechanism as described + in RFC 5802. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Secure Remote Password (SRP) authentication + mechanism as is described in the IETF SRP 08 draft. + + + This requires .NET Framework 4 because it makes use of the System.Numeric namespace + which has only been part of .NET since version 4. + + Some notes: + - Don't bother with the example given in the IETF 08 draft + document (7.5 Example); It is broken. + - Integrity and confidentiality protection is not implemented. + In fact, the "mandatory"-option is not supported at all. + + + + + SRP involves several steps. + + + + + The negotiated hash algorithm which will be used to perform any + message digest calculations. + + + + + The public key computed as part of the authentication exchange. + + + + + The client's private key used for calculating the client evidence. + + + + + The secret key shared between client and server. + + + + + The client evidence calculated as part of the authentication exchange. + + + + + The options chosen by the client, picked from the list of options + advertised by the server. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client private key to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslSrp class using + the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified SRP challenge. + + The challenge sent by the server + The response to the SRP challenge. + Thrown if the response could not + be computed. + + + + Computes the initial response sent by the client to the server. + + An array of bytes containing the initial client + response. + + + + Computes the client response containing the client's public key and + evidence. + + The challenge containing the protocol elements + received from the server in response to the initial client + response. + An array of bytes containing the client's challenge + response. + Thrown if the server specified any + mandatory options which are not supported. + + + + Verifies the server signature which is sent by the server as the final + step of the authentication process. + + The server signature as a base64-encoded + string. + The client's response to the server. This will be an empty + byte array if verification was successful, or the '*' SASL cancellation + token. + + + + Selects a message digest algorithm from the specified list of + supported algorithms. + + A tuple containing the name of the selected message digest + algorithm as well as the type. + Thrown if none of the algorithms + specified in the list parameter is supported. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the SRP authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + The authorization id (userid in draft jargon). + + + + + Represents the initial client-response sent to the server to initiate + the authentication exchange. + + + + + Creates a new instance of the ClientMessage1 class using the specified + username. + + The username to authenticate with. + The authorization id to authenticate with. + Thrown if the username parameter + is null. + + + + Serializes this instance of the ClientMessage1 class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + ClientMessage1 class. + Thrown if the cummultative length + of the serialized data fields exceeds the maximum number of bytes + allowed as per SRP specification. + SRP specification imposes a limit of 2,147,483,643 bytes on + the serialized data. + + + + The username to authenticate with. + + SRP specification imposes a limit of 65535 bytes + on this field. + + + + The authorization identity to authenticate with. + + SRP specification imposes a limit of 65535 bytes + on this field. + + + + The session identifier of a previous session whose parameters the + client wishes to re-use. + + SRP specification imposes a limit of 65535 bytes + on this field. If the client wishes to initialize a new session, + this parameter must be set to the empty string. + + + + The client's nonce used in deriving a new shared context key from + the shared context key of the previous session. + + SRP specification imposes a limit of 255 bytes on this + field. If not needed, it must be set to an empty byte array. + + + + Represents the second client-response sent to the server as part of + the SRP authentication exchange. + + + + + Creates and initializes a new instance of the ClientMessage2 class. + + + + + Creates and initializes a new instance of the ClientMessage2 class using + the specified public key and client proof. + + The client's public key. + The calculated client proof. + Thrown if either the public key + or the proof parameter is null. + + + + Serializes this instance of the ClientMessage2 class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + ClientMessage2 class. + Thrown if the cummultative length + of the serialized data fields exceeds the maximum number of bytes + allowed as per SRP specification. + SRP specification imposes a limit of 2,147,483,643 bytes on + the serialized data. + + + + Serializes the client's options collection into a comma-seperated + options string. + + A comma-seperated string containing the client's chosen + options. + + + + The client's ephemeral public key. + + + + + The evidence which proves to the server client-knowledge of the shared + context key. + + + + + The options list indicating the security services chosen by the client. + + + + + The initial vector the server will use to set up its encryption + context, if confidentiality protection will be employed. + + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of SRP messages. + + + + + Reads an unsigned integer value from the underlying stream, + optionally using big endian byte ordering. + + Extension method for BinaryReader. + Set to true to interpret the integer value + as big endian value. + The 32-byte unsigned integer value read from the underlying + stream. + + + + Reads an unsigned short value from the underlying stream, optionally + using big endian byte ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value + as big endian value. + The 16-byte unsigned short value read from the underlying + stream. + + + + Reads a "multi-precision integer" from this instance. + + Extension method for the BinaryReader class. + An instance of the Mpi class decoded from the bytes read + from the underlying stream. + + + + Reads an "octet-sequence" from this instance. + + Extension method for the BinaryReader class. + An instance of the OctetSequence class decoded from the bytes + read from the underlying stream. + + + + Reads an UTF-8 string from this instance. + + Extension method for the BinaryReader class. + An instance of the Utf8String class decoded from the bytes + read from the underlying stream. + + + + Contains helper methods for calculating the various components of the + SRP authentication exchange. + + + + + The trace source used for informational and debug messages. + + + + + Determines whether the specified modulus is valid. + + The modulus to validate. + True if the specified modulus is valid, otherwise + false. + + + + Determines whether the specified generator is valid. + + The generator to validate. + True if the specified generator is valid, otherwise + false. + + + + Generates a random "multi-precision integer" which will act as the + client's private key. + + The client's ephemeral private key as a "multi-precision + integer". + + + + Calculates the client's ephemeral public key. + + The generator sent by the server. + The safe prime modulus sent by + the server. + The client's private key. + The client's ephemeral public key as a + "multi-precision integer". + + A = Client Public Key + g = Generator + a = Client Private Key + N = Safe Prime Modulus + + + + + Calculates the shared context key K from the given parameters. + + The user's password salt. + The username to authenticate with. + The password to authenticate with. + The client's ephemeral public key. + The server's ephemeral public key. + The client's private key. + The generator sent by the server. + The safe prime modulus sent by the + server. + The negotiated hash algorithm to use + for the calculations. + The shared context key K as a "multi-precision + integer". + + A = Client Public Key + B = Server Public Key + N = Safe Prime Modulus + U = Username + p = Password + s = User's Password Salt + a = Client Private Key + g = Generator + K = Shared Public Key + + + + + Computes the client evidence from the given parameters. + + The safe prime modulus sent by the + server. + The generator sent by the server. + The username to authenticate with. + The client's password salt. + The client's ephemeral public key. + The server's ephemeral public key. + The shared context key. + The authorization identity. + The raw options string as received from the + server. + The message digest algorithm to use for + calculating the client proof. + The client proof as an array of bytes. + + + + Computes the server evidence from the given parameters. + + The client's ephemeral public key. + + The shared context key. + The authorization identity. + The raw options string as sent by the + client. + The session id sent by the server. + The time-to-live value for the session id sent + by the server. + The message digest algorithm to use for + calculating the server proof. + The server proof as an array of bytes. + + + + Applies the exclusive-or operation to combine the specified byte array + a with the specified byte array b. + + The first byte array. + The second byte array. + An array of bytes of the same length as the input arrays + containing the result of the exclusive-or operation. + Thrown if either argument is + null. + Thrown if the input arrays + are not of the same length. + + + + Recommended values for the safe prime modulus (Refer to Appendix A. + "Modulus and Generator Values" of the IETF SRP draft). + + + + + Represents a "multi-precision integer" (MPI) as is described in the + SRP specification (3.2 Multi-Precision Integers, p.5). + + Multi-Precision Integers, or MPIs, are positive integers used + to hold large integers used in cryptographic computations. + + + + Creates a new "multi-precision integer" from the specified array + of bytes. + + A big-endian sequence of bytes forming the + integer value of the multi-precision integer. + + + + Creates a new "multi-precision integer" from the specified BigInteger + instance. + + The BigInteger instance to initialize the MPI + with. + + + + Returns a sequence of bytes in big-endian order forming the integer + value of this "multi-precision integer" instance. + + Returns a sequence of bytes in big-endian order representing + this "multi-precision integer" instance. + + + + Serializes the "multi-precision integer" into a sequence of bytes + according to the requirements of the SRP specification. + + A big-endian sequence of bytes representing the integer + value of the MPI. + + + + The underlying BigInteger instance used to represent this + "multi-precision integer". + + + + + Represents an "octet-sequence" as is described in the SRP specification + (3.3 Octet sequences, p.6). + + + + + Creates a new instance of the OctetSequence class using the specified + byte array. + + The sequence of bytes to initialize this instance + of the OctetSequence class with. + + + + Serializes this instance of the OctetSequence class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + OctetSequence class. + Thrown if the length of the byte + sequence exceeds the maximum number of bytes allowed as per SRP + specification. + SRP specification imposes a limit of 255 bytes on the + length of the underlying byte array. + + + + The underlying byte array forming this instance of the OctetSequence + class. + + + + + Represents the first message sent by the server in response to an + initial client-response. + + + + + Deserializes a new instance of the ServerMessage1 class from the + specified buffer of bytes. + + The byte buffer to deserialize the ServerMessage1 + instance from. + An instance of the ServerMessage1 class deserialized from the + specified byte array. + Thrown if the byte buffer does not + contain valid data. + + + + Parses the options string sent by the server. + + A comma-delimited options string. + An initialized instance of the NameValueCollection class + containing the parsed server options. + + + + The safe prime modulus sent by the server. + + + + + The generator sent by the server. + + + + + The user's password salt. + + + + + The server's ephemeral public key. + + + + + The options list indicating available security services. + + + + + The raw options as received from the server. + + + + + Represents the second message sent by the server as part of the SRP + authentication exchange. + + + + + Deserializes a new instance of the ServerMessage2 class from the + specified buffer of bytes. + + The byte buffer to deserialize the ServerMessage2 + instance from. + An instance of the ServerMessage2 class deserialized from the + specified byte array. + Thrown if the byte buffer does not + contain valid data. + + + + The evidence which proves to the client server-knowledge of the shared + context key. + + + + + The initial vector the client will use to set up its encryption + context, if confidentiality protection will be employed. + + + + + The session identifier the server has given to this session. + + + + + The time period for which this session's parameters may be re-usable. + + + + + Represents an UTF-8 string as is described in the SRP specification + (3.5 Text, p.6). + + + + + The value of the UTF-8 string. + + + + + Creates a new instance of the Utf8String class using the specified + string value. + + The string to initialize the Utf8String instance + with. + + + + Serializes this instance of the Utf8String class into a sequence of + bytes according to the requirements of the SRP specification. + + A sequence of bytes representing this instance of the + Utf8String class. + Thrown if the string value exceeds + the maximum number of bytes allowed as per SRP specification. + SRP specification imposes a limit of 65535 bytes on the + string data after it has been encoded into a sequence of bytes + using an encoding of UTF-8. + + + + Represents a MIME body part of a mail message that has multiple + parts. + + + + + Initializes a new instance of the Bodypart class with default + values. + + The part number as is expected by the + IMAP FETCH command. + + + + Returns a detailed description listing all properties of this + Bodypart instance. + + A string describing this instance of the Bodypart class + + + + The body part number which acts as part specifier for + the FETCH BODY command. + + + + + The MIME content-type of this body part. The content-type is + used to declare the general type of data. + + + + + The MIME content-subtype of this body part. The subtype + specifies a specific format for the type of data. + + + + + Parameter values present in the MIME content-type header + of this body part (for instance, 'charset'). + + + + + The MIME content-id of this body part, if any. This value + may be used for uniquely identifying MIME entities in + several contexts. + + + + + The MIME content-description of this body part. This value + may contain some descriptive information on the body part. + + + + + The MIME content-transfer-encoding mechanism used for + encoding this body part's data. + + + + + The size of this body part in bytes. Note that this size + is the size in its transfer encoding and not the resulting + size after any decoding. + + + + + The size of the body in text lines. This field is only + present in body parts with a content-type of text. + + + + + The computed MD5-Hash of the body part. This field is not + mandatory and may be empty. + + + + + The MIME content-disposition for this body part. This field + is not mandatory and may be empty. + + + + + A string giving the body language. This field is not mandatory + and may be empty. + + + + + A string list giving the body content URI. This field is not + mandatory and may be empty. + + + + + Provides a means for parsing the textual description of the body structure of a mail + message as is returned by an IMAP server for a "FETCH BODYSTRUCTURE" command. + + + They couldn't have made the BODYSTRUCTURE any more complicated and unnecessarily + hard to parse. I wonder what they were thinking when they came up with this. + + + + + Parses the body structure of a mail message as is returned by the IMAP server + in response to a FETCH BODYSTRUCTURE command. + + The body structure server response + An array of initialized Bodypart objects representing the body + structure of the mail message + Thrown if the passed string does not + contain a valid body structure and parsing failed. + + + + A Reader object initialized with the string containing the bodystructure + response. + + + + + Initializes a new instance of the Bodystructure class. + + + + + + Parses a bodypart entry from the body structure and advances the + read pointer. + + The designated part specifier by which the body + part is refered to by the server. + Set to true if the bodypart is enclosed + in parenthesis. + + + + + Parses the mandatory extra fields that are present if the bodypart is + of type message/rfc822 (see RFC 3501, p. 75). + + The bodypart instance the parsed fields will be + added to. + + + + Parses the optional fields of a bodypart entry from the body structure + and advances the read pointer. + + The bodypart instance the parsed fields will be + added to. + Set to true if the bodypart entry is enclosed + in parenthesis. + + + + Parses a list of bodypart entries as is outlined in the description of the + BODYPART response in RFC 3501. + + The nesting prefix that will be prefixed to the + bodyparts partNumber. + An array of initialized Bodypart objects parsed from the + list. + + + + Advances the read pointer to skip over a multipart entry. + + + + + Advances the read pointer to skip over an arbitrary + expression enclosed in parentheses. + + + + + Represents the content disposition as is presented in the BODYSTRUCTURE + response by the IMAP server. + + + + + Initializes a new instance of the ContentDisposition class with + default values. + + + + + Maps MIME content disposition string values to their corresponding + counter-parts of the ContentDispositionType enumeration. + + + + + The content disposition specifies the presentation style. + + + + + Additional attribute fields for specifying the name of a file, the creation + date and modification date, which can be used by the reader's mail user agent + to store the attachment. + + + + + Contains the name of the transmitted file if the content-disposition is of type + "Attachment" and if the name value was provided as part of the header information. + This field may be empty. + + + + + Possible values for the content disposition type which determines the presentation + style + + + + + The content disposition could not be determined. + + + + + An inline content disposition means that the content should be automatically + displayed when the message is displayed. + + + + + An attachment content disposition means that the content should not be displayed + automatically and requires some form of action from the user to open it. + + + + + Possible values for the "Encoding" property of the Bodypart class. The content + transfer encoding indicates whether or not a binary-to-text encoding + scheme has been used on top of the original encoding as specified within the + Content-Type header. + + + + + The content tranfer encoding could not be determined or is unknown. + + + + + Up to 998 bytes per line of the code range 1 - 127 with CR and LF only + allowed to appear as part of a CRLF line ending. + + + + + Up to 998 bytes per line with CR and LF only allowed to appear as part + of a CRLF line ending. + + + + + Any sequence of bytes. + + + + + Byte sequence is encoded using the quoted-printable encoding. + + + + + Byte sequence is encoded using Base64 encoding. + + + + + Possible values for the "Type" property of the Bodypart class. + For a detailed description of MIME Media Types refer to + RFC 2046. + + + + + The "text" media type is intended for sending material which + is principally textual in form. + + + + + A media type of "image" indicates that the body contains an image. + The subtype names the specific image format. + + + + + A media type of "audio" indicates that the body contains audio + data. + + + + + A media type of "video" indicates that the body contains a + time-varying-picture image, possibly with color and coordinated sound. + + + + + The "application" media type is to be used for discrete data which do + not fit in any of the other categories, and particularly for data to + be processed by some type of application program. + + + + + The "message" content type allows messages to contain other messages + or pointers to other messages. + + + + + The media type value is unknown or could not be determined. + + + + + A helper class for parsing the BODYSTRUCTURE response of an + IMAP FETCH command more conveniently. + + + + + Initializes a new instance of the Reader class that reads from the + specified string. + + The string to which the Reader instance should be + initialized. + + + + Reads the next character from the input string and advances the + character position by one character. + + The next character from the underlying string. + Thrown when reading is + attempted past the end of the underlying string. + + + + Returns the next available character but does not consume it. + + Set to true to skip any preceding + whitespace characters. + An integer representing the next character to be read, + or -1 if no more characters are available. + + + + Advances the character position until the specified character + is encountered. + + The character to skip to. + Thrown when reading is + attempted past the end of the underlying string. + + + + Advances the character position over any whitespace characters + and subsequently ensures the next read will not return a + whitespace character. + + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads characters until the specified character is encountered. + + The character to read up to. + The read characters as a string value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a word from the underlying string. A word in this context + is a literal enclosed in double-quotes. + + The read word. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads an integer from the underlying string. + + The read integer value. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a list from the underlying string. A list in this context + is a list of attribute/value literals (enclosed in double-quotes) + enclosed in parenthesis. + + The read list as a dictionary with the attribute names + as keys and attribute values as values. + Thrown when reading is + attempted past the end of the underlying string. + + + + Reads a disposition from the underlying string. A disposition in + this context is a list of attribute/value literals (enclosed in + double-quotes) preceded by a word enclosed in parenthesis. + + An initialized ContentDisposition instance representing + the parsed disposition. + Thrown when reading is + attempted past the end of the underlying string. + + + + The exception that is thrown when reading is attempted past the end + of a string. + + + + + Initializes a new instance of the EndOfStringException class + + + + + Initializes a new instance of the EndOfStringException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the EndOfStringException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the EndOfStringException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Defines the different means by which mail messages may be fetched from the server. + + + + + Fetches the entire mail message with all of its content. + + + + + Only the mail message headers will be retrieved, while the actual content will not be + downloaded. If this option is specified, only the header fields of the returned MailMessage + object will be initialized. + + + + + Retrieves the mail message, but will only download content that has a content-type of text. + This will retrieve text as well as HTML representation, while skipping inline content and + attachments. + + + + + Retrieves the mail message, but skips any content that is an attachment. + + + + + Provides data for IMAP idle error events. + + + + + Initializes a new instance of the IdleErrorEventArgs class. + + The exception that causes the event. + The instance of the ImapClient class that raised the event. + The exception parameter or the client parameter + is null. + + + + The exception that caused the error event. + + + + + The instance of the ImapClient class that raised the event. + + + + + Provides data for IMAP idle notification events. + + + + + Initializes a new instance of the IdleMessageEventArgs class and sets the + MessageCount attribute to the value of the + parameter. + + The number of messages in the selected mailbox. + The unique identifier (UID) of the newest message in the + mailbox. + The instance of the ImapClient class that raised the event. + + + + The total number of messages in the selected mailbox. + + + + + The unique identifier (UID) of the newest message in the mailbox. + + The UID can be passed to the GetMessage method in order to retrieve the mail + message from the server. + + + + The instance of the ImapClient class that raised the event. + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + Enables applications to communicate with a mail server using the Internet Message Access + Protocol (IMAP). + + + + + This constructor is solely used for unit testing. + + A stream to initialize the ImapClient instance with. + + + + Initializes a new instance of the ImapClient class and connects to the specified port + on the specified host, optionally using the Secure Socket Layer (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets + Layer (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example shows how to establish a connection with an IMAP server + and print out the IMAP options, which the server supports. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + // Print out the server's capabilities. + foreach(string s in Client.Capabilities()) + Console.WriteLine(s); + + Client.Dispose(); + + + + + + Initializes a new instance of the ImapClient class and connects to the specified port on + the specified host, optionally using the Secure Socket Layer (SSL) security protocol and + attempts to authenticate with the server using the specified authentication method and + credentials. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer + (SSL) certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received from + the server upon connecting. + There was a failure writing to or reading from the + network. + The provided credentials were rejected by the + server. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Connects to the specified port on the specified host, optionally using the Secure Socket Layer + (SSL) security protocol. + + The DNS name of the server to which you intend to connect. + The port number of the server to which you intend to connect. + Set to true to use the Secure Socket Layer (SSL) security protocol. + Delegate used for verifying the remote Secure Sockets Layer (SSL) + certificate which is used for authentication. Can be null if not needed. + The port parameter is not between MinPort + and MaxPort. + The hostname parameter is null. + An unexpected response has been received + from the server upon connecting. + There was a failure writing to or reading from the + network. + An error occurred while accessing the socket used for + establishing the connection to the IMAP server. Use the ErrorCode property to obtain the + specific error code. + An authentication + error occured while trying to establish a secure connection. + + + + Determines whether the specified response is a valid IMAP OK response. + + A response string received from the server. + A tag if the response is associated with a command. + true if the response is a valid IMAP OK response; Otherwise false. + + + + Attempts to establish an authenticated session with the server using the specified + credentials. + + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The requested method of authentication. Can be one of the values + of the AuthMethod enumeration. + The username parameter or the password parameter + is null. + There was a failure writing to or reading from the + network. + The server rejected the supplied + credentials. + The specified authentication method is not + supported by the server. + + This example demonstrates how to authenticate with an IMAP server once a connection + has been established. Notice that you can also connect and login in one step + using one of the overloaded constructors. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = new ImapClient("imap.gmail.com", 993, true); + + try { + Client.Login("My_Username", "My_Password", AuthMethod.Auto); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials."); + } + + Client.Dispose(); + + + + + + Performs authentication using the most secure authentication mechanism supported by the + server. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + The order of preference of authentication types employed by this method is + Ntlm, Scram-Sha-1, Digest-Md5, followed by Cram-Md5 and finally plaintext Login as + a last resort. + + + + Performs an actual IMAP "LOGIN" command using the specified username and plain-text + password. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The response sent by the server. + + + + Performs NTLM and Kerberos authentication via the Security Support Provider Interface (SSPI). + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + True to authenticate using NTLM, otherwise GSSAPI (Kerberos) is + used. + The response sent by the server. + The specified authentication method is not + supported by the server. + + + + Performs authentication using a SASL authentication mechanism via IMAP's authenticate + command. + + The tag identifier to use for performing the authentication + commands. + The username with which to login in to the IMAP server. + The password with which to log in to the IMAP server. + The name of the SASL authentication mechanism to use. + The response sent by the server. + The authentication mechanism with the specified name could + not be found. + The specified authentication mechanism is not + supported by the server. + An unexpected response has been received from + the server. + + + + Logs an authenticated client out of the server. After the logout sequence has been completed, + the server closes the connection with the client. + + An unexpected response has been received from + the server during the logout sequence. + Calling this method in non-authenticated state has no effect. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + + + + Generates a unique identifier to prefix a command with, as is required by the IMAP protocol. + + A unique identifier string. + + + + Sends a command string to the server. This method blocks until the command has been + transmitted. + + The command to send to the server. The string is suffixed by CRLF + prior to sending. + + + + Sends a command string to the server and subsequently waits for a response, which is then + returned to the caller. This method blocks until the server response has been received. + + The command to send to the server. This is suffixed by CRLF prior + to sending. + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + The response received by the server. + + + + Waits for a response from the server. This method blocks until a response has been received. + + Set to true to resolve possible literals returned by the + server (Refer to RFC 3501 Section 4.3 for details). + A response string from the server + The underlying socket is closed or there was a failure + reading from the network. + + + + Reads the specified amount of bytes from the server. This method blocks until the specified + amount of bytes has been read from the network stream. + + The number of bytes to read. + The read bytes as an ASCII-encoded string. + The underlying socket is closed or there was a failure + reading from the network. + + + + Returns an enumerable collection of capabilities the IMAP server supports. All strings in + the returned collection are guaranteed to be upper-case. + + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + An enumerable collection of capabilities supported by the server. + This method may be called in non-authenticated state. + + + + Determines whether the specified capability is supported by the server. + + The IMAP capability to probe for (for example "IDLE"). + The capability parameter is null. + An unexpected response has been received from + the server; The message property of the exception contains the error message returned by + the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + true if the specified capability is supported by the server; Otherwise + false. + This method may be called in non-authenticated state. + + This example demonstrates how to connect and login to an IMAP server. + + // Connect to Gmail's IMAP server on port 993 using SSL. + ImapClient Client = null; + try { + Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Auto); + + // Check if the server supports IMAP IDLE. + if(Client.Supports("IDLE")) + Console.WriteLine("This server supports the IMAP4 IDLE specification"); + else + Console.WriteLine("This server does not support IMAP IDLE"); + } + catch(InvalidCredentialsException) { + Console.WriteLine("The server rejected the supplied credentials"); + } + finally { + // Release resources. + if(Client != null) + Client.Dispose(); + } + + + + + + Changes the name of the specified mailbox. + + The mailbox to rename. + The new name the mailbox will be renamed to. + The mailbox parameter or the + newName parameter is null. + The mailbox could not be renamed; The message + property of the exception contains the error message returned by the server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Permanently removes the specified mailbox. + + The name of the mailbox to remove. + The mailbox parameter is null. + The specified mailbox could not be removed. + The message property of the exception contains the error message returned by the + server. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Creates a new mailbox with the specified name. + + The name of the mailbox to create. + The mailbox parameter is null. + The mailbox with the specified name could + not be created. The message property of the exception contains the error message returned + by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Selects the specified mailbox so that the messages of the mailbox can be accessed. + + The mailbox to select. If this parameter is null, the + default mailbox is selected. + The specified mailbox could not be selected. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + IMAP Idle must be paused or stopped before calling this method. + + + + Retrieves a list of all available and selectable mailboxes on the server. + + An enumerable collection of the names of all available and selectable + mailboxes. + The list of mailboxes could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox + for this user on this server". + + + + Permanently removes all messages that have the \Deleted flag set from the specified mailbox. + + The mailbox to remove all messages from that have the \Deleted flag + set. If this parameter is omitted, the value of the DefaultMailbox property is used to + determine the mailbox to operate on. + The expunge operation could not be completed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves status information (total number of messages, various attributes as well as quota + information) for the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxInfo object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve this information, the UsedStorage and FreeStorage properties of the + returned MailboxStatus instance are set to 0. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Get a list of all mailboxes. + foreach(string m in Client.ListMailboxes()) + { + MailboxInfo info = Client.GetMailboxInfo(m); + + Console.WriteLine(info.Name); + Console.WriteLine("Used storage: " + info.UsedStorage); + Console.WriteLine("Free storage: " + info.FreeStorage); + Console.WriteLine("Next UID: " + info.NextUID); + Console.WriteLine("Messages: " + info.Messages); + Console.WriteLine("Unread: " + info.Unread); + Console.WriteLine("Set Flags: "); + foreach (MailboxFlag f in info.Flags) + Console.Write(f.ToString() + ","); + Console.WriteLine(); + } + + Client.Dispose(); + + + + + + Retrieves the set of special-use flags associated with the specified mailbox. + + The mailbox to receive the special-use flags for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + An enumerable collection of special-use flags set on the specified + mailbox. + This feature is an optional extension to the IMAP protocol and as such some servers + may not report any flags at all. + + + + Retrieves status information (total number of messages, number of unread messages, etc.) for + the specified mailbox. + The mailbox to retrieve status information for. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A MailboxStatus object containing status information for the mailbox. + The operation could not be completed because + the server returned an error. The message property of the exception contains the error + message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Searches the specified mailbox for messages that match the given search criteria. + + A search criteria expression; Only messages that match this + expression will be included in the result set returned by this method. + The mailbox that will be searched. If this parameter is omitted, the + value of the DefaultMailbox property is used to determine the mailbox to operate on. + The criteria parameter is null. + The search could not be completed. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The search values contain characters beyond the + ASCII range and the server does not support handling non-ASCII strings. + An enumerable collection of unique identifiers (UIDs) which can be used with the + GetMessage family of methods to download the mail messages. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the search method to get a list of all + unread messages in the mailbox. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all unread messages in the mailbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() ); + + // Fetch the messages and print out their subject lines. + foreach(uint uid in uids) { + MailMessage message = Client.GetMessage(uid); + + Console.WriteLine(message.Subject); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + This example demonstrates how to perform a search using multiple search criteria. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012 + // and that are larger than 1 Kilobyte. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1)) + .And( SearchCondition.Larger(1024) )); + + Console.WriteLine("Found " + uids.Count() + " messages"); + + // Free up any resources associated with this instance. + Client.Dispose(); + + + The following example demonstrates how to perform a search using characters outside + the ASCII range. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username", + "My_Password", true, AuthMethod.Login); + + // Get a list of unique identifiers (UIDs) of all messages that have + // the Japanese expression "フーリエ変換" in their subject lines. + try { + IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換")); + + Console.WriteLine("Found " + uids.Count() + " messages"); + } catch(NotSupportedException e) { + // If this exception is thrown, the server does not support searching for characters + // outside the ASCII range. + Console.WriteLine("The server does not support searching for non-ASCII values."); + } + + // Free up any resources associated with this instance. + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID). + + The unique identifier of the mail message to retrieve. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that were sent from "John.Doe@gmail.com". + IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") ); + + // Fetch the first message and print it's subject and body. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First()); + + Console.WriteLine("Subject: " + msg.Subject); + Console.WriteLine("Body: " + msg.Body); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) using the specified + fetch-option. + + The unique identifier of the mail message to retrieve. + A value from the FetchOptions enumeration which allows + for fetching selective parts of a mail message. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + If you need more fine-grained control over which parts of a mail message to fetch, + consider using one of the overloaded GetMessage methods. + + + + This example demonstrates how to fetch only the mail message headers of + a mail message, instead of the entire message. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the mailbox that have "Hello" in the subject. + IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") ); + + // Fetch the mail headers of the first message and print it's subject line. + if(uids.Count() > 0) { + MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly); + + Console.WriteLine("Subject: " + msg.Subject); + } + + Client.Dispose(); + + + + + + Retrieves the mail message with the specified unique identifier (UID) while only fetching + those parts of the message that satisfy the condition of the specified delegate. + + The unique identifier of the mail message to retrieve. + A delegate which will be invoked for every MIME body-part of the + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for this message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An initialized instance of the MailMessage class representing the fetched mail + message. + The callback parameter is null. + The mail message could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + This example demonstrates how to use the ExaminePartDelegate with the GetMessage + method to only download message parts with a size of 1 Megabyte or less. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages in the inbox. + IEnumerable<uint> uids = Client.Search( SearchCondition.All() ); + + // Download each message but skip message parts that are larger than 1 Megabyte. + foreach(uint uid in uids) { + MailMessage msg = Client.GetMessage(uid, (Bodypart part) => { + if(part.Size > (1024 * 1024)) + return false; + else + return true; + } + ); + } + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs). + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Fetch the messages and print out their subject lines. + IEnumerable<MailMessage> messages = Client.GetMessages( uids ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only + fetching those parts of the messages that satisfy the condition of the specified delegate. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A delegate which will be invoked for every MIME body-part of each + mail message to determine whether the part should be fetched from the server or + skipped. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter or the callback parameter is + null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the + specified fetch-option. + + An enumerable collection of unique identifiers of the mail messages to + retrieve. + A value from the FetchOptions enumeration which allows for fetching + selective parts of a mail message. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of initialized instances of the MailMessage class + representing the fetched mail messages. + The uids parameter is null. + The mail messages could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Find all messages that have been sent since June the 1st. + IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) ); + + // Retrieve the messages and print out their subject lines. If any of the messages are multipart + // messages, only those parts, that have a content-type of text will be fetched. + IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly ); + + foreach(MailMessage m in messages) + Console.WriteLine("Subject: " + m.Subject); + + Client.Dispose(); + + + + + + Stores the specified mail message on the IMAP server. + + The mail message to store on the server. + Set this to true to set the \Seen flag for the message on the + server. + The mailbox the message will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the message in. + The unique identifier (UID) of the stored message. + The message parameter is null. + The mail message could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + This example demonstrates how to store a mail message on an IMAP server. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + MailMessage message = CreateSimpleMailMessage(); + uint uid = Client.StoreMessage(message); + + Console.WriteLine("The UID of the stored mail message is " + uid); + + Client.Dispose(); + + // ........... + + // This creates a simple mail message with a text/plain body and a PNG image + // as a file attachment. + // Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class. + static MailMessage CreateSimpleMailMessage() { + MailMessage message = new MailMessage(); + + message.From = new MailAddress("someone@someplace.com"); + message.To.Add("john.doe@someplace.com"); + + message.Subject = "This is just a test!"; + message.Body = "This is the text/plain body. An additional HTML body " + + "can optionally be attached as an alternate view"; + + // Add the attachment. + Attachment attachment = new Attachment("some_image.png", "image/png"); + attachment.Name = "my_attached_image.png"; + message.Attachments.Add(attachment); + + return message; + } + + + + + + Stores the specified mail messages on the IMAP server. + + An enumerable collection of mail messages to store on the + server. + Set this to true to set the \Seen flag for each message on the + server. + The mailbox the messages will be stored in. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to store + the messages in. + An enumerable collection of unique identifiers (UID) representing the stored + messages on the server. + The messages parameter is null. + The mail messages could not be stored. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A unique identifier (UID) is a 32-bit value assigned to each message which uniquely + identifies the message within the respective mailbox. No two messages in a mailbox share + the same UID. + + + + + Retrieves the mail header for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the mail header for. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw mail header of the mail message with the specified + UID. + The mail header could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the body structure for the mail message with the specified unique identifier (UID). + + The UID of the mail message to retrieve the body structure for. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw body structure of the mail message with the specified + UID. + The body structure could not be fetched. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + A body structure is a textual description of the layout of a mail message. It is + described in some detail in RFC 3501 under 7.4.2 FETCH response. + + + + Retrieves the MIME body-part with the specified part number of the multipart message with + the specified unique identifier (UID). + + The UID of the mail message to retrieve a MIME body part for. + The part number of the body part to fetch. + Set this to true to set the \Seen flag for the fetched messages on the + server. + The mailbox the messages will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the specified body part of the mail message with the specified + UID. + The body part could not be fetched. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the raw MIME/RFC822 mail message data for the mail message with the specified UID. + + The UID of the mail message to retrieve as a MIME/RFC822 string. + Set this to true to set the \Seen flag for the fetched message on the + server. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + A string containing the raw MIME/RFC822 data of the mail message with the + specified UID. + The mail message data could not be fetched. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Retrieves the highest UID in the specified mailbox. + + The mailbox to find the highest UID for. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + The highest unique identifier value (UID) in the mailbox. + The UID could not be determined. The message + property of the exception contains the error message returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + The highest UID usually corresponds to the newest message in a mailbox. + + + + Copies the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to copy. + The name of the mailbox to copy the message to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Copies the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to copy. + The name of the mailbox to copy the messages to. + The mailbox the message will be copied from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When copying many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The specified collection of UIDs is empty. + The mail messages could not be copied to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Moves the mail message with the specified UID to the specified destination mailbox. + + The UID of the mail message to move. + The name of the mailbox to move the message into. + The mailbox the message will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The destination parameter is null. + The mail message could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Moves the mail messages with the specified UIDs to the specified destination mailbox. + + An enumerable collection of UIDs of the mail messages to move. + The name of the mailbox to move the messages into. + The mailbox the messages will be moved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When moving many messages, this method is more efficient than calling + for each individual message. + The uids parameter or the destination parameter is + null. + The mail messages could not be moved to the + specified destination. The message property of the exception contains the error message + returned by the server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + Deletes the mail message with the specified UID. + + The UID of the mail message to delete. + The mailbox the message will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + The mail message could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Deletes the mail messages with the specified UIDs. + + An enumerable collection of UIDs of the mail messages to delete. + The mailbox the messages will be deleted from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + When deleting many messages, this method is more efficient than calling + for each individual message. + The uids parameter is null. + The specified collection of UIDs is empty. + The mail messages could not be deleted. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + Retrieves the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to retrieve the flag attributes for. + The mailbox the message will be retrieved from. If this parameter is + omitted, the value of the DefaultMailbox property is used to determine the mailbox to + operate on. + An enumerable collection of message flags set for the message with the specified + UID. + The mail message flags could not be retrieved. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + + + Sets the IMAP message flag attributes for the mail message with the specified unique + identifier (UID). + + The UID of the mail message to set the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be set. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method replaces the current flag attributes of the message with the specified + new flags. If you wish to retain the old attributes, use the + method instead. + + + + + + + Adds the specified set of IMAP message flags to the existing flag attributes of the mail + message with the specified unique identifier (UID). + + The UID of the mail message to add the flag attributes to. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be added. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method adds the specified set of flags to the existing set of flag attributes + of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Removes the specified set of IMAP message flags from the existing flag attributes of the + mail message with the specified unique identifier (UID). + + The UID of the mail message to remove the flag attributes for. + The mailbox that contains the mail message. If this parameter is null, + the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + One or multiple message flags from the MessageFlag enumeration. + The mail message flags could not be removed. + The message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The method was called in non-authenticated + state, i.e. before logging in. + This method removes the specified set of flags from the existing set of flag + attributes of the message. If you wish to replace the old attributes, use the + method instead. + + + + + + + Starts receiving of IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when already receiving idle notifications has no + effect. + + + + + + + Stops receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + Calling this method when not receiving idle notifications has no effect. + + + + + + Temporarily pauses receiving IMAP IDLE notifications from the IMAP server. + + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + To resume receiving IDLE notifications ResumeIdling must be called. + + + + + + + Resumes receiving IMAP IDLE notifications from the IMAP server. + + An unexpected program condition occured. + The IDLE operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The server does not support the IMAP4 IDLE + command. + There was a failure writing to or reading from the + network. + The ImapClient object has been disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + + The main idle loop. Waits for incoming IMAP IDLE notifications and dispatches + them as events. This runs in its own thread whenever IMAP IDLE + notifications are being received. + + + + + Blocks on a queue and wakes up whenever a new notification is put into the queue. The + notification is then examined and dispatched as an event. + + + + + Issues a NOOP command to the IMAP server. Called in the context of a System.Timer event + when IDLE notifications are being received. + + This is needed by the IMAP IDLE mechanism to give the server an indication that the + connection is still active. + + + + + Retrieves IMAP QUOTA information for the specified mailbox. + + The mailbox to retrieve QUOTA information for. If this parameter is + null, the value of the DefaultMailbox property is used to determine the mailbox to operate + on. + An enumerable collection of MailboxQuota objects describing usage and limits of the + quota roots for the mailbox. + The quota operation could not be completed. The + message property of the exception contains the error message returned by the + server. + The ImapClient object has been disposed. + There was a failure writing to or reading from the + network. + The IMAP4 QUOTA extension is not supported by + the server. + The method was called in non-authenticated + state, i.e. before logging in. + + + + Releases all resources used by the current instance of the ImapClient class. + + + + + Releases all resources used by the current instance of the ImapClient class, optionally + disposing of managed resource. + + true to dispose of managed resources, otherwise false. + + + + Asserts the instance has not been disposed of and is in a valid state. + + The ImapClient object has been + disposed. + The method was called in non-authenticated + state, i.e. before logging in. + + + + The default mailbox to operate on. + + The property is being set and the value is + null. + The property is being set and the value is the empty + string. + The default value for this property is "INBOX" which is a special name reserved + to mean "the primary mailbox for this user on this server". + + + + Determines whether the client is authenticated with the server. + + + + + The event that is raised when a new mail message has been received by the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a new message is received + // by the server. + Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage); + + // ......... + + Client.Dispose(); + + // ........ + + void OnNewMessage(object sender, IdleMessageEventArgs e) { + Console.WriteLine("Received a new message!"); + Console.WriteLine("Total number of messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when a message has been deleted on the server. + + To probe a server for IMAP IDLE support, the + method can be used, specifying "IDLE" for the capability parameter. + + Please note that the event handler will be executed on a threadpool thread. + + + This example demonstrates how to receive IMAP IDLE notifications. + + ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe", + "My_Password", true, AuthMethod.Login); + + // Make sure our server actually supports IMAP IDLE. + if(!Client.Supports("IDLE")) + throw new Exception("This server does not support IMAP IDLE"); + + // Our event handler will be called whenever a message is deleted on the server. + Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted); + + // ......... + + // Don't forget to dispose the client once you're done with it. + Client.Dispose(); + + // ........ + + void OnMessageDeleted(object sender, IdleMessageEventArgs e) { + Console.WriteLine("A mail message was deleted on the server!"); + Console.WriteLine("Total number of mail messages in the mailbox: " + + e.MessageCount); + } + + + + + + The event that is raised when an I/O exception occurs in the idle-thread. + + + An I/O exception can occur if the underlying network connection has been reset or the + server unexpectedly closed the connection. + + + + + A delegate which is invoked during a call to GetMessage or GetMessages for every MIME part in + a multipart mail message. The delegate can examine the MIME body part and decide to either + include it in the returned mail message or dismiss it. + + A MIME body part of a mail message which consists of multiple parts. + true to include the body part in the returned MailMessage object, or false to skip + it. + + + + The exception that is thrown when an unexpected response is received from the server. + + + + + Initializes a new instance of the BadServerResponseException class + + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the BadServerResponseException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the BadServerResponseException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when the supplied credentials were rejected by the server. + + + + + Initializes a new instance of the InvalidCredentialsException class + + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the InvalidCredentialsException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the InvalidCredentialsException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + The exception that is thrown when a client has not authenticated with the server and + attempts to call a method which can only be called when authenticated. + + + + + Initializes a new instance of the NotAuthenticatedException class + + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the NotAuthenticatedException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the NotAuthenticatedException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + Provides access to status information such as the total number of messages and quota + information for a mailbox. + + + The terms "mailbox" and "folder" can be used interchangeably and refer to the IMAP concept of + multiple server-side directories into which messages can be stored (such as "Inbox", + "Sent Items", "Trash", etc.). + + + + + Initializes a new instance of the MailboxInfo class with the specified values. + + The IMAP name of the mailbox. + The IMAP flags set on this mailbox. + The number of messages in the mailbox. + The number of unread messages in the mailbox. + The next unique identifier (UID) of the mailbox. + The amount of used storage of the mailbox, in bytes. + The amount of free storage of the mailbox, in bytes. + + + + Returns the name of the mailbox. + + The name of the mailbox + + + + The name of the mailbox. + + + + + An enumerable collection of flags set on the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + The next unique identifier value of the mailbox. + + + + + The amount of used storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of used storage, this property will be 0. + + + + + The amount of free storage in the mailbox, measured in bytes. + + Not all IMAP servers support the retrieval of quota information. If it is not + possible to retrieve the amount of free storage, this property will be 0. + + + + + Defines possible attributes for mailboxes. + + + + An IMAP mailbox can have a number of flags (read: attributes) set on it, indicating its + designated purpose (such as "Spam" or "Drafts"). + + + This is especially convenient when dealing with international mailbox names, because, by + examining the associated flags, the mailbox purpose can be determined, even if the mailbox + name provides no useful indication. + + + Unfortunately, as with many things IMAP, reporting the flags described here is an optional + extension (XLIST) to the IMAP protocol and as such may or may not be supported by an IMAP + server. + + + + + + The mailbox presents a view on all messages in the user's message store. + + + + + The mailbox is used to archive messages. The meaning of an "archival" mailbox is server + dependent. + + + + + The mailbox is used to hold draft messages, typically these are messages that are being + composed but have not yet been sent. + + + + + The mailbox is used to hold copies of messages that have been sent. + + + + + The mailbox is where messages deemed to be junk mail (spam) are held. + + + + + The mailbox is used to hold messages that have been deleted or marked for deletion. + + + + + Represents an IMAP QUOTA entry for a resource which typically consists of a resource name, + the current usage of the resource, and the resource limit. + + + + + Initializes a new instance of the MailboxQuota class with the specified values. + + The name of the resource this MailboxQuota instance describes. + The current usage of the resource in units of 1024 bytes. + The limit of the resource in units of 1024 bytes. + + + + The name of the resource this MailboxQuota instance describes. + + + + + The current usage of the resource this MailboxQuota instance describes, in bytes. + + + + + The limit of the resource this MailboxQuota instance describes, in bytes. + + + + + Represents the status information of a mailbox which can be constructed from the server + response to a STATUS command. + + + + + Initializes a new MailboxStatus instance with the specified number of total and unread + messages. + + The total number of messages in the mailbox. + The number of unread (unseen) messages in the mailbox. + The next unique identifier value of the mailbox + + + + The next unique identifier value of the mailbox. + + + + + The total number of messages in the mailbox. + + + + + The number of unread (unseen) messages in the mailbox. + + + + + Adds extension methods to the MailMessage class of the .NET Framework. + + + Most of the methods are only used internally and are not visible outside of the + S22.Imap assembly. + + + + + Returns the date and time the mail message was composed. + + The MailMessage instance to return the date and time for. + The date and time the mail message was composed, or null if the mail message + does not contain any date information. + + + + Constructs a textual representation of a mail message from the specified MailMessage + instance compliant with the RFC822 and MIME standards. + + The MailMessage instance to construct the textual representation + from. + An RFC822/MIME-compliant string representing the specified mail message. + The From property is null or has not been + properly initialized. + + + + Builds a RFC822/MIME-compliant mail header from the specified MailMessage instance and + returns it as a NameValueCollection. + + The MailMessage instance to build the header from. + A NameValueCollection representing the RFC822/MIME mail header fields. + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + priority values as defined in RFC2156. + + + + + A map for mapping the values of the MailPriority enumeration to their corresponding MIME + importance values as defined in RFC2156. + + + + + Takes a unicode string and encodes it using Q-encoding. + + The string to encode. + The input string encoded as Q-encoded string containing only ASCII + characters. + + + + Takes a unicode string and encodes it using Base64-encoding. + + The string to encode. + The input string encoded as Base64-encoded string containing only ASCII + characters. + + + + Creates an address string from the specified MailAddress instance in compliance with the + address specification as outlined in RFC2822 under section 3.4 + + The MailAddress instance to create the address string from. + An address string as is used in RFC822 mail headers. + + + + Generates a unique sequence of characters for indicating a boundary between parts in a + multipart message. + + A unique content boundary string. + + + + Builds an RFC822/MIME-compliant mail body from the specified MailMessage instance and + returns it as a formatted string. + + The MailMessage instance to build the mail body from. + The RFC822/MIME mail header to use for constructing the mail + body. + An RFC822/MIME-compliant mail body as a string. + According to RFC2822 each line of a mail message should at max be 78 characters in + length excluding carriage return and newline characters. This method accounts for that and + ensures line breaks are inserted to meet this requirement. + + + + Adds a body part to the specified Stringbuilder object composed from the Body and + BodyEncoding properties of the MailMessage class. + + The Stringbuilder to append the body part to. + The MailMessage instance to build the body part from. + The RFC822/MIME mail header to use for constructing the mail body. + Set to true to append body headers before adding the actual body + part content. + + + + Creates a MIME body part from an entry of the AlternateView or Attachments collection of a + MailMessage instance and appends it to the specified Stringbuilder instance. + + The Stringbuilder instance to append the body part to. + An entry from either the AlternateView or the Attachments collection of + a MailMessage instance. + + + + Creates a nested multipart/alternative part which contains all entries from the + AlternateViews collection of the specified MailMessage instance as well as the body part + for the Body and BodyEncoding properties of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose AlternateView collection will be added to the + nested multipart/alternative part. + The RFC822/MIME mail header to use for constructing the mail body. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + Creates a nested multipart/mixed part which contains all entries from the Attachments + collection of the specified MailMessage instance. + + The StringBuilder instance to append to. + The MailMessage instance whose Attachments collection will be added to the + nested multipart/mixed part. + This is used if the MailMessage instance contains both alternative views and + attachments. In this case the created RFC822/MIME mail message will contain nested body + parts. + + + + A helper class for reading mail message data and building a MailMessage instance out of it. + + + + + Creates a new empty instance of the MailMessage class from a string containing a raw mail + message header. + + The mail header to create the MailMessage instance from. + A MailMessage instance with initialized Header fields but without any + content. + + + + Creates a new instance of the MailMessage class from a string containing raw RFC822/MIME + mail message data. + + The mail message data to create the MailMessage instance from. + An initialized instance of the MailMessage class. + This is used when fetching entire messages instead of the partial-fetch mechanism + because it saves redundant round-trips to the server. + + + + Parses the mail header of a mail message and returns it as a NameValueCollection. + + The mail header to parse. + A NameValueCollection containing the header fields as keys with their respective + values as values. + + + + Strips RFC822/MIME comments from the specified string. + + The string to strip comments from. + A new string stripped of any comments. + + + + Parses a MIME header field which can contain multiple 'parameter = value' + pairs (such as Content-Type: text/html; charset=iso-8859-1). + + The header field to parse. + A NameValueCollection containing the parameter names as keys with the respective + parameter values as values. + The value of the actual field disregarding the 'parameter = value' pairs is stored + in the collection under the key "value" (in the above example of Content-Type, this would + be "text/html"). + + + + Parses a mail header address-list field such as To, Cc and Bcc which can contain multiple + email addresses. + + The address-list field to parse + An array of MailAddress objects representing the parsed mail addresses. + + + + Splits the specified address-list into individual parts consisting of a mail address and + optionally a display-name. + + The address-list to split into parts. + An enumerable collection of parts. + + + + Parses a mail message identifier from a string. + + The field to parse the message id from + The field argument does not contain a valid message + identifier. + The parsed message id. + A message identifier (msg-id) is a globally unique identifier for a + message. + + + + Parses the priority of a mail message which can be specified as part of the header + information. + + The mail header priority value. The value can be null in which case + a "normal priority" is returned. + A value from the MailPriority enumeration corresponding to the specified mail + priority. If the passed priority value is null or invalid, a normal priority is assumed and + MailPriority.Normal is returned. + + + + Sets the address fields (From, To, CC, etc.) of a MailMessage object using the specified + mail message header information. + + The MailMessage instance to operate on. + A collection of mail and MIME headers. + + + + Adds a body part to an existing MailMessage instance. + + Extension method for the MailMessage class. + The body part to add to the MailMessage instance. + The content of the body part. + + + + Creates an instance of the Attachment class used by the MailMessage class to store mail + message attachments. + + The MIME body part to create the attachment from. + An array of bytes composing the content of the attachment. + An initialized instance of the Attachment class. + + + + Creates an instance of the AlternateView class used by the MailMessage class to store + alternate views of the mail message's content. + + The MIME body part to create the alternate view from. + An array of bytes composing the content of the alternate view. + An initialized instance of the AlternateView class. + + + + Parses the body part of a MIME/RFC822 mail message. + + The body of the mail message. + The header of the mail message whose body will be parsed. + An array of initialized MIMEPart instances representing the body parts of the mail + message. + + + + Parses the body of a multipart MIME mail message. + + An instance of the StringReader class initialized with a string + containing the body of the mail message. + The boundary value as is present as part of the Content-Type header + field in multipart mail messages. + An array of initialized MIMEPart instances representing the various parts of the + MIME mail message. + + + + Glue method to create a bodypart from a MIMEPart instance. + + The MIMEPart instance to create the bodypart instance from. + An initialized instance of the Bodypart class. + + + + Defines possible attributes for mail messages on an IMAP server. + + + + + Indicates that the message has been read. + + + + + Indicates that the message has been answered. + + + + + Indicates that the message is "flagged" for urgent/special attention. + + + + + Indicates that the message has been marked as "deleted" and will be removed upon the next + call to the Expunge method. + + + + + Indicates that the message has not completed composition and is marked as a draft. + + + + + Indicates that the message has recently arrived in the mailbox. + + + + + Represents a part of a MIME multi-part message. Each part consists of its own content header + and a content body. + + + + + A collection containing the content header information as key-value pairs. + + + + + A string containing the content body of the part. + + + + + A thread-safe Queue. + + + + + Adds an object to the end of the queue. + + The object to add to the queue. + + + + Removes and returns the object at the beginning of the queue. If the queue is empty, the + method blocks the calling thread until an object is put into the queue by another thread. + + The object that was removed from the beginning of the queue. + + + + Adds extension methods to the BinaryReader class to simplify the + deserialization of NTLM messages. + + + + + Reads an ASCII-string of the specified length from this instance. + + Extension method for the BinaryReader class. + The number of bytes to read from the underlying + stream. + A string decoded from the bytes read from the underlying + stream using the ASCII character set. + + + + The NTLM flags which are contained in a bitfield within the header of + an NTLM message. + + + + + Indicates that Unicode strings are supported for use in security + buffer data. + + + + + Indicates that OEM strings are supported for use in security + buffer data. + + + + + Requests that the server's authentication realm be included in + the Type 2 message. + + + + + Specifies that authenticated communication between the client and + server should carry a digital signature (message integrity). + + + + + Specifies that authenticated communication between the client and + server should be encrypted (message confidentiality). + + + + + Indicates that datagram authentication is being used. + + + + + Indicates that the Lan Manager Session Key should be used for signing + and sealing authenticated communications. + + + + + This flag's usage has not been identified. + + + + + Indicates that NTLM authentication is being used. + + + + + Sent by the client in the Type 3 message to indicate that an anonymous + context has been established. This also affects the response fields. + + + + + Sent by the client in the Type 1 message to indicate that the name of + the domain in which the client workstation has membership is included + in the message. This is used by the server to determine whether the + client is eligible for local authentication. + + + + + Sent by the client in the Type 1 message to indicate that the client + workstation's name is included in the message. This is used by the + server to determine whether the client is eligible for local + authentication. + + + + + Sent by the server to indicate that the server and client are on the + same machine. Implies that the client may use the established local + credentials for authentication instead of calculating a response to + the challenge. + + + + + Indicates that authenticated communication between the client and + server should be signed with a "dummy" signature. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a domain. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a server. + + + + + Sent by the server in the Type 2 message to indicate that the target + authentication realm is a share. Presumably, this is for share-level + authentication. Usage is unclear. + + + + + Indicates that the NTLM2 signing and sealing scheme should be used for + protecting authenticated communications. Note that this refers to a + particular session security scheme, and is not related to the use of + NTLMv2 authentication. This flag can, however, have an effect on the + response calculations. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + This flag's usage has not been identified. + + + + + Sent by the server in the Type 2 message to indicate that it is including + a Target Information block in the message. The Target Information block + is used in the calculation of the NTLMv2 response. + + + + + Indicates that 128-bit encryption is supported. + + + + + Indicates that the client will provide an encrypted master key in the + "Session Key" field of the Type 3 message. + + + + + Indicates that 56-bit encryption is supported. + + + + + Represents the data contained in the target information block of an + NTLM type 2 message. + + + + + The server name. + + + + + The domain name. + + + + + The fully-qualified DNS host name. + + + + + The fully-qualified DNS domain name. + + + + + Describes the different versions of the Type 2 message that have + been observed. + + + + + The version is unknown. + + + + + This form is seen in older Win9x-based systems. + + + + + This form is seen in most out-of-box shipping versions of Windows. + + + + + This form was introduced in a relatively recent Service Pack, and + is seen on currently-patched versions of Windows 2000, Windows XP, + and Windows 2003. + + + + + Indicates the type of data in Type 2 target information blocks. + + + + + Signals the end of the target information block. + + + + + The data in the information block contains the server name. + + + + + The data in the information block contains the domain name. + + + + + The data in the information block contains the DNS hostname. + + + + + The data in the information block contans the DNS domain name. + + + + + Computes the MD4 hash value for the input data. + Courtesy of Keith Wood. + + + + + Describes the different types of NTLM messages. + + + + + An NTLM type 1 message is the initial client response to the + server. + + + + + An NTLM type 2 message is the challenge sent by the server in + response to an NTLM type 1 message. + + + + + An NTLM type 3 message is the challenge response sent by the client + in response to an NTLM type 2 message. + + + + + Indicates the version and build number of the operating system. + + + + + Default constructor. + + + + + Creates a new instance of the OSVersion class using the specified + values. + + The major version of the operating + system. + The minor version of the operating + system. + The build number of the operating systen. + + + + Serializes this instance of the OSVersion class to an array of + bytes. + + An array of bytes representing this instance of the OSVersion + class. + + + + The major version number of the operating system. + + + + + The minor version number of the operating system. + + + + + The build number of the operating system. + + + + + Contains methods for calculating the various Type 3 challenge + responses. + + + + + Computes the LM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLM-response to the challenge sent as part of an + NTLM type 2 message. + + The challenge sent by the server. + The user account password. + An array of bytes representing the response to the + specified challenge. + + + + Computes the NTLMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account name to authenticate with. + The user account password. + The target information block from + the NTLM type 2 message. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Computes the LMv2-response to the challenge sent as part of an + NTLM type 2 message. + + The name of the authentication target. + The user account to authenticate with. + The user account password. + The challenge sent by the server. + A random 8-byte client nonce. + An array of bytes representing the response to the + specified challenge. + + + + Creates the LM Hash of the specified password. + + The password to create the LM Hash of. + The LM Hash of the given password, used in the calculation + of the LM Response. + Thrown if the password argument + is null. + + + + Creates a DES encryption key from the specified key material. + + The key material to create the DES encryption + key from. + An offset into the byte array at which to + extract the key material from. + A 56-bit DES encryption key as an array of bytes. + + + + Applies odd parity to the specified byte array. + + The byte array to apply odd parity to. + A reference to the byte array. + + + + Creates the LM Response from the specified hash and Type 2 challenge. + + An LM or NTLM hash. + The server challenge from the Type 2 + message. + The challenge response as an array of bytes. + Thrown if the hash or the + challenge parameter is null. + + + + Creates the NTLM Hash of the specified password. + + The password to create the NTLM hash of. + The NTLM hash for the specified password. + Thrown if the password + parameter is null. + + + + Creates the NTLMv2 Hash of the specified target, username + and password values. + + The name of the authentication target as is + specified in the target name field of the NTLM type 3 message. + The user account name. + The password for the user account. + The NTLMv2 hash for the specified input values. + Thrown if the username or + the password parameter is null. + + + + Returns the current time as the number of tenths of a microsecond + since January 1, 1601. + + The current time as the number of tenths of a microsecond + since January 1, 1601. + + + + Creates the "blob" data block which is part of the NTLMv2 challenge + response. + + The target information block from + the NTLM type 2 message. + A random 8-byte client nonce. + The blob, used in the calculation of the NTLMv2 Response. + + + + Creates the LMv2 Response from the given NTLMv2 hash, client data, and + Type 2 challenge. + + The NTLMv2 Hash. + The client data (blob or client nonce). + The server challenge from the Type 2 message. + The response which is either for NTLMv2 or LMv2, depending + on the client data. + + + + Represents an NTLM security buffer, which is a structure used to point + to a buffer of binary data within an NTLM message. + + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The length of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length value exceeds + the maximum value allowed. The security buffer structure stores the + length value as a 2-byte short value. + + + + Creates a new instance of the SecurityBuffer class using the specified + values. + + The data of the buffer described by this instance + of the SecurityBuffer class. + The offset at which the buffer starts, in bytes. + Thrown if the length of the data + buffer exceeds the maximum value allowed. The security buffer structure + stores the buffer length value as a 2-byte short value. + + + + Serializes this instance of the SecurityBuffer into an array of bytes. + + A byte array representing this instance of the SecurityBuffer + class. + + + + The length of the buffer content in bytes (may be zero). + + + + + The allocated space for the buffer in bytes (typically the same as + the length). + + + + + The offset from the beginning of the NTLM message to the start of + the buffer, in bytes. + + + + + Represents an NTLM Type 1 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 1 for an NTLM Type 1 message. + + + + + Creates a new instance of the Type1Message class using the specified + domain and workstation names. + + The domain in which the client's workstation has + membership. + The client's workstation name. + Thrown if the domain or the + workstation parameter is null. + Thrown if the domain + or the workstation name exceeds the maximum allowed string + length. + The domain as well as the workstation name is restricted + to ASCII characters and must not be longer than 65536 characters. + + + + + Serializes this instance of the Type1 class to an array of bytes. + + An array of bytes representing this instance of the Type1 + class. + + + + The NTLM flags set on this instance. + + + + + The supplied domain name as an array of bytes in the ASCII + range. + + + + + The offset within the message where the domain name data starts. + + + + + The supplied workstation name as an array of bytes in the + ASCII range. + + + + + The offset within the message where the workstation name data starts. + + + + + The length of the supplied workstation name as a 16-bit short value. + + + + + Contains information about the client's OS version. + + + + + Represents an NTLM Type 2 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 2 for an NTLM Type 2 message. + + + + + Private constructor. + + + + + Deserializes a Type 2 message instance from the specified buffer + of bytes. + + The buffer containing a sequence of bytes + representing an NTLM Type 2 message. + An initialized instance of the Type2 class. + Thrown if an error occurs + during deserialization of the Type 2 message. + + + + Determines the version of an NTLM type 2 message. + + The target offset field of the NTLM + type 2 message. + A value from the Type2Version enumeration. + + + + Reads the OS information data present in version 3 of an NTLM + type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the OSVersion class. + + + + Reads the target information data present in version 2 and 3 of + an NTLM type 2 message from the specified BinaryReader. + + The BinaryReader instance to read from. + An initialized instance of the Type2TargetInformation + class. + + + + Retrieves the target name from the specified byte array. + + A byte array containing the target name. + If true the target name will be decoded + using UTF-16 unicode encoding. + + + + + The challenge is an 8-byte block of random data. + + + + + The target name of the authentication target. + + + + + The NTLM flags set on this message. + + + + + The SSPI context handle when a local call is being made, + otherwise null. + + + + + Contains the data present in the OS version structure. + + + + + The version of this Type 2 message instance. + + + + + Contains the data present in the target information block. + + + + + Contains the raw data present in the target information block. + + + + + Represents an NTLM Type 3 Message. + + + + + The NTLM message signature which is always "NTLMSSP". + + + + + The NTML message type which is always 3 for an NTLM Type 3 message. + + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. All security buffers will + be encoded as Unicode. + + + + Creates a new instance of an NTLM type 3 message using the specified + values. + + The Windows account name to use for + authentication. + The Windows account password to use for + authentication. + The challenge received from the server as part + of the NTLM type 2 message. + Set this to true, if Unicode encoding has been + negotiated between client and server. + The client's workstation name. + Set to true to send an NTLMv2 challenge + response. + The authentication realm in which the + authenticating account has membership. + The target information block from + the NTLM type 2 message. + The target name is a domain name for domain accounts, or + a server name for local machine accounts. + Thrown if the username, password + or challenge parameters are null. + + + + Serializes this instance of the Type3 class to an array of bytes. + + An array of bytes representing this instance of the Type3 + class. + + + + Returns a random 8-byte cnonce value. + + A random 8-byte cnonce value. + + + + The NTLM flags set on this instance. + + + + + The "Lan Manager" challenge response. + + + + + The offset at which the LM challenge response data starts. + + + + + The NTLM challenge response. + + + + + The offset at which the NTLM challenge response data starts. + + + + + The authentication realm in which the authenticating account + has membership. + + + + + The offset at which the target name data starts. + + + + + The authenticating account name. + + + + + The offset at which the username data starts. + + + + + The client workstation's name. + + + + + The offset at which the client workstation's name data starts. + + + + + The session key value which is used by the session security mechanism + during key exchange. + + + + + The offset at which the session key data starts. + + + + + Contains the data present in the OS version structure. + + + + + The encoding used for transmitting the contents of the various + security buffers. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2195. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslCramMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Cram-Md5 challenge. + + The challenge sent by the server + The response to the Cram-Md5 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Cram-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl Cram-Md5 authentication method as described in + RFC 2831. + + + + + The client nonce value used during authentication. + + + + + Cram-Md5 involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Internal constructor used for unit testing. + + The username to authenticate with. + The plaintext password to authenticate + with. + The client nonce value to use. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Creates and initializes a new instance of the SaslDigestMd5 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified Digest-Md5 challenge. + + The challenge sent by the server + The response to the Digest-Md5 challenge. + Thrown if the response could not + be computed. + + + + Parses the challenge string sent by the server in response to a Digest-Md5 + authentication request. + + The challenge sent by the server as part of + "Step One" of the Digest-Md5 authentication mechanism. + An initialized NameValueCollection instance made up of the + attribute/value pairs contained in the challenge. + Thrown if the challenge parameter + is null. + Refer to RFC 2831 section 2.1.1 for a detailed description of the + format of the challenge sent by the server. + + + + Computes the "response-value" hex-string which is part of the + Digest-MD5 challenge-response. + + A collection containing the attributes + and values of the challenge sent by the server. + The cnonce value to use for computing + the response-value. + The "digest-uri" string to use for + computing the response-value. + The username to use for computing the + response-value. + The password to use for computing the + response-value. + A string containing a hash-value which is part of the + response sent by the client. + Refer to RFC 2831, section 2.1.2.1 for a detailed + description of the computation of the response-value. + + + + Calculates the MD5 hash value for the specified string. + + The string to calculate the MD5 hash value for. + The encoding to employ for encoding the + characters in the specified string into a sequence of bytes for + which the MD5 hash will be calculated. + An MD5 hash as a 32-character hex-string. + Thrown if the input string + is null. + + + + Encloses the specified string in double-quotes. + + The string to enclose in double-quote characters. + The enclosed string. + + + + Generates a random cnonce-value which is a "client-specified data string + which must be different each time a digest-response is sent". + + A random "cnonce-value" string. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Digest-Md5 authentication mechanism as described + in RFC 2195. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLM authentication method which is used in various + Microsoft network protocol implementations. + + Implemented with the help of the excellent documentation on + NTLM composed by Eric Glass. + + + + NTLM involves several steps. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlm class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an NTLM challenge. + + The challenge sent by the server. Since + NTLM expects an initial client response, this will usually be + empty. + The initial response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the NTLM authentication mechanism. + + + + + The username to authenticate with. + + + + + The password to authenticate with. + + + + + Implements the Sasl NTLMv2 authentication method which addresses + some of the security issues present in NTLM version 1. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslNtlmv2 class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response to the specified NTLM challenge. + + The challenge sent by the server + The response to the NTLM challenge. + Thrown if the response could not + be computed. + + + + Computes the actual challenge response to an NTLM challenge + which is sent as part of an NTLM type 2 message. + + The challenge sent by the server. + The response to the NTLM challenge. + Thrown if the challenge + response could not be computed. + + + + Implements the Sasl OAuth authentication method. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + Thrown if the accessToken + parameter is null. + Thrown if the accessToken + parameter is empty. + + + + Computes the client response for a OAuth challenge. + + The challenge sent by the server. + The response to the OAuth challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth authentication mechanism. + + + + + The access token to authenticate with. + + + + + Implements the Sasl OAuth 2.0 authentication method. + + + + + The server sends an error response in case authentication fails + which must be acknowledged. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslOAuth class + using the specified username and password. + + The username to authenticate with. + The username to authenticate with. + Thrown if the username + or the accessToken parameter is null. + Thrown if the username or + the accessToken parameter is empty. + + + + Computes the client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + Computes the initial client response to an XOAUTH2 challenge. + + The challenge sent by the server. + The response to the OAuth2 challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the OAuth 2.0 authentication mechanism. + + + + + The username to authenticate with. + + + + + The access token to authenticate with. + + + + + Implements the Sasl Plain authentication method as described in + RFC 4616. + + + + + Private constructor for use with Sasl.SaslFactory. + + + + + Creates and initializes a new instance of the SaslPlain class + using the specified username and password. + + The username to authenticate with. + The plaintext password to authenticate + with. + Thrown if the username + or the password parameter is null. + Thrown if the username + parameter is empty. + + + + Computes the client response for a plain-challenge. + + The challenge sent by the server. For the + "plain" mechanism this will usually be empty. + The response for the "plain"-challenge. + Thrown if the response could not + be computed. + + + + True if the authentication exchange between client and server + has been completed. + + + + + The IANA name for the Plain authentication mechanism as described + in RFC 4616. + + + + + The username to authenticate with. + + + + + The plain-text password to authenticate with. + + + + + The exception is thrown when a Sasl-related error or unexpected condition occurs. + + + + + Initializes a new instance of the SaslException class + + + + + Initializes a new instance of the SaslException class with its message + string set to . + + A description of the error. The content of message is intended + to be understood by humans. + + + + Initializes a new instance of the SaslException class with its message + string set to and a reference to the inner exception that + is the cause of this exception. + + A description of the error. The content of message is intended + to be understood by humans. + The exception that is the cause of the current exception. + + + + Initializes a new instance of the SaslException class with the specified + serialization and context information. + + An object that holds the serialized object data about the exception + being thrown. + An object that contains contextual information about the source + or destination. + + + + A factory class for producing instances of Sasl mechanisms. + + + + + Creates an instance of the Sasl mechanism with the specified + name. + + The name of the Sasl mechanism of which an + instance will be created. + An instance of the Sasl mechanism with the specified name. + Thrown if the name parameter + is null. + Thrown if the Sasl mechanism with the + specified name is not registered with Sasl.SaslFactory. + + + + Registers a Sasl mechanism with the factory using the specified name. + + The name with which to register the Sasl mechanism + with the factory class. + The type of the class implementing the Sasl mechanism. + The implementing class must be a subclass of Sasl.SaslMechanism. + Thrown if the name or the t + parameter is null. + Thrown if the class represented + by the specified type does not derive from Sasl.SaslMechanism. + Thrown if the Sasl mechanism could not + be registered with the factory. Refer to the inner exception for error + details. + + + + Static class constructor. Initializes static properties. + + + + + A dictionary of Sasl mechanisms registered with the factory class. + + + + + Represents chainable search conditions that can be used with the Search method. + + + + + Finds all messages in the mailbox. + + A SearchCondition object representing the "all" search criterion. + + + + Finds messages that contain the specified string in the header or body of the message. + + String to search messages for. + A SearchCondition object representing the "text" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's BCC field. + + String to search the envelope structure's BCC field for. + A SearchCondition object representing the "BCC" search criterion. + The text parameter is null. + + + + Finds messages whose internal date (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the message's internal date with. + A SearchCondition object representing the "Before" search criterion. + + + + Finds messages that contain the specified string in the body of the message. + + String to search the message body for. + A SearchCondition object representing the "Body" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's CC field. + + String to search the envelope structure's CC field for. + A SearchCondition object representing the "CC" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's FROM field. + + String to search the envelope structure's FROM field for. + A SearchCondition object representing the "FROM" search criterion. + The text parameter is null. + + + + Finds messages that have a header with the specified field-name and that contains the + specified string in the text of the header. + + field-name of the header to search for. + String to search for in the text of the header. + A SearchCondition object representing the "HEADER" search criterion. + + If the string to search is zero-length, this matches all messages that have a header line + with the specified field-name regardless of the contents. + + The name parameter or the text parameter is + null. + + + + Finds messages with the specified keyword flag set. + + The keyword flag to search for. + A SearchCondition object representing the "KEYWORD" search criterion. + The text parameter is null. + + + + Finds messages with a size larger than the specified number of bytes. + + Minimum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "LARGER" search criterion. + + + + Finds messages with a size smaller than the specified number of bytes. + + Maximum size, in bytes a message must have to be included in the search + result. + A SearchCondition object representing the "SMALLER" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is earlier than the + specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTBEFORE" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within the specified + date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTON" search criterion. + + + + Finds messages whose Date: header (disregarding time and timezone) is within or later than + the specified date. + + The date to compare the Date: header field with. + A SearchCondition object representing the "SENTSINCE" search criterion. + + + + Finds messages that contain the specified string in the envelope structure's SUBJECT field. + + String to search the envelope structure's SUBJECT field for. + A SearchCondition object representing the "SUBJECT" search criterion. + The text parameter is null. + + + + Finds messages that contain the specified string in the envelope structure's TO field. + + String to search the envelope structure's TO field for. + A SearchCondition object representing the "TO" search criterion. + The text parameter is null. + + + + Finds messages with unique identifiers corresponding to the specified unique identifier set. + + One or several unique identifiers (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages with a unique identifier greater than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + Because of the nature of the IMAP search mechanism, the result set will always contain the + UID of the last message in the mailbox, even if said UID is smaller than the UID specified. + + + + + Finds messages with a unique identifier less than the specified unique identifier. + + A unique identifier (UID). + A SearchCondition object representing the "UID" search criterion. + + + + Finds messages that do not have the specified keyword flag set. + + The IMAP keyword flag to search for. + A SearchCondition object representing the "UNKEYWORD" search criterion. + The text parameter is null. + + + + Finds messages that have the \Answered flag set. + + A SearchCondition object representing the "ANSWERED" search criterion. + + + + Finds messages that have the \Deleted flag set. + + A SearchCondition object representing the "DELETED" search criterion. + + + + Finds messages that have the \Draft flag set. + + A SearchCondition object representing the "DRAFT" search criterion. + + + + Finds messages that have the \Flagged flag set. + + A SearchCondition object representing the "FLAGGED" search criterion. + + + + Finds messages that have the \Recent flag set but not the \Seen flag. + + A SearchCondition object representing the "NEW" search criterion. + + + + Finds messages that do not have the \Recent flag set. + + A SearchCondition object representing the "OLD" search criterion. + + + + Finds messages that have the \Recent flag set. + + A SearchCondition object representing the "RECENT" search criterion. + + + + Finds messages that have the \Seen flag set. + + A SearchCondition object representing the "SEEN" search criterion. + + + + Finds messages that do not have the \Answered flag set. + + A SearchCondition object representing the "UNANSWERED" search criterion. + + + + Finds messages that do not have the \Deleted flag set. + + A SearchCondition object representing the "UNDELETED" search criterion. + + + + Finds messages that do not have the \Draft flag set. + + A SearchCondition object representing the "UNDRAFT" search criterion. + + + + Finds messages that do not have the \Flagged flag set. + + A SearchCondition object representing the "UNFLAGGED" search criterion. + + + + Finds messages that do not have the \Seen flag set. + + A SearchCondition object representing the "UNSEEN" search criterion. + + + + Logically ANDs multiple search conditions, meaning a message will only be included in the + search result if both of the ANDed conditions are met. + + A search condition to logically AND this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically negates search conditions, meaning a message will only be included in the search + result if the specified conditions are not met. + + A search condition that must not be met by a message for it to be + included in the search result set. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Logically ORs multiple search conditions, meaning a message will be included in the search + result if it meets at least either of the conditions. + + A search condition to logically OR this SearchCondition instance + with. + A new SearchCondition instance which can be further chained with other search + conditions. + The other parameter is null. + + + + Joins two SearchCondition objects into a new one using the specified logical operator. + + The logical operator to use for joining the search conditions. + Possible values are "OR", "NOT" and the empty string "" which denotes a logical AND. + The first SearchCondition object + The second SearchCondition object + A new SearchCondition object representing the two search conditions joined by the + specified logical operator. + + + + Concatenates the members of a collection, using the specified separator between each + member. + + The type of the members of values. + The string to use as a separator. + A collection that contains the objects to concatenate. + A string that consists of the members of values delimited by the separator + string. If values has no members, the method returns System.String.Empty. + The values parameter is null. + This is already part of the String class in .NET 4.0 and newer but is needed + for backwards compatibility with .NET 3.5. + + + + Constructs a string from the SearchCondition object using the proper syntax as is required + for the IMAP SEARCH command. + + A string representing this SearchCondition instance that can be used with the IMAP + SEARCH command. + + + + The search keys which can be used with the IMAP SEARCH command, as are defined in section + 6.4.4 of RFC 3501. + + + + + A static utility class containing methods for decoding encoded non-ASCII data as well as + extension methods for some classes of the base class library. + + + + + Returns a copy of the string enclosed in double-quotes and with escaped CRLF, back-slash + and double-quote characters (as is expected by some commands of the IMAP protocol). + + Extends the System.String class + A copy of the string enclosed in double-quotes and properly escaped as is required + by the IMAP protocol. + + + + Returns true if the string contains only ASCII characters. + + Extension method for the String class. + true if the string contains only ASCII characters; Otherwise false. + + + + Splits a string into chunks of the specified number of characters. + + Extension method for the String class. + The length of a chunk, measured in characters. + An array of string chunks. + + + + Determines whether the specified string occurs within this string. + + Extension method for the String class. + The string to seek. + One of the enumeration values that specifies the rules for the + search. + true if the value parameter occurs within this string, or if value is the empty + string (""); otherwise, false. + The value parameter is null. + + + + Raises the event. Ensures the event is only raised, if it is not null. + + Extends System.EventHandler class. + Extends System.EventHandler class. + The sender of the event. + The event arguments associated with this event. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + The name to use when throwing an exception, if necessary. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given data item is null. + + The item to check for nullity. + Courtesy of Jon Skeet. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + + + + Throws an ArgumentNullException if the given string is null or throws an ArgumentException + if the given string is empty. + + The string to check for nullity and emptiness. + The name to use when throwing an exception, if necessary. + + + + Reads an unsigned short value from the underlying stream, optionally using big-endian byte + ordering. + + Extension method for BinaryReader. + Set to true to interpret the short value as big endian value. + The 16-byte unsigned short value read from the underlying stream. + + + + Decodes a string composed of one or several MIME 'encoded-words'. + + A string to composed of one or several MIME 'encoded-words'. + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A concatenation of all enconded-words in the passed string + + + + Internal function reuse to add separation between multiple 'encoded-word's correctly. + + + + + The regular expression for matching encoded-words. This also accounts for the extension for + including language information (as defined in RFC2231). + + + + + Decodes a MIME 'encoded-word' string. + + The encoded word to decode + An unknown encoding (other than Q-Encoding or Base64) is + encountered. + A decoded string + MIME encoded-word syntax is a way to encode strings that contain non-ASCII data. + Commonly used encodings for the encoded-word sytax are Q-Encoding and Base64. For an + in-depth description, refer to RFC 2047. + + + + Takes a Q-encoded string and decodes it using the specified encoding. + + The Q-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid Q-encoded string. + The Q-decoded string. + + + + Takes a quoted-printable encoded string and decodes it using the specified encoding. + + The quoted-printable-encoded string to decode. + The encoding to use for encoding the returned string. + The string is not a valid quoted-printable encoded + string. + A quoted-printable decoded string. + + + + Decodes the specified MIME parameter value. + + The MIME parameter value to decode. + The decoded MIME parameter value. + The specified value is not a valid Rfc2231-encoded + string. + Refer to RFC2231 for the details of the encoding mechanism. + + + + Takes a Base64-encoded string and decodes it. + + The Base64-encoded string to decode. + A byte array containing the Base64-decoded bytes of the input string. + The value parameter is null. + The length of value, ignoring white-space + characters, is not zero or a multiple of 4, or the format of value is invalid, or the value + contains a non-base-64 character, more than two padding characters, or a non-white + space-character among the padding characters. + + + + Takes a UTF-16 encoded string and encodes it as modified UTF-7. + + The string to encode. + A UTF-7 encoded string + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + Takes a modified UTF-7 encoded string and decodes it. + + The UTF-7 encoded string to decode. + A UTF-16 encoded "standard" C# string + The input string is not a properly UTF-7 encoded + string. + IMAP uses a modified version of UTF-7 for encoding international mailbox names. For + details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention). + + + + This just wraps Encoding.GetEncoding in a try-catch block to ensure it never fails. If the + encoding can not be determined ASCII is returned as a default. + + The code page name of the preferred encoding. Any value returned by + System.Text.Encoding.WebName is a valid input. + The System.Text.Encoding associated with the specified code page or Encoding.ASCII + if the specified code page could not be resolved. + + + + Converts the specified enumerable collection of UIDs into an IMAP sequence-set. + + An enumerable collection of UIDs. + An IMAP sequence-set suitable for use with IMAP commands. + The uids parameter is null. + The specified collection of UIDs is empty. + Refer to RFC3501, 9.Formal Syntax "sequence-set" for a description of IMAP + sequence-sets. + + + diff --git a/App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.dll b/App/packages/S22.Imap.3.6.0.0/lib/net40/S22.Imap.dll new file mode 100644 index 0000000000000000000000000000000000000000..278607803aba7a9b435eb772b95e5b0575b6ddf1 GIT binary patch literal 132096 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