看看那错了这只是一个发邮件的程序

wansijei 2003-09-12 01:30:29
Private Enum SMTP_State
MAIL_CONNECT
MAIL_HELO
MAIL_FROM
MAIL_RCPTTO
MAIL_DATA
MAIL_DOT
MAIL_QUIT
End Enum
Private m_State As SMTP_State
Private First As String
Private Second As String
Private DateNow As Date
Private Third As Date
Private Fourth As String
Private Fifth As String
Private Sixth As String
Private Seventh As String
Private Ninth As String
Private Eighth As String
Private Sub Command1_Click()
Winsock1.Close
Winsock1.LocalPort = 0
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = "smtp.sohu.com"
Winsock1.RemotePort = 25
Winsock1.Connect
m_State = MAIL_CONNECT
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strServerResponse As String
Dim strResponseCode As String
Dim strDataToSend As String
Winsock1.GetData strServerResponse
Debug.Print strServerResponse
strResponseCode = Left(strServerResponse, 3)
If strResponseCode = "250" Or strResponseCode = "220" Or strResponseCode = "354" Then
Select Case m_State
Case 0
m_State = MAIL_HELO
Winsock1.SendData "HELO www.sohu.com" & vbCrLf

Debug.Print "HELO www.sohu.com"
Case 1
m_State = MAIL_FROM
Winsock1.SendData "mail from: " & Chr(32) & "wansijei@sohu.com" & vbCrLf
Debug.Print "MAIL FROM: wansijei@sohu.com"
Case 2
m_State = MAIL_RCPTTO
Winsock1.SendData "rcpt to: wansijei@sohu.com" & vbCrLf
Debug.Print "RCPT TO: wansijei@sohu.com"
Case 3
m_State = MAIL_DATA
Winsock1.SendData "data" & vbCrLf
Debug.Print "DATA"
Case 4

m_State = MAIL_DOT
Winsock1.SendData "Subject: " & "wwwwwwwwwwwwwtext" & vbCrLf
Winsock1.SendData "text" & vbCrLf
Winsock1.SendData "." & vbCrLf
Case 5
m_State = MAIL_QUIT
Winsock1.SendData "QUIT" & vbCrLf
Debug.Print "QUIT"


Case 6
Winsock1.Close
Command1.Enabled = True
MsgBox "OK"
Winsock1.Close
End Select

Else

Winsock1.Close
MsgBox "SMTP ERRor:" & strServerResponse, vbInformation, "SMTP Error"
' Command1.Enabled = True
End If
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "WinSock Error Number " & Number & vbCrLf & Description, vbExclamation, "WinSock Error"
End Sub
...全文
79 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlum99 2003-09-13
  • 打赏
  • 举报
回复
哦,解决就好
wansijei 2003-09-13
  • 打赏
  • 举报
回复
谢谢闲人了.问题解决.给分
wansijei 2003-09-12
  • 打赏
  • 举报
回复
谢谢我试试。嘻。
jlum99 2003-09-12
  • 打赏
  • 举报
回复
而且服务器要是视不同的目标地址不同比如是xxxxx@163.com就要找163的服务器,并且上面的握手语句
Winsock1.SendData "HELO www.sohu.com" & vbCrLf
要改成 Winsock1.SendData "HELO www.163.com" & vbCrLf
jlum99 2003-09-12
  • 打赏
  • 举报
回复
这是个匿名邮件发送器,如果对方服务器不支持匿名邮件是不行的,想知道什么服务器支持匿名可以这样,在2000/XP下,依次输入
nslookup
163.com
set type=mx
就能看到.
任选一个连入即可.
wansijei 2003-09-12
  • 打赏
  • 举报
回复
smtp.163.com
25

这个在OUTLOOK 中能用的也不能用为什么。。??而且报的错就在Winsock1.SendData "mail from: " & Chr(32) & "wansijei@sohu.com" & vbCrLf 这句上谢谢。。一定给分。
Garfield 2003-09-12
  • 打赏
  • 举报
回复
smtp.sohu.com:25
连不上
jlum99 2003-09-12
  • 打赏
  • 举报
回复
握手要写sina.com.cn,这是sina的域名.
wansijei 2003-09-12
  • 打赏
  • 举报
