我用公司的邮箱做实验,用下面的代码先连接上公司的邮件服务器然后    buffer:='HELO'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='MAIL FROM:[email protected]'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='RCPT TO:[email protected]'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='DATA'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='FROM:[email protected]'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='TO:[email protected]'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='SUBJECT:just a test!'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='I LOVE THIS GAME!'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='.'+#13#10;
    send(s,buffer,length(buffer),0);    buffer:='QUIT'+#13#10;
    send(s,buffer,length(buffer),0);    closesocket(s);邮件可以发出去,也能收到为什么把地址改成163的smtp,就不行了呢?

解决方案 »

  1.   

    你先检查一下你163用户能否使用POP,SMTP服务,简单的方法用OutLook,FoxMail看能否收发信。网易新注册的帐户现在一般不能用POP,SMTP服务。用这种服务是要收费的。
      

  2.   

    呵呵,smtp必须先登录,否则我还可以用美国总统的邮件给别人发邮件呢
      

  3.   

    网易新注册的帐户现在一般不能用POP,SMTP服务。用这种服务是要收费的。
    对头...
      

  4.   

    转一个
    用delphi自己的idsmtp控件就可以实现,类似下面代码 var 
      mailaddress:TIdEMailAddressItem; 
      i:integer; 
    begin 
      try 
        if FIdSMTP.Connected then 
          FIdSMTP.Disconnect; 
        FIdMessage.charset:='GB2312_CHARSET'; 
        FIdMessage.ContentType:='text/html'; 
        FIdSMTP.Host :='邮件服务器'; 
        FIdSMTP.AuthenticationType := atLogin; 
        FIdSMTP.Username := '用户名'; 
        FIdSMTP.Password := '密码'; 
        FIdSMTP.Connect; 
        if FIdSMTP.Authenticate then 
        begin 
          //发信人 
          FIdMessage.From.Address := FFromAddress; 
          FIdMessage.From.Name := FFromUser; 
          FIdMessage.Recipients.Clear; 
          FIdMessage.ReplyTo.Clear; 
          for i:=0 to FToAddress.Count-1 do 
          begin 
            mailaddress := FIdMessage.Recipients.Add; 
            mailaddress.Address := FToAddress[i]; 
          end; 
          mailaddress := FIdMessage.ReplyTo.Add; 
          mailaddress.Address := '回复地址'; 
          //主题 
          FIdMessage.subject:= FTopic; 
          //信件内容 
          with FIdMessage.Body do 
          begin 
            Clear; 
            Add(' <Html>'); 
            Add(' <style type="text/css">'); 
            Add(' <!--'); 
            Add('.STYLE7 {'); 
            Add(' font-size: 24px;'); 
            Add(' font-family: "宋体";'); 
            Add(' font-weight: bold;'); 
            Add('}'); 
            Add('.STYLE9 {color: #0066FF}'); 
            Add('.STYLE23 {font-weight: bold; font-size: 13pt; }'); 
            Add('.STYLE24 {color: #FF0000}'); 
            Add('.STYLE25 {'); 
            Add(' color: #0000FF;'); 
            Add(' font-weight: bold;'); 
            Add('} '); 
            Add('.STYLE26 {'); 
            Add(' color: #993300;'); 
            Add(' font-weight: bold;'); 
            Add('}'); 
            Add('.STYLE27 {color: #993300}'); 
            Add('-->'); 
            Add(' </style>'); 
            Add(' <Body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">'); 
            Add(' <Font Size=3>'); 
            Add(' <BR>'); 
            Add(' <span class="STYLE23">内容:'+FContent[0]+' </span> <BR>'); 
            Add(' </Font>'); 
            Add(' </Body>'); 
            Add(' </Html>'); 
          end; 
          //发送 
          try 
            FIdSMTP.Send(FIdMessage); 
          except 
            Result := false; 
          end; 
        end else 
        begin 
          result := false; 
        end; 
      finally 
        if FIdSMTP.Connected then 
          FIdSMTP.Disconnect; 
      end;