看一看这个贴子
http://www.csdn.net/expert/topic/216/216950.shtm

解决方案 »

  1.   

    你可以到网上去下载,或者留下 Email
      

  2.   

    你可以到下面这个网址下载
    http://www.nevrona.com/indy
      

  3.   

    http://www.csdn.net/expert/TopicView.asp?id=225216
      

  4.   

    function EncodeBase64(Source:string):string;
    const
      BaseTable = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
    var
      Times, LenSrc, i: Integer;
      x1, x2, x3, x4: Char;
      xt: Byte;
    begin
      Result := '';
      LenSrc := Length(Source);
      if LenSrc mod 3 = 0 then
        Times := LenSrc div 3
      else
        Times := LenSrc div 3 + 1;
      for i := 0 to Times - 1 do
      begin
        if LenSrc >= (3 + i * 3) then
        begin
          x1 := BaseTable[(ord(Source[1 + i * 3]) shr 2)+1];
          xt := (ord(Source[1 + i * 3]) shl 4) and 48;
          xt := xt or (ord(Source[2 + i * 3]) shr 4);
          x2 := BaseTable[xt + 1];
          xt := (Ord(Source[2 + i * 3]) shl 2) and 60;
          xt := xt or (Ord(Source[3 + i * 3]) shr 6);
          x3 := BaseTable[xt + 1];
          xt := (ord(Source[3 + i * 3]) and 63);
          x4 := BaseTable[xt + 1];
        end
        else if LenSrc >= (2 + i * 3) then
        begin
          x1 := BaseTable[(Ord(Source[1 + i * 3]) shr 2) + 1];
          xt := (Ord(Source[1 + i * 3]) shl 4) and 48;
          xt := xt or (Ord(Source[2 + i * 3]) shr 4);
          x2 := BaseTable[xt + 1];
          xt := (Ord(Source[2 + i * 3]) shl 2) and 60;
          x3 := BaseTable[xt + 1];
          x4 := '=';
        end else
        begin
          x1 := BaseTable[(Ord(Source[1 + i * 3]) shr 2)+1];
          xt := (Ord(Source[1 + i * 3]) shl 4) and 48;
          x2 := BaseTable[xt + 1];
          x3 := '=';
          x4 := '=';
        end;
        Result := Result + x1 + x2 + x3 + x4;
      end;
    end;procedure TeMail.smtpSendConnect(Sender: TObject);
    begin
      SMTPConnect:=True;
      sbSMTP.SimpleText:=TimeToStr(Time)+' : '+'Connect ! ';
      if smtpSend.ReplyNumber = 250 then
        smtpSend.Transaction('auth login');
      if smtpSend.ReplyNumber = 334 then
      begin
        smtpSend.Transaction(EncodeBase64(mCSMTPServer.mUser));
        smtpSend.Transaction(EncodeBase64(mCSMTPServer.mPassword));
      end;
      smtpSend.SendMail;
      sbSMTP.SimpleText:=TimeToStr(Time)+' : '+'Start send mail ! ';
    end;
      

  5.   

    mCSMTPServer.mUser为用户名
    mCSMTPServer.mPassword为密码搞不定的话》》》》》》》》》》》》》 :(
    我就是这样搞定的