关于邮件悄悄发(被当作垃圾邮件)

ZOU_SEAFARER 2008-01-09 05:42:50
我做一个邮件悄悄发!
就是点一个按扭,一些设定好的信息被自动发送到指定的邮箱中!!代码如下:

Private Sub EmailConnect()
If Winsock1.State <> 0 Then
Winsock1.Close
End If
Winsock1.Protocol = sckTCPProtocol 'Set TCP
Winsock1.RemoteHost = "smtp.sohu.com" 'name of server
Winsock1.RemotePort = 25 'remotePort
'Winsock1.LocalPort = 5001 'Local Port
Winsock1.Connect
DoEvents
End Sub
Private Sub Command1_Click()
Call EmailConnect
End Sub
'Send Information by Email
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Static bytSendFlag As Byte
Winsock1.GetData str
Debug.Print str
Select Case Left$(str, 3)
Case 220 'Hello Information
Winsock1.SendData ("EHLO Yongjun" + vbCrLf)
bytSendFlag = 1
Case 250
Select Case bytSendFlag
Case 1 'Auto
Winsock1.SendData ("AUTH LOGIN" + vbCrLf)
DoEvents
bytSendFlag = bytSendFlag + 1
Case 5 'To Email
Winsock1.SendData ("rcpt to:" + Chr$(32) + "XXXXXX@hotmail.com" + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
Case 6 'data information
Winsock1.SendData ("data" + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
Case 8 'Close Connect
Winsock1.SendData ("quit" + vbCrLf)
Winsock1.Close
DoEvents

End Select

Case 334
Select Case bytSendFlag
Case 2 'Name of User
Winsock1.SendData (BaseEncode64("UserName") + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
Case 3 'Password of User
Winsock1.SendData (BaseEncode64("PassWord") + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
End Select
Case 235
If bytSendFlag = 4 Then 'From E-mail
Winsock1.SendData ("mail from:" + Chr$(32) + "xxxxx@sohu.com" + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
End If

Case 354
If bytSendFlag = 7 Then 'Information of Email ,this mail is blocked by kbas system,blockid=192.168.41.217.25648.1199861029
Winsock1.SendData ("Date:" + Chr$(32) + Format$(Date, "Ddd") & "," & Format$(Date, "dd Mmm YYYY") & "" & Format$(tIME, "hh:mm:ss") & "" & "-0600" + vbCrLf)
Winsock1.SendData ("From:" + Chr$(32) + "USERNAME" + vbCrLf)
Winsock1.SendData ("X-Mailer: vbemailsender" + vbCrLf)
Winsock1.SendData ("To:" + Chr$(32) + "SOFTCOMPANY" + vbCrLf)
Winsock1.SendData ("Subject:" + Chr$(32) + "SOFT" + vbCrLf)
Winsock1.SendData ("I AM USING THE SOFT!" + vbCrLf)
Winsock1.SendData ("." + vbCrLf)
DoEvents
bytSendFlag = bytSendFlag + 1
End If
End Select

End Sub




提示如下!!请帮忙
this mail is blocked by kbas system,blockid=192.168.41.217.25648.1199861029
搜索相关资料说是被反垃圾邮件拒绝!邮件未被发送. 不知道如何解决,特求救!谢谢


...全文
294 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZOU_SEAFARER 2008-01-22
  • 打赏
  • 举报
回复
上面的代码就是通过WINSOCK发送邮件,如果你要做毕业设计,直接使用邮件对象即可!
linton 2008-01-17
  • 打赏
  • 举报
回复
你好!能否将你的邮件发送代码共享?我正好也在做这方面的毕业设计,急需用。谢谢!我的邮箱地址是:tranlynn_lau@sina.com
ZOU_SEAFARER 2008-01-10
  • 打赏
  • 举报
回复
akirya 你说的直接投递是什么个实现方法?希望能学学!!

谢谢!
ZOU_SEAFARER 2008-01-10
  • 打赏
  • 举报
回复
问题解决了

原来是SOHU的垃圾邮件屏蔽系统搞的名堂
我换用21CN邮件服务器就没有这个问题了,所以我直接申请一个21CN的邮件,呵呵
  • 打赏
  • 举报
回复
你直接投递到接收用户的smtp服务器上试试看.服务器到服务器之间的协议协议smtp
应该可以直接投递过去的.

还有一个笨办法
用邮件客户端发一封邮件,然后抓包,看看认证的过程是什么.
ZOU_SEAFARER 2008-01-10
  • 打赏
  • 举报
回复
等待中,今天又搜索了一个上午,还是没有找到解决问题的方法!!版主快来帮忙呀!
ZOU_SEAFARER 2008-01-09
  • 打赏
  • 举报
回复
登陆成功,查了一些资料说是没有经过验证,不知道发送什么数据能验证,下面是返回结果:



220 smtp.sohu.com ESMTP Postfix
250-smtp.sohu.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
334 VXblcm9hmWU6 'username
334 UWyzc3dvmmQ6 'password
235 2.0.0 Authentication successful
250 2.1.0 Ok
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF> 'send data finish
550 5.7.7 this mail is blocked by kbas system,blockid=192.168.41.217.20468.1199872613
  • 打赏
  • 举报
回复
是不是拼的邮件格式有问题?

1,502

社区成员

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

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