📄 frmcheckmailonly.frm
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form FrmCheckMailOnly
Caption = "检测Pop3信箱是否有信"
ClientHeight = 2520
ClientLeft = 1785
ClientTop = 2355
ClientWidth = 7035
LinkTopic = "Form1"
ScaleHeight = 2520
ScaleWidth = 7035
Begin VB.CommandButton cmdCheck
Caption = "开始检测"
Height = 510
Left = 5175
TabIndex = 7
Top = 675
Width = 1215
End
Begin VB.TextBox txtPassword
Height = 330
IMEMode = 3 'DISABLE
Left = 2400
PasswordChar = "*"
TabIndex = 6
Text = "123"
Top = 1800
Width = 2565
End
Begin VB.TextBox txtUser
Height = 330
Left = 2400
TabIndex = 5
Text = "abc"
Top = 1305
Width = 2565
End
Begin VB.TextBox txtPOP3
Height = 330
Left = 2400
TabIndex = 1
Text = "pop.sina.com"
Top = 765
Width = 2565
End
Begin MSWinsockLib.Winsock Winsck
Left = 450
Top = 990
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "口令:"
Height = 180
Index = 2
Left = 1800
TabIndex = 4
Top = 1890
Width = 540
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "用户名:"
Height = 180
Index = 1
Left = 1650
TabIndex = 3
Top = 1395
Width = 720
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "POP3 SERVER:"
Height = 180
Index = 0
Left = 1200
TabIndex = 2
Top = 855
Width = 1170
End
Begin VB.Label lblTip
AutoSize = -1 'True
Caption = "仅检测指定的信箱中是否有信"
Height = 180
Left = 375
TabIndex = 0
Top = 315
Width = 2340
End
End
Attribute VB_Name = "FrmCheckMailOnly"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdCheck_Click()
With Me.Winsck
.RemoteHost = Me.txtPOP3
.RemotePort = 110
.Connect
End With
End Sub
Private Sub Winsck_DataArrival(ByVal bytesTotal As Long)
Static sStep As String ' 当前的步骤
Dim sCmd As String
Dim sBuff As String
Dim I As Integer, Ct As Integer
Call Me.Winsck.GetData(sBuff) ' 读取返回的信息
If Left(sBuff, 1) = "+" Or Left(sBuff, 1) = "-" Then ' +成功;-失败
Select Case Left(sBuff, 3)
Case "+OK"
Select Case sStep
Case "" ' 第一步:认证
sCmd = "USER " & Me.txtUser & vbCrLf
Me.Winsck.SendData sCmd
sStep = "USER"
Case "USER"
sCmd = "PASS " & Me.txtPassword & vbCrLf
Me.Winsck.SendData sCmd
sStep = "PASS"
Case "PASS" ' PASS命令的返回格式为“+OK username has nnn messages(s).”
sBuff = UCase(sBuff)
I = InStr(sBuff, "HAS")
sBuff = Mid(sBuff, I + 3)
I = InStr(sBuff, " ")
Ct = CInt(Trim(Left(sBuff, I - 1)))
Me.lblTip.Caption = "提示:有" & Ct & "封信"
sStep = "WAIT"
Case "QUIT"
sStep = "QUIT"
Me.Winsck.Close
End Select
Case "-ERR"
Me.lblTip.Caption = "出错:" & sBuff
sCmd = "QUIT" & vbCrLf
Me.Winsck.SendData sCmd ' 出错,则关闭端口返回
sStep = "QUIT"
End Select
Else
' 忽略其他命令
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -