220 Coremail SMTP(Anti Spam) System (163com[20030606])
250 192.168.1.170
334 (...)
334 (...)
521 Your message was blocked by NetEase AntiSpam+.  <-- 错误这是发送的第12封邮件,smtp.163.com的回应消息(省略的两行是user, pass)。主要问题在于,前11封都是没有问题的。邮件内容一样的。(而且每次运行都是如此,固定在12封时)这是怎么回事啊,请问怎样解决?急!解决马上结贴。正确的回应:
220 Coremail SMTP(Anti Spam) System (163com[20030606])
250 192.168.1.170
334 (...)
334 (...)
235 Authentication successful
250 Ok
250 Ok
354 End data with <CR><LF>.<CR><LF>
250 Ok: queued as joAQsRfZ20BfAMEF.1
221 Bye不是关于问题讨论,请不要轻易增加回复,谢谢!

解决方案 »

  1.   

    相关源码:
    Private Sub Winsock_sendmail_DataArrival(ByVal bytesTotal As Long)
     ... ...
        With Winsock_sendmail
            .GetData strResponse
            'Debug.Print strResponse
            strCode = Left(strResponse, 3)
            Select Case strState
               Case ""     '连接成功
                   If strCode = "220" Then
                        .SendData "HELO " + strSMTP + vbCrLf
                        strState = "HELO"
                   End If
               Case "HELO"
                   If strCode = "250" Then
                        .SendData "AUTH LOGIN" + vbCrLf
                        strState = "AUTH"
               
                   End If
               Case "AUTH"
                   If strCode = "235" Then
                        .SendData "MAIL FROM:" + strMailAddress + vbCrLf
                        strState = "MAIL"
                        
                   ElseIf strCode = "334" Then
                        If Left(strResponse, 16) = "334 VXNlcm5hbWU6" Then
                              .SendData Base64(strUID) + vbCrLf
                        ElseIf Left(strResponse, 16) = "334 UGFzc3dvcmQ6" Then
                              .SendData Base64(strPWD) + vbCrLf
                        Else
                       End If
                   End If
               Case "MAIL"
                   If strCode = "250" Then
                        .SendData "RCPT TO:" + strMailAddress + vbCrLf
                        strState = "RCPT"
                   End If
               Case "RCPT"
                    If strCode = "250" Then
                        .SendData "DATA" + vbCrLf
                        strState = "DATA"
                   End If
               Case "DATA"
                   If strCode = "354" Then
                        strArrMailBody(0) = strArrMailBody(0) + vbCrLf + "." + vbCrLf
                        .SendData strArrMailBody(0)
                        strState = "DATASEND"
                   End If
               Case "DATASEND"
                        .SendData "QUIT" + vbCrLf
                        strState = "QUIT"
               Case "QUIT"
                  .Close
                  MsgBox "Sent successfully!", vbInformation, "Mail"
            End Select
        End With
      ... ...
      

  2.   

    现在的stmp服务器全部设置禁止超发一定数量的电子邮件,特别是163的,10封可以,但是超了好象就不行了,有个解决方法就是重新登陆一便继续发
      

  3.   

    还不如自己做一个email服务器
      

  4.   

    太明显了521 Your message was blocked by NetEase AntiSpam+.  
    521错误:你的消息已经被 网易 的 反垃圾邮件系统阻塞!
    楼主发垃圾邮件?我个人对垃圾邮件深恶痛极!!!!!!!!!!!!!!!!!!
    我个人对垃圾邮件深恶痛极!!!!!!!!!!!!!!!!!!
    我个人对垃圾邮件深恶痛极!!!!!!!!!!!!!!!!!!
    我个人对垃圾邮件深恶痛极!!!!!!!!!!!!!!!!!!
    我个人对垃圾邮件深恶痛极!!!!!!!!!!!!!!!!!!
      

  5.   

    我写过类似软件,我觉得,软件不是拿来胡搞的!
    its screenshot url: 
    >http://free.efile.com.cn/huangtao/ScreenShot.jpg 
    >
    >setup download url: 
    >http://free.efile.com.cn/huangtao/SmartmailSource.rar