这是对方服务器回传的信息,其中是否已经作了一定的加密处理(可能也不是加密,某些系统,如lotus对中文肯定会做这样的处理),所以可能要对方才能解释

解决方案 »

  1.   

    就是eml文件如何转换成邮件正文和附件
      

  2.   

    BASE64编码,MIME规定格式之一,查查TCP/IP协议相关的资料,已解决帖子中有答案的
    (搜索“NMTP”或"MIME"等)
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}uses
      Math;const
      cScaleChar = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';function IntToDigit(mNumber: Integer; mScale: Byte; mLength: Integer = 0): string;
    var
      I, J: Integer;
    begin
      Result := '';
      I := mNumber;
      while (I >= mScale) and (mScale > 1) do begin
        J := I mod mScale;
        I := I div mScale;
        Result := cScaleChar[J + 1] + Result;
      end;
      Result := cScaleChar[I + 1] + Result;
      if mLength > 0 then
        for I := 1 to mLength - Length(Result) do
          Result := '0' + Result;
    end; { IntToDigit }function DigitToInt(mDigit: string; mScale: Byte): Integer;
    var
      I: Byte;
      L: Integer;
    begin
      Result := 0;
      L := Length(mDigit);
      for I := 1 to L do
        Result := Result + (Pos(mDigit[L - I + 1], cScaleChar) - 1) *
          Trunc(IntPower(mScale, I - 1));
    end; { DigitToInt }const
      cBase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function Base64Decode(mCode: string): string;
    var
      I, L: Integer;
      S: string;
      T: string;
    begin
      Result := '';
      L := Length(mCode);
      I := 1;
      while I <= L do begin
        if Pos(mCode[I], cBase64) > 0 then begin
          S := Copy(mCode, I, 4);
          if (Length(S) = 4) then begin
            T := IntToDigit(Pos(S[1], cBase64) - 1, 2, 6) +
                 IntToDigit(Pos(S[2], cBase64) - 1, 2, 6) +
                 IntToDigit(Pos(S[3], cBase64) - 1, 2, 6) +
                 IntToDigit(Pos(S[4], cBase64) - 1, 2, 6);
            Result := Result + Chr(DigitToInt(Copy(T, 01, 8), 2));
            if S[3] <> '=' then begin
              Result := Result + Chr(DigitToInt(Copy(T, 09, 8), 2));
              if S[4] <> '=' then
                Result := Result + Chr(DigitToInt(Copy(T, 17, 8), 2));
            end;
          end;
          Inc(I, 4);
        end else Inc(I);
      end;
    end; { Base64Decode }procedure TForm1.Button1Click(Sender: TObject);
    begin
      Edit1.Text := Base64Decode('xOO6ww==');
    end;end.