Select Case Mstate
Case smtp_connect
Mstate = smtp_hello
Winsock1.SendData "EHLO " + Winsock1.LocalIP + vbCrLf
Case smtp_hello
Mstate = smtp_login
Winsock1.SendData "AUTH LOGIN" + vbCrLf
Case smtp_login
Mstate = smtp_user
Winsock1.SendData B64E(Text2.Text) + vbCrLf
Case smtp_user
Mstate = smtp_pass
Winsock1.SendData B64E(Text1.Text) + vbCrLf
Case smtp_pass
Mstate = smtp_from
Winsock1.SendData "MAIL FROM:<" + Combo2.Text + ">" + Chr(13) + Chr(10)
Case smtp_from
Mstate = smtp_re
Winsock1.SendData "RCPT TO:<" + Combo1.Text + ">" + vbscrlf Case smtp_re
Mstate = smtp_data
Winsock1.SendData "DATA" + Chr(13) + Chr(10) '准备开始传送信件数据
'MsgBox str
Case smtp_data
Mstate = smtp_subject
Winsock1.SendData "Subject:" + Text3.Text + Chr(13) + Chr(10)
Winsock1.SendData "Date:" + Format(Now, "dd mmm yy tttt") + vbCrLf
Winsock1.SendData "Mail From:" + Combo2.Text + vbCrLf
Winsock1.SendData "Rcpt to:" + Combo1.Text + vbCrLf
Winsock1.SendData "X-Mailer:boat" + vbCrLf
Winsock1.SendData Text4.Text + vbCrLf
Winsock1.SendData vbCrLf & "." & vbCrLf
Case smtp_subject
Mstate = smtp_quit
Winsock1.SendData "QUIT" & vbCrLf
Case smtp_quit
End Select
以上我得主程序段
问题如下:
登陆smtp.21cn.com,反馈如下
235 OK Authenticated250 <[email protected]>, sender ok.354 Start mail input; end with <CRLF>.<CRLF>554 From field in mail header mismatches MAIL FROM command.
登陆smtp.163.com,反馈如下
235 Authentication successful250 Ok250 Ok354 End data with <CR><LF>.<CR><LF>Your message was blocked by NetEase AntiSpam+. 20oAALOTAz8zAUd6.1221 Bye
然而其它很多smtp服务器如elong.sina.等,我得程序都能顺利发送,为什么这2不行
Case smtp_connect
Mstate = smtp_hello
Winsock1.SendData "EHLO " + Winsock1.LocalIP + vbCrLf
Case smtp_hello
Mstate = smtp_login
Winsock1.SendData "AUTH LOGIN" + vbCrLf
Case smtp_login
Mstate = smtp_user
Winsock1.SendData B64E(Text2.Text) + vbCrLf
Case smtp_user
Mstate = smtp_pass
Winsock1.SendData B64E(Text1.Text) + vbCrLf
Case smtp_pass
Mstate = smtp_from
Winsock1.SendData "MAIL FROM:<" + Combo2.Text + ">" + Chr(13) + Chr(10)
Case smtp_from
Mstate = smtp_re
Winsock1.SendData "RCPT TO:<" + Combo1.Text + ">" + vbscrlf Case smtp_re
Mstate = smtp_data
Winsock1.SendData "DATA" + Chr(13) + Chr(10) '准备开始传送信件数据
'MsgBox str
Case smtp_data
Mstate = smtp_subject
Winsock1.SendData "Subject:" + Text3.Text + Chr(13) + Chr(10)
Winsock1.SendData "Date:" + Format(Now, "dd mmm yy tttt") + vbCrLf
Winsock1.SendData "Mail From:" + Combo2.Text + vbCrLf
Winsock1.SendData "Rcpt to:" + Combo1.Text + vbCrLf
Winsock1.SendData "X-Mailer:boat" + vbCrLf
Winsock1.SendData Text4.Text + vbCrLf
Winsock1.SendData vbCrLf & "." & vbCrLf
Case smtp_subject
Mstate = smtp_quit
Winsock1.SendData "QUIT" & vbCrLf
Case smtp_quit
End Select
以上我得主程序段
问题如下:
登陆smtp.21cn.com,反馈如下
235 OK Authenticated250 <[email protected]>, sender ok.354 Start mail input; end with <CRLF>.<CRLF>554 From field in mail header mismatches MAIL FROM command.
登陆smtp.163.com,反馈如下
235 Authentication successful250 Ok250 Ok354 End data with <CR><LF>.<CR><LF>Your message was blocked by NetEase AntiSpam+. 20oAALOTAz8zAUd6.1221 Bye
然而其它很多smtp服务器如elong.sina.等,我得程序都能顺利发送,为什么这2不行
改成
Case smtp_login
Mstate = smtp_user
Winsock1.SendData B64E(Text2.Text) + vbCrLf
Case smtp_user
' Mstate = smtp_pass
' Winsock1.SendData B64E(Text1.Text) + vbCrLf
' Case smtp_pass
Mstate = smtp_from
Winsock1.SendData "MAIL FROM:<" + Combo2.Text + ">" + Chr(13) + Chr(10)试试,是不是21cn、163行,elong.sina.不行了