给你一个代码吧:
public String[] getpart(int i){
        int            m  = 0              ;
        String[] partname = null           ;
        Multipart      mp = null           ;
        Part         part = null           ;
        File     filename = null           ;
        String    strname = ""             ;
        File     filepath = null           ;
        String disposition= null           ;
        FileOutputStream myFileoutputstream=null;
    try{
           folder.open(Folder.READ_WRITE);//READ_ONLY为打开方式
   message=folder.getMessages();
           int count=folder.getMessages().length;
           Object out_content = message[i].getContent();
           if (!(out_content instanceof Multipart)){//不是复合邮件体,既是带附件。
              partname = new String[0];
              return partname;
           }
           mp = (Multipart)out_content;
            m = mp.getCount();
          if (ispart(i)){
                partname = new String[m-1];
            }else{
                partname = new String[0];
            }
      }catch(Exception e){
              System.out.println("取得forder和邮件体时异常:"+e.toString());
      }            //partname = new String[m-1];
            for (int j=0;j<m;j++){
                 System.out.println("***"+m+"***");
             try{
                   part = mp.getBodyPart(j);
                   disposition = part.getDisposition();
                }catch(Exception e){
                   System.out.println("adsfa="+e.toString());
                }
                     System.out.println("disposition444="+disposition);
                    if ((disposition != null) && ((disposition.equalsIgnoreCase(part.ATTACHMENT)) || (disposition.equalsIgnoreCase(part.INLINE))))//假如有附件就执行如下代码
                      {
                        if(getISOFileName(part)!=null){
                              System.out.println("vvv444555667788="+getISOFileName(part));
                              try{
                                        //以下代码将获得的附件保存到当前目录下,以part.getFileName()为文件名,也既是附件的名称。
                                        System.out.println("defaultencoding="+MimeUtility.getDefaultJavaCharset());
                                        // strname=MimeUtility.decodeText(getISOFileName(part));
                                        strname= new String(getISOFileName(part).getBytes("ISO-8859-1"),"gb2312");
                                        //strname= new String(UtoC(getISOFileName(part)));
                                        System.out.println("dddddddddddddddd="+strname);
                                        //System.out.println("======strname0="+strname0+"strname1="+strname1);
                                        System.out.println("======"+m_uploadpath+gettime());
                                        String  sep=System.getProperty("file.separator");
                                        filepath=new File(m_uploadpath+gettime()+sep);
                                        boolean is= filepath.mkdir();
                                        System.out.println("is="+is);
                                        if (filepath.exists()){
                                              filename = new File(filepath,strname);
                                        }
                                        partname[j-1]=filename.toString();
                                        System.out.println("filename="+filename);
                                }catch(Exception e){
                                    System.out.println("异常:"+e.toString());
                                }
                                try{
                                        myFileoutputstream= new FileOutputStream(filename);
                                  }catch(FileNotFoundException fe){
                                    try{
                                           if (filepath.exists()){
                                                  filename = new File(filepath,MimeUtility.decodeText(getISOFileName(part)));
                                            }
                                            partname[j-1]=filename.toString();
                                            System.out.println("filename22222="+filename);
                                            myFileoutputstream= new FileOutputStream(filename);
                                            //System.out.println("e="+fe.toString());
                                        }catch(Exception e){
                                              System.out.println("重新生成文件:"+e.toString());
                                        }
                                  }
                          try{
                                   int chunk = part.getSize();//获得附件的大小,不一定很准确。
                                   System.out.println("chunk=="+chunk);
                                   byte [] buffer = new byte[chunk];
                                   InputStream instream = part.getInputStream();
                                   instream.read(buffer,0,chunk);
                                   myFileoutputstream.write(buffer,0,chunk);
                                   instream.close();
                                   myFileoutputstream.close();
                               }catch(Exception e){
                                    setInfo("取得附件时异常:"+e.toString());
                                    System.out.println("取得附件时异常:"+e.toString());
                              }
                     }
                 }        }     return partname;
  }这是我处理附件是用到的。
看看对你有帮助吗?

解决方案 »

  1.   

    很感谢你的回复,但是你的这段代码并没有涉及到我的问题,而是避开了我的问题,这里有一个测试邮件,你可以看看:x-sender: [email protected]
    x-receiver: [email protected]
    Received: from a ([172.16.75.77]) by a.test.com with Microsoft SMTPSVC(6.0.2600.28);
     Mon, 30 Sep 2002 14:26:16 +0800
    From: "tester" <[email protected]>
    To: <[email protected]>
    Subject: 测试
    Date: Mon, 30 Sep 2002 14:26:16 +0800
    Message-ID: <[email protected]>
    X-Priority: 3 (Normal)
    X-MSMail-Priority: Normal
    X-Mailer: Microsoft Outlook, Build 10.0.2627
    Importance: Normal
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
    Return-Path: [email protected]
    X-OriginalArrivalTime: 30 Sep 2002 06:26:16.0066 (UTC) FILETIME=[47C38620:01C2684A]这是一个测试邮件
    begin 666 winnt.jpg
    M_]C_X `02D9)1@`!`@(```````#__@`>04-$(%-Y<W1E;7,@1&EG:71A;"!)
    M;6%G:6YG`/_ `!$(`*X!$P,!(@`"$0$#$0'_VP"$``<$!08%! <&!08'!P<(
    M"A$+"@D)"A4/$ P1&18:&A@6&!@<'R@B'!TF'A@8(R\C)BDJ+2TM&R$Q-#$K
    M-"@L+2L!"PL+#PT/'A$1'D K)"M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 
    M0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0/_$`*<``0`"`P$!`0$`````````
    M```&!P0%" ,!`@D0``$#`P(#! <#!@P$!P````$"`P0`!1$&(0<2,0@305$4
    M(F%Q@9&A%3*Q%B,S0E+A%S<X<G2"DK*SP='P8G:B\39#4V-UPM(!`0`#`0$!
    M`0`````````````#! 4"!@$'$0$``@(!`@4#! ,!`````````0(#$00%(1(3
    M,4%1(C*187&!H09"4K'_V@`,`P$``A$#$0`_`.;:4I0*4I0*4I0*4I0*4I0*
    M4I0*4I095HMLF[7!J%!1SO.G"03@59VF>"BI'(N^7+NP=RU&3D_VCT^1K4\"
    M[89%[D3E)]1AOD2<;<Q_=FKXM;0R*R.9S,E<OETG39X7"QVP^;DC<RCD#A#H
    MV#%!<MJY3@_7D/J)/P! ^E8ETT)I1*"$62*D?\)4/KFI]<%\C83Y"HQ<W,JZ
    MCVUG9L^3_J?RT>/Q\<_ZQ^%9:EX<6<A2K<IZ&H#[O-SI^1W^M5U>K%,M*SWZ
    M0MO.`Z@Y'[OC5TWET;[C'4CR\?\`2H#K65W5L=!^\YA R/$[GZ5?X/)RS,5M
    M.U?G\+!%)O6-3'P@=*DC.C94BR1YC#H4^^"M+!&/5S@;^=1^5&>B/*:DM+:<
    M3U2L8(K5IEI>9BLO.O.E*5(%*^I25'"023X"LN3:)\6$B7)B/-,+.$K6G )K
    MY-HCM(PZ4I7T*4I0*4I0*4I0*4I0*4I0*4I0*4I0*4I0*4I0*4I0*4KV@1U2
    MYK,=L94ZL) ]YI,Z?8C<Z7?P7M9A:5:=6D)7)67/>.@JT;6WR@'IBH[IV$B'
    M"8C-C"6D! ]N*E$<=W'*L 5Y;Q^9DM?Y>JM7RL=<<>S#NKG6HQ<G?O'/LK=W
    M1WJ?PJ,71S""//\`SJ"\[MI;P5U7:/7=W)5O\/?^ZJZU<M4VZ1(36ZU*Z9\5
    M' J<7ATG/M\ZAVE$"Y:W=F*]9J(%.Y_F[)^N*UN)'@K-_B&3U;+X<?A^4[B,
    MI;?##6.ZC(2TD>'JC'XUN%V&WW6/W=QB-OC&-QN/<>M:ZTMD@%><J.3GYU*;
    M<WLD;5F9LDUG<2\O>=([_ WIZ;@M.2H^?V5Y_&MM;> VF&T\\E^:_P"SG":F
    M=K;V`Q6\7^;C;>-4<G4>5':+RBG);Y0AC16FM/HS;K6PE:>CC@YU?,U47'*Y
    M!V>S"0=F^H'S_P`Q5W7U\(2HDD #)KF375Q-RU))>SL%8'X_N^%:?1ZWRYO,
    MO.])<.YG<M)2E*]0L%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H%2S
    MA);1<-8L*6 41@7C[QT^N*B=2SAU<;_;G)/Y.P4O./@(+RD9[OW'PJ/+CR9:
    M33''>4W'O3'EK>_I#H:(6XK0=E.)81^TX<"OL[6.G(S7=N7F(@^Q6<_*JLC<
    M/-8ZH=#E\OB6$JW*0HJ(^ VK-=X%P&4$R+U)<7G)(; JOAZ#EUJTKN;K%+3N
    ML)3)U-9)KG)%NT5U2O#FQ^-:V^%;;?.0>0_=6#D'XU#;QP?3'"E6^ZDD= ZC
    M'X5'@_JG1KIRXI^(#A22KO&E#VCPKC/_`(_EQ?7";!URL_3:&ZU1,[B$^Z"?
    M52<8\^@K!X<Q.[LLF4O[TIX-@GQ2G<_6M3JW44*\0&4P8[L=U9R\V3E*2/V3
    MUW-36Q0A#@6^%@999"E@_M*]8U7R1.+!X9]9G_Q3ZCR*YKQX9[)#:FL<NQ&!
    M_P!ZD]M;',/96DM370_'_?TJ36MK8&L#D68]Y;VUM=*R[BYRIQX5\MJ,)S6)
    M=GL)4<UF?=9$A/$2Y"#8ICI./5*1CV]?IFN;7W%//+<7]Y:BH_&K@XYW3NK8
    MW$2KUG#E0]__`&/SJG*]GT?%X,/B^5S%&JE*4K62%*4H%*4H%*4H%*4H%*4H
    M%*4H%*4H%*4H%*4H%*4H`&3@5>_#JV"!8X;.,*Y M7O._P#G5-:6A&X:@AQL
    M9"G05>X;GZ"NB+ QD@XK:Z535;9)_95Y$]XJE-F:"&N;V>5>%R<ZUG,CNH@Z
    MY-::Y.U:I]5MHY[0TEV=Y6SOUJ#:@?R%#(WVW\?][U*[\]R@C)^=0'4$D-A:
    MR?N@J(/LZ5HTB(C<N:PARK:]>-3>@V=D*><5A*4G`)&Y/LK?P-67"QS3$U)$
    M<*TG!61A>.F?;[ZV' ^$7+I<KT\,B,T4H4?VU?N_&IR]9(%[8[JZQ42$GH5?
    M>3[CU%?F_4>;CMGM%Z[K_;5I@\5(8^F]6V*X)'=SVFEG&4.GE-3FTS8)2DB;
    M%P=\]ZFJPN' ]F2KGLUT4T#T1(3G'Q%8S' 35*U81=("4^?>+_TK(R8>'E[U
    MRZ_>$5N%??HNN3JFPVZ*3)NL1/N<!/TJ`:JXNZ?CA2(*W)BQ^SL#_K6MMG9Y
    M7S@WJ_%2?%$=!_$_Z5+X?#C26CK7(GL6]+[[#94E^4><A7@0#L/E52*<##;[
    MIO/Z=G=.G6];.?-<ZH7J>XA]39:2G8))J/UF7Z2F7>93Z$I2E;I("1@=:PZ]
    MCBI%*16L:AQK7:"E*5(%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H)
    MQP>M_?763,4,AE 0GWJ_</K5YV!C`3MGXU6W":V^BZ?96H87(473MY]/H!\Z
    MMVPQ5<O/RG \2,5Z3%7R>-6OSW_*C:?%DF65,5R-!.VPJ/7%S<UNKDX,D=XU
    MGR[Q.:C=V4IMM14#[Z[P0YNB]_?W5TS[ZKG64GDB+2"05JY1\.M32_R<<QS\
    M_P#?NJN[XA5PO<6 SZRE*2C \R:EYV6,/%M/\),5=VA9?#BW_9G#^/D8=GNE
    MU61C;P_RJ76MG=('CTK">CHC*C06L=W%92V/9M6[M#6X..E?D7*R^*9M\MW'
    M779O;<T-JWT1.&\UJ[>WTVK<)]5H>ZLRTZ68>;ARJH!QWO/V5HAU"586^<#_
    M`'\:GI-4%VF[SWMUCVUM60T/6&?C^)J7I>'SN76/CNXY%O#CE3E*4KW[(*4I
    M0*4I0*4I0*4I0*4I03&Y\/UQ.%=LUFQ<1(]+<*9$(,<IC)+CK:%\_,>8*+*A
    MT&"0-Z^)T L<*'-9O7#NU"2AIN#W!RMI2E)#G/G;UFW!C!^[UJ9Z2?9E672&
    MF9RPF)J2PR[?E1]5#YG/J87[PZE(_K&O+5<MAW1.N+= <[R#9I%HMD97@I+7
    MI"5*'\Y?.O\`K4%=C2]RF:B59K' N<^4$)6EDPU(>(*0HDMY) WV/B,';-> 
    MTU?#<Y%N39[BJ;&4E#\<1EE;14H)2%)QD94I(&>I4/.K1U-$FW;\L;3IUIU^
    M\/&UNKC,`J=D1$QCWB4)&ZL+4TH@> !\*Q [J&QV+53=XGI-UBZ:AL$-G#L5
    M"IC(#3AQGO A7M(!`SM@! HFB=3S$SU1-/W1]-N<6U++<9:@PM/WDJP-B,;B
    MO&PZ5U!J".^_8K)<KBU'_2KBQEN!!\B0.OLJ<IM&I;Y:=%3-$(DKB6^-W:WH
    MQ(1 E!YQ3BWB-F\@I5S*P"G'E@;^8E6H7ICMETQ<K_9F+_,<M[VGIQ:?B%Q8
    M.5H#:P$D`*0<#;([email protected]:<O6H9BXEBM4ZX/MC*VXS*EE \U8&WQK?Z"X=7
    M34UQN3<F%>&(UJ:4N7Z+;EOO<X4D!E*,I_.$JZ$C`!/0&I5J2R7.X6*^6?2S
    M\V^W!G4*I-Q$?UY#Z%-([M2DHSS\CG?!1&0%'/B*^W1:BYJ9B6ZEZY1M%QV+
    MBL*"SWZ9,8%*E#JI*>1).^Z301&^<.[U"L"[_%MEW-J,UV,@RH*VG4(1R8<<
    M`RE()7RCUCZR5#PJ+S(CT-:4/I"2I/,,'.14RCVN?=N"T7[*A29GH-]E.RO1
    MVRON$+8CA*EX^ZDE"MSML:A+KKCJLNK4LC;*CF@_-!C(STI2@G;G$M^%#;C6
    M*,F,EML("U^LH8&!4?N6L;]<5*,FYRE!7ZO>'%:2E6LG-SY/6VOV[.*XZU](
    M>YGRRKF,EW/GSFME:]67JVJ'H\]XI'5"U<R3\#6FI45<^6L[BT_EU-8GV3J-
    MJN->&RB8$Q9'F/N*_P!*_/"N$+QQ`$ET<S<8*?.?9TJ#U)] :M&F'I"5QDN-
    M2@$N.#[Z1[*=1YF;D\;R]=S%2M+[7.P2_*6\HYYE9J26AKU ?,U$=*7JUW=I
    M*H$QI9/5M2@E0^%3NVLD(2,9QML*\%R=UGPS&FKCU,;AN+>WD ;[UG.G:O*$
    MWA()&,5^)TN/&25R7VVDC]I6*H9/34)X'7$M-J<7LE"2H_"N1N)UV-XUE-D$
    MY 7RBKYXA<3+#"L\J)&F!Q]ULI"D$;>X5S:MR-([UV0IWOUJ4K(W!)Z5Z+H'
    M$O3Q9;QKX4N9DBVJPQ*4I7I5$I2E`I2E`I2E`I2E`I2E!</"C@&>(>CVK[&U
    M*U$YG5M.1S%*RVI)\^8=1@]/&JXU[II_1VL+C8);H><@N]WWH3RAP8!"L>&0
    M0:O?L1Z@]:^Z=<4=^2:R,_U%_P#TJ/=LZP>@<085X;3ANY1 E9 ZN-G!_P"D
    MI^5!7/";1DO7FMHUD@3/05K0MU<GE*NZ2E.<X!'4X'7QJ;\6^ ,W0.DG=0&^
      

  2.   

    MHN2&WD(=;$8H("CCFSS'QQ\ZD_8CL?>76_7UQ (9:1$;41XJ/,K'P2GYU?'$
    M*T,:PX=WBV,+0ZF9$<2TM)R.<#*3\% ?*@X!0XM"%)0M24K&% ' 5[ZN/A5P
    M#GZST6WJ3\HD6EJ07$I;+!42VDX))"AL2#M[*ISNU]YW?*>?/+R^.?*NT]7K
    M3PV[.+L9*@AZ):D1$^UYP!!/]I1-!2?"_L_OZUTT+[!U0B&VM]YE`$4DJ2A1
    M3S9YAUQG%4_=H9M]TEPBOO#&>6USXQS<JB,X^%7OP.=XOHX>QAH9BRKL_?.]
    MV913S\W,>;J1XU4]@T??]<ZWFVBW-,.74K>=>2IP(3E*O7P>G4T$:;><;2I+
    M;BT!8PH)41S#VU^*FMUX2:OMNLXFEG+<E^ZRV!(;:8="TALJ*>92NB0"DYS4
    MMF]F+7D>W^D-+M$ET#)CM25<_NRI(3]:"G:5D7*!+M<]^#<8[L:5'64.LNIY
    M5(4.H(J<\+.#&IN(D<S;>EB%;4J*/3)1(2LCJ$ #*L?+VT%?5=>K.SG(T]H&
    M7J9>HVGTQH@DF.(A259 VYN;V^5>&N>S5JC3=E>N=OF1+RAA)6ZRPA2'0D=2
    M$G[V/('-7YQ=W[/MW_\`B4?@F@X?I7O;8,JYSF85NCNR93Z@AIEI)4I9\@!5
    MLV7LRZ\N$-+\DVNW*4 0S*D$K&?/D2H#YT%/TJ<<0^#^K]!Q_2KS`2[!S@RX
    MB^\;3_.V!3\0*]-#\&M7:VL*+QI^/#>B*<4WE<E*%!23N"#_`+WH(*TZMI86
    MTM2%#H4G!K>P-=:F@)"8MYEH`Z J"OQ%:R^VJ78KS,M5R;[J7#>4R\C.<*2<
    M'!\1[:FNCN".M=7Z>CWJS0HRH4GF[I3LE*"KE44DX/M!KB^.E_NB)?8F8]&H
    M=XFZR=;Y%W^44],`)'X"M1/U'>;AGTRY27<]>99K`EQW8DIV-(04/,K+;B#U
    M2H'!'SJ;*X/:M1H;\KGHT5JT^C"5WCDE*5=V>GJ]<G; \<BN:X,5?MK$?P^S
    M:T^LH*22<DDGS-*L?0O C6VL;<U<(D./`A/#+3TYPM]X/,) *L>W&];>^=F?
    M7MMB*?C)MMRY1DMQ)!Y_@%I3FI7*HD)*UI2"`5'&2<"MYJ#1=]T_`1-N<,-Q
    MUJ" XEQ*QDC(Z&O:ZZ(NEJTNB]3BTRE3Q95%7S)=;4"1ZP(QG(.V<BK#X672
    M/K'1TG3-Y!<7&;"<^*FL^J0?-)V^50YLEL<1:/3W6>-BIEF:3/?V5@UI:[.:
    M=7??1@BWI..^6L)YM\; [G?:LM_0>HF683IMZE)G*2E@(6E142GF'0[;#.];
    M[C/>2F='TS"87&M]L0D!!& XK&Q]P'^=3K6=^D:>X8PI4%01*<999:<QGNR4
    M;D>W`-0SFR:K,1ZIZ\;%,WB9GZ8_OW5C=>&>I[9 <EOP4K::',ON74K4!XG 
    MWJ)U<7!#5=SO$Z;;KM*7+2EKOFU.;J3O@C/EO5;:[M[=JUC=(;"0EIJ0KD2.
    M@!W ^M28LEIO-+^L(L^''&.N7'O4_+34I2K"H4I2@4I2@L'LX:@_)[C!9G7%
    M!+,MPPW<^3@Y1_U<M7YVQ+!]J<,6KFV@J=M4M+A('1M?J*^O*?A7(\.0Y$EL
    MR63RN,K2X@^1!R*[QN3+/$?A&ZVR4\M[M?,V2=DK4C*?DK'RH(/P`91H?L[/
    M7R0A*%NM2+DLXZ@`A'T0GYUE=DO4B[[PO,:2Z7)%NEN-*)Z\JCW@_O'Y5A=H
    MJ0C1?9]8L$=:0MY$>WIY=N9*0"L_$(_ZJKKL67\P];W.R.+(;N$3O4)S_P"8
    MV?\`\J5\J#5)T"4=JD:?#1]%%T$T`]"S^F^6-JL/ML7_`-'TU9K"VO"IDA4E
    MQ/\`PMC ^J_I5IJT4RKBXG61">9-J]"QX\_/GF_LY'QKE_M8W\WGBY*BH7S,
    MVME$5(\E8YE?56/A07OV2OXE8'])D?XAJHNS7_*,N?\`-F_WZMWLE?Q*P/Z3
    M(_Q#51=FO^49<_YLW^_06YQYUS"X7I%^@PFI6H[LRF%'+WW&VFRI1)QO@%SI
    MXG'E4=[.'&R]ZXU-(L&J$Q7'5,*?COL-\A]4C*2.G0Y!]GC47[<!/Y0:<&3@
    M17CC^LFHOV0OXY&/Z$_^`H)1VM-+(N'%?3:8* W)O;:[email protected]@X$A1^"A\ *
    MNO6]Z@<)>%#LFWQT%JV1T1X;!V"UG"4YQ[3D_&J_X_R6HG''AL\_CD3)P<^U
    MU 'XUN.U^PZ]P==6T"4LSF%N8'ZNZ?Q4*"EM)]HS6L'4[<N^36[C;G7 )$13
    M24 (.QY"!D$=?+SKHSCHZV]P2U$ZS^C7;^9'N.,5PNE)4H)2"23@`>-=P\8D
    M*;X`WE"P4J3:D@@^!PF@A'8[T/%@:4<U;*:"Y]P6IJ.I0_1,I.#CVJ4#GV >
    MVHAQ;[16IF=:3;?I!^/"M\!]3 <+*7%2%).%*)4"`,@X`\*N;LVOMR."FGBT
    MH*Y&5H5[%!Q6:XKU$P[&U!<&)"2EUJ4XA:5=0H*(-!V3P-UXWQ9T#+;U!#CK
    ME,J,6<R$_FWDJ3LK'AD9R/,&H]P#CHT-Q.U?P^YU>CI6FX0`M626R #[SRJ1
    M_9J/]AZ.\(FI9)SW"G&&QY<P"R?H16)Q(U8C37:XM\]"PEIMN/$EXZ%+B<'/
    MN"@?A01;M=Z<-KXK">PC\W>(Z'A@=7$^HH>_9)^-=0: MK&F-'6&P+6E#[,)
    M*0V=BM24CG('O5]:T/&+08UG/TH^EKG^S+NVZ]MG\P=UCW90FH;Q/UR+7VE=
    M'6_O>5B,T6GP3L%2/5_R0:"FN,VC'6^T!,L<-"A]K3FW&>4>#Q!)'N)5\JZ(
    MXQ&!'@:.T0LI3%NUTCQG&LXYX[.%*3[B0A/QK/U1H)-VXTZ9U66LM6^(^AY7
    M@5C]%GXN+/\`5%4+VL-7/O<7HS-N?+:K`TWW2T*W0\3SD^\>K\J"\>T#)UQ 
    MT<Q_!NPX70[RRC%;"GFVL;<B??UP,C;VU1^B>/&N-%7.0C6[%PNL9Q!"6)B.
    MY<;<\"%%/3KD5.=#=J6S2(+3.LK?)AS$IPN1$3WC3A\^7JGW;U9VFN(&A>("
    MC MER@7%Y:"HPY#>%D>/JK&_MQF@X\XJZV/$75OVLU:&K<ZZA+:F6'"OO5#8
    M*.P];&!L/ 5,%2F>$^D8K"&VGKW/6EU]*OU4CJ/<!D#VDFMGVI>'<#0EYMFH
    MM*(^SF)RU(6RPHI#+R0"%(\@1G8="/;5*W&X3+E([^X2GY3V`GO'G"M6/+)J
    M+)C\R8B?1/AS1BB9C[O;]%M\6[*QJC2L755G3SJ::"G,=5,GS]J3GZ^5;O55
    M@5J7AS;[>P\VW++3+D<.*P%J"-T_+-4A$OUVAPC#BW.:S&((++;R@@YZ[9QO
    M5J<4)Z6^&=F5#EI2^A;"DEIWUDX;.^VXJI?%:DTKOW[-#'FIDC)>8]N[(X2:
    M,FZ47/NNH"W&):Y GG!Y4#=2B1MX54^K;H+UJ:X7%.>20^I2,_LYP/IBOW<M
    M4WVYQ3&N%UF2&%');6X2#[Q6IJSBQ6BTWM/>5+-GK:D8\<:B"E*5.JE*4H%*
    M4H%=C=D74'VOPG;@N.<SUJD+CX\0@GG3_>(^%<<UD1+A,A)4F'+D1PHY4&G2
    MG/OP:"_.VW?N]OECL+:LICL*EN#VK/*GZ)/SJHN$NH/R7XD6.[*5RM,RT)>/
    M_MJ]5?T)J.RI3\MWO)3[K[F,<[BRHX]YKRZ4']'+A,9@6^1-DJ"6([2G7%>2
    M4C)/R%?SRU)=';YJ"?='R>\FR''U9.<<RB<?6ORN\W1;9;7<IJD*'*4E]1!'
    MEC-85!V=V2OXE8'])D?XAJHNS7_*,N?\V;_?JF8ESN,=M+$.;+:1GU6VG5)&
    M3[ :^N)N=IDAQQ,V"^L$A2@IM2@>N^Q-!>_;@_\`$6G/Z*]_?347[(7\<C']
    M"?\`P%57+FRIJDF9)?D%.R2ZX58]V:_$:2_%=#L5YQEP# 6VHI/S%!T)VV'W
    M(VI=+/L+*'6F75H4.J2%H(-6WH?4NG^,G#5468IMY4F-W%RA\V'&EXW('AOZ
    MR3[O*N(Y<V5-4DS)+\@IV277"K'NS2!.EVZ2)%OE/Q7D]'6'"A0^(WH.H&^!
    M&B.&TA>K=27N3+@6T]^U&D)2E*EC=*3C[YSC`&,FIWQBGBZ<`KS<$H+:9=K2
    M^$$[I"@E0'UKBR[7V[7GE^U[I.G<GW?29"G.7W<Q.*\W+K<'8Y8<GRULD<I;
    M4\HIQY8SB@N[LI<5H6FG7M*ZCE)CP93O>PY#APAIT[%"CX!6QST!]]65Q%[/
    M.G-<:B<O\2YR+:[,(<?#"4N-O*_;&>A/CX'K7'E;2WZHO]MC"/;KY=(C`Z-,
    M2W$)'P!Q0=CO3M&<`^'XAA\`H"G&XY6#(FNGQQ[<`9Q@`5QOJJ_S-2ZFG7R>
    MK$J8^7E<O1.3L![ , >ZL&9+D39"GYLAZ0\K[SCJRM1]Y->5!WWPCU&G5?#>
    MRW?F"G78J4O;]'$^JOZ@UQKQ?U(Y>^+=ZO,=Q0*9I2PO.Z4MX2@CX)!J,1KI
    M<(K0:BSI3+8W"&WE) ^ -8I))R=S0?T*T_J&-<]%0]0J6GT=Z"F6M2?U1R<R
    MOEO\JXIL6IK+<N+:[]KB!Z?:YTQQV2T2H<@63A6 03RY&WD*BJ+I<$1O1T3I
    M26.4I[H/*"<>6,XQ6+0=?ZMX*:$XC:>A2M&/P;6&@2U*MK:5MNI5C9:1C)'O
    M!&]8O"WL[PM":G8U'=M0&:Y!YEM(0SW+:3RD<RB5'H"?*N5;9=KC:G%.6N?+
    MA+4,*5&>4V3\0161<M2WRZ-ENYWFY3&S^H_*6M/R)H+>[6?$FUZLN4"PZ??1
    M+BVU:G'Y39RA;I&.5)\0!G?S/LJCJ4H%*4H%*4H%*4H%*4H%*4H%7)V8;E)L
    M\#7US@+")4+3[LAE12%!*T!2DG!V.X%4W5R=F&3&AP-?29\,3HK.GW7'HI64
    M!] "BI',-QD9&?#-![Z&X[:LU!JZV675;5OOEJN,IN*_$<@M[A:@G(P-R,YP
    M=C]:CVO>%SZ.)NKK/I1+;D6RM";W2EDJ[M24*#:-B5*!<"<>RMC;N,&E+!(]
    M/TIPOMENNK8/<2W[@N2&CC&0DH&_N(K,X!ZCN<B[<0]229!=N8T]*F]\K_U4
    MD*!]F"!CRQ01:Z\'K_!NMJLS$NU7"^7!:DKMD*4''8?*`27O! P>O38[UFS>
    M"-W]$F&R7_3E^G0&RY+MUMF=X^V!UPDI'-CH<;YVWK8]GUQQ-@XC7*.I:KLU
    M87"R[N5@*YBM0/7.0DYJ-< 9$F-QCTTJ$I06J:EM7*>J% A?PY2:"8]E_2J'
    M;M,U,JXV$OP;=)<B1I$I/>QWD\H2\XV1ZK8R?7\,BM)J*QZ[XAZT9LLO4%MU
    M-(CL*DF;%F-N18K:CZQ4XD )`Y1M[L#>I3H%B+%XQ\5F('*([=FNR4!/1([Y
    M&P]@Z?"L3@Z++&X!:VE7IRYM,/3([$QRUH0I\,Y3R@<^!RE2E []":"*7[A#
    M<H-AEW>R7RPZECV\9G)M$HNKCCQ44X&4^T>1/0&L#0G#6Z:MM4J\*G6RS6:*
    MONW;C<W^Z:*\9Y$[$E6X^=3'AQJ[A;H?4*KI;_RYE]Y'<CO1GX\4MNMJ&X4`
    MX#C;/PK T-KC2+O#]W0VO(-U%I$]4R'/@%/>M*QCU@=CL3T!^]T\:".ZXX:W
    M/2UGCWIJ?:[W9I#G=(N-K?[UM*\9Y%; I/6MO#X+7%-NB2-0ZDTSIV1.;#L6
    M%=)O(\M)^ZI0`/*#_KD`BMAJ/0%J=X=7*^<-M92KO:(+B%W*V2$*96WDX2LI
    MV"B//'@<$XQ6SU'JOAEQ1?C7/6SU\TW?Q'0R^_&;#T=S`V7R@%6-^@`V\^M!
    M"[;I/56CN+5ILS;4:/?4RFEPEN*YF5E1]184.J2?P(\*\YFF-4ZWXL7:T!AF
    M5?537Q,4T>5E"D+*7%Y/1 /XCQ.*F[&C)FE>,G#^2=0'45GN$ADVN>5$_FD+
    M3^;P2>7EYD[ XW\-P-M!(C6_CO,A'%P3.<:YDGUDLJD.A>/81G/N%!!+MP9N
    MC%FFW"Q7[3VHC;D%<V-:I?>NL =5<I R!ON/+I4;T=H>]ZPB7%^PL(D*MX:[
    MQGF]=9<7R)"1C??KG&!4G[,+TEKC99$1>8I>[YM](Z*;[I9(/LV!]X%2'AR\
    M+/8N,!LKA9;9C]TPM&Q2@NN)&,=/5-!')?!B["S3)=IONG;U+M[9=FVZVS>]
    M?82.IQC!QXX/789K0Z"T!=M:)EOPG8,"W04A4JXW%_N8[.>@*L'<^0%2KLH;
    M\:;>V=T.1Y"5I/10[I6Q\Q7GP_TNW*X83;QK+4TVSZ0$\)1#BH[Q<R4$_JI.
    MVR?$YZ']G-!@:CX23[;IF3?[+?;#J.W0\>EJM<HN+CY.`5)(&W[SC S6QL?\
    ME^__`/,#'^&FI?PV1P_5I3B -#C5BGAIJ47_`+8#'<\H02DI[O?FSTSX9J(6
    M/^2_?_\`F!C_``TT%7TI2@4I2@4I2@4I2@4I2@4I2@4I2@4I2@5+>'FN?R/M
    MFI8?V=Z9]NVMRW\_?]WW'.".?'*>;&>FWOJ)4H%2GA]K3\D(FHF/0/3/MNTO
    M6WF[[N^Y[P8Y_NGFQY;>^HM2@D7#C6<[0NIF[M ::D)+:F9,5[]'(:5]Y"O9
    MT^('6IFQQ.TAIJ1)NN@-%KMU]?0I+4J9,[]N#S#"BTC&YW(!/3W$BJJI02OA
    MWKE>D+C?)CT-5Q<N]KD6]14_R%!=*27">4\V.7IMG/6OO#+7CVBIDQM^`Q=;
    M/<VNXN-N?)"7T9V(/ZJADX._4^\1.E!9HXC:6TU%FN<.=*R+9=9C2F?M"=,+
    MZHK:ME!I.-B1MS'?WUKM'Z_M4?28TKK;3XOEH9>6_#<:?+$B&M7WN10&Z2=^
    M4^)\=A4#I06/>.)=HM^CYNFN'FGW;+'N*T+G39,LO2'N0Y2D; ) /EYGIDUE
    M7#B+HO5BV[AKO1LA^]A*4R)MLF]PF60,<RT8P#@#<?3855U*"QKSQ:5-UIIF
    MYP[(S"LVF%I^S[2T^=D@@G+A!]97*G)QX#KU.)I[BA)LG$6]ZD;MK$F%?7I!
    MG6I]?,AUIU946RK'49P%8\]M\5!*4%HIXF:7TS%FN\-]*/VF[S4*:^T)LPOJ
    MB-JZAD8V/_$3GWU%M'ZS.G-,:FM!@^DF_P`9MCON^Y.XY5$YQRGFSGID5%Z4
    M$IX3ZT_@_P!;1=0^@?:'HZ'$>C]]W7-S)*?O<JL8SY5M]"\1+7;]%2M'ZRL2
    M[S979/I;!9D%IZ,[C&4G&X^74]<XJOZ4%I0>+=HL%HO5BTMI),.T76W/PW2Y
    M-*Y#CC@Y0ZM9200E)4 @`#UCO45@ZS]%X7W#1_H'/Z9<$3?2^^QR<J0.7DY=
    A^G7/PJ+TH%*4H%*4H%*4H%*4H%*4H%*4H%*4H%*4H/_9
    `
    end
      

  3.   

    用JAVA的类:com.sun.mail.util.* ,有对UUEncode编码方式解码的类!
    你自己找找吧!
      

  4.   

    还有一个包里也有:sun.misc.*!
    你自己找一下吧!
      

  5.   

    我也遇到过这个问题,通过
    String str=new String(xxx.getBytes(),"gb2312");解决了:最是中文的附件名称我没有转换过来,好像是javamail内部机制的问题!
    我把文件名称用系统时间+附件编号,
    我的QQ:24560795, 多交流!
      

  6.   

    哦,是个windowsxp pro的图片
      

  7.   

    总算开完会了我没明白你的意思,是不是要把一个email文件的附件读取出来?
    如果是,继续:
    首先你必须有一个 Message,可能是从pop3收下来的,也可以是从文件读出来的: 
    FileInputStream in = new FileInputStream(""yourmail.eml");
    MimeMessage = new MimeMessage(session,in);
    呵呵,现在就有一封email了,然后是把它发出去或者读取它的各个部分
    别忘了判断是否是Multipart,如果是那么就获取多个part,一个一个保存。
      

  8.   

    失败..
    用setDataHandler方法和setFilename方法都试过了,读取eml得到的message居然不是multipart的,可是我输出message的内容的确包含附件内容。正文和附件之间有三个0D0A,也没问题啊,不知道哪里有毛病,我再看看协议去。
      

  9.   

    这类邮件类型为:text/plain,我现在已经解决了这个问题,如果谁有什么类似的问题可以问我,如果我知道答案会尽量帮忙的。过几天我整理一下这个东西放上来,谢谢大家了。
      

  10.   

    简单总结一下:
    1,得到其中的一个区块(附件)的偏移量以及该区块的大小;
    2,得到一个InputStream: MimeMessage.getInputStream();指到要保存区块的受部,InputStream.skip(long);
    3,构建一个UUDecoderStream:new UUDecoderStream(InputStream);
    4,得到附件的名字并保存附件:UUDecoderStream.getName(),最好使用new String(String.getBytes("iso-8859-1"))变换一下而得到原始名字;保存就相对简单了:
    FileOutputStream out = new FileOutputStream(String);
    int a = 0;
    while((a = UUDecoderStream.read()) != -1)
    out.write(a);
    a.close();
    5,回到第一步处理下一个附件,直到没有附件后退出。这就是这类邮件的处理办法,不是很复杂,如果谁有什么问题可以发邮件给我:[email protected],不一定会回复的,呵呵个人意见,仅供参考。