你有没有Connect成功啊,还有你搞这么多Case干吗,等着服务器来激活你?
你应该主动发送呀。

解决方案 »

  1.   

    我刚做完,哈哈。
    需要验证。
    AUTH LOGIN
    用户名(Base64编码)
    密码(Base64编码)
      

  2.   

    duqiang2050(杜杜)           不,我用的是不要验证的服务器
      

  3.   

    给我发电子邮件呀!
       [email protected]
      

  4.   

    没有设置SMTP服务器的端口号吧。
    Private Sub cmdSend_Click()
    Winsock1.RemoteHost = txtHost.Text
    Winsock1.RemotePort=txtPort.Text
    Winsock1.Connect
    End Sub
      

  5.   

    哦,不好意思
    应该是Winsock1.RemotePort=cint(txtPort.Text)
      

  6.   

    Private Sub cmdSend_Click()
    Winsock1.RemoteHost = txtHost.Text
    Winsock1.RemotePort = CInt(txtPort.Text)
    Winsock1.Connect
    End SubPrivate Sub Winsock1_DataArrival(ByVal byteTotal As Long)
    Dim Data As String
    Winsock1.GetData Data, vbString
    Debug.Print Data
    Select Case Val(Data)
      Case 220
          Tag = "helo"
          Winsock1.SendData "helo " & txtHost.Text & vbCrLf
      Case 250
      Select Case Tag
        Case "helo"
            Winsock1.SendData "mail from:" & txtSender.Text & vbCrLf
            Tag = "mail"
        Case "mail"
            Winsock1.SendData "rcpt to:" & txtTo.Text & vbCrLf
          Tag = "rcpt"
        Case "rcpt"
            Winsock1.SendData "data" & vbCrLf
            Tag = "data"
        Case "data"
            Winsock1.SendData "quit" & vbCrLf
            Tag = "quit"
      End Select
      Case 251
          Winsock1.SendData "data" & vbCrLf
        Tag = "data"
      Case 354
          Winsock1.SendData "Form:" & txtSender.Text & vbCrLf & "To:" & _
                            txtSender.Text & vbCrLf & "Subject:" & txtSubject.Text _
                            & vbCrLf & "Date:" & Now()
          Winsock1.SendData "MIME-Version:  1.0" & vbCrLf & _
                            "Content-Type:text/plain;charset=gb2312" _
                            & vbCrLf & "Content-Transfer-Encoding: 8bit" _
                            & vbCrLf & vbCrLf
          Winsock1.SendData txtContent.Text
          Winsock1.SendData vbCrLf & "." & vbCrLf
      Case 221
          Tag = ""
      Case Else
          Winsock1.SendData "quit" & vbCrLf
          Tag = "quit"
          MsgBox "发送邮件出错!!!" & Data
      End Select
    End Sub
      

  7.   

    也不行,发电子邮件使用25端口吗?可以发个例程给我吗?[email protected]
      

  8.   

    我已经试过了,成功了!SMTP服务器的端口一般为25.我发个给你吧!记得给我加分
      

  9.   

    [email protected]
    我会给分的