回复
Private Enum SMTP_State
MAIL_CONNECT
MAIL_HELO
MAIL_FROM
MAIL_RCPTTO
MAIL_DATA
MAIL_DOT
MAIL_QUIT
End Enum
Private m_State As SMTP_State
Private Sub Command1_Click()
Winsock1.Close
Winsock1.LocalPort = 0
'Winsock1.Protocol = sckTCPProtocol
' Winsock1.RemoteHost = "smtp.sohu.com"
' Winsock1.RemotePort = 25
Winsock1.Connect "sohumx.sohu.com", 25
m_State = MAIL_CONNECT
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strServerResponse As String
Dim strResponseCode As String
Dim strDataToSend As String
Winsock1.GetData strServerResponse
Debug.Print strServerResponse
strResponseCode = Left(strServerResponse, 3)
If strResponseCode = "250" Or strResponseCode = "220" Or strResponseCode = "354" Then
Select Case m_State
Case 0
m_State = MAIL_HELO
Winsock1.SendData "HELO sohumx.sohu.com" & vbCrLf

Debug.Print "HELO www.sohu.com"
Case 1
m_State = MAIL_FROM
Winsock1.SendData "mail from: " & Chr(32) & "wansijei@sohu.com" & vbCrLf
Debug.Print "MAIL FROM:wansijei@sohu.com"
Case 2
m_State = MAIL_RCPTTO
Winsock1.SendData "rcpt to: wansijei@sohu.com" & vbCrLf
Debug.Print "RCPT TO: wansijei@sohu.com"
Case 3
m_State = MAIL_DATA
Winsock1.SendData "data" & vbCrLf
Debug.Print "DATA"
Case 4

m_State = MAIL_DOT
Winsock1.SendData "Subject: " & "wwwwwwwwwwwwwtext" & vbCrLf
Winsock1.SendData "text" & vbCrLf
Winsock1.SendData "." & vbCrLf
Case 5
m_State = MAIL_QUIT
Winsock1.SendData "QUIT" & vbCrLf
Debug.Print "QUIT"


Case 6
Winsock1.Close
Command1.Enabled = True
MsgBox "OK"
Winsock1.Close
End Select

Else

Winsock1.Close
MsgBox "SMTP ERRor:" & strServerResponse, vbInformation, "SMTP Error"
' Command1.Enabled = True
End If


End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "WinSock Error Number " & Number & vbCrLf & Description, vbExclamation, "WinSock Error"
End Sub


这样就行了吧可是还是不行呀。
wansijei 2003-09-12
  • 打赏
  • 举报
回复
就用sinamx.sina.com.cn 吧。
可我不知道我的程序应该改那我把 HELO 改成。HELO sinamx.sina.com.cn
报错说什么不我的HELO会话中没有按国际标准什么的。。
jlum99 2003-09-12
  • 打赏
  • 举报
回复
mx类型的.
wansijei 2003-09-12
  • 打赏
  • 举报
回复
这下到是出来了可是出来了很多不知道选择那个。。好像分两块吧。。
一块是上面的说什么NOT A。*****。。
还一块是下面的。。

选择那个??
jlum99 2003-09-12
  • 打赏
  • 举报
回复
163.com

m208.163.com internet address = 202.108.44.208
m209.163.com internet address = 202.108.44.209
m210.163.com internet address = 202.108.44.210
m180.163.com internet address = 202.108.44.180
m207.163.com internet address = 202.108.44.207
ns.nease.net internet address = 202.106.185.75
ns2.nease.net internet address = 202.108.42.3

sinamx.sina.com.cn bjmx.163.net sohumx.sohu.com mx5.mail.yahoo.com
mx1.mail.yahoo.com mta.21cn.com
mta2.21cn.com mx03.263.net
mx08.263.net
mx09.263.net
mx06.263.net
mx01.263.net
mf5.elong.com
mf0.elong.com
mf2.elong.com
mf4.elong.com mx.yeah.net nmx.yeah.net mail.yesee.com
jlum99 2003-09-12
  • 打赏
  • 举报
回复
nslookup 是个程序,或许是第3句和2句反了,再试试
wansijei 2003-09-12
  • 打赏
  • 举报
回复
nslookup
163.com
set type=mx

不知道如何用呀。。这是放在一句吗?/
运行了第三句没有效果出来呀。不好意思。麻烦了/

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