求教在以下Select语句中,为何If Left(strServerResponse, 3) <> "235" Then这个判断里是否=235,都执行这句hhhhh:
再次输入.Show
我求教高手,如何是他在不等于235时(=235,不跳转,不执行hhhhh:这句),才跳转到执行hhhhh:,谢谢!!!            Select Case m_State
            Case MAIL_CONNECT
                m_State = MAIL_HELO
                 Winsock1.SendData "HELO " & UsreuserFXRDZ & vbCrLf
                 StatusTxt = "登陆服务器"
            Case MAIL_HELO
                 m_State = MAIL_USER
                 Winsock1.SendData "AUTH LOGIN" & vbCrLf
                 StatusTxt = "正在校验用户名"
            Case MAIL_USER
                 m_State = MAIL_PASS
                 Winsock1.SendData (Base64_Encode(Trim(UseruserNAME))) & vbCrLf
                 StatusTxt = "校验用户密码"
                  Winsock1.GetData strServerResponse
            Case MAIL_PASS
                 m_State = mail_login
                 Winsock1.SendData (Base64_Encode(Useruserpass)) & vbCrLf
                 StatusTxt = "发送人邮件地址"
            Case mail_login
                 Winsock1.GetData strServerResponse
                If Left(strServerResponse, 3) <> "235" Then
                GoTo hhhhh
                else
                Winsock1.SendData "MAIL FROM:" & Trim$(UsreuserFXRDZ) & vbCrLf
                StatusTxt = "接收人邮件地址"
                End If
                 
           ...............................
           End Selecthhhhh:
再次输入.Show

解决方案 »

  1.   

    Case mail_login
                     Winsock1.GetData strServerResponse
                    If Left(strServerResponse, 3) <> "235" Then
                    GoTo hhhhh
                    else
                    Winsock1.SendData "MAIL FROM:" & Trim$(UsreuserFXRDZ) & vbCrLf
                    StatusTxt = "接收人邮件地址"
                    End If
                     
               ...............................
               End Selectexit sub(或者exit function)
    hhhhh: