以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]FT有没有办法发送匿名邮件?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84487)

--  作者:jiskin
--  发布时间:2016/5/3 16:42:00
--  [求助]FT有没有办法发送匿名邮件?
如题,是否可以发送匿名邮件给 smtp server?
--  作者:大红袍
--  发布时间:2016/5/3 20:21:00
--  

汗,对协议不熟,小问题测试了一个晚上......

 

mark 匿名发邮件

 

Dim SMTPHoststr As String = "smtp.qq.com"
Dim data, szData
Dim namestr As String = "455189993@qq.com"
Dim passwordstr As String = "helen6849338."
Dim Senderstr As String = "455189993@qq.com"
Dim receiverStr As String = "2450314695@qq.com"
\'这里定义匿名发送的别名
Dim ChangeString As String = "From: ""发件人别名"" <fanjianren@163.com> " & vbcrlf & "To: ""收件人别名"" <shoujianren@sina.com> "
Dim title = "hello,尼玛"
Dim body = "我要测试我要测试我要测试."

Dim SmtpServ As New System.Net.Sockets.TcpClient(SMTPHoststr, 25)
Dim NetStrm = SmtpServ.GetStream()
Dim RDStrm As New io.StreamReader(SmtpServ.GetStream())
Data = "HELO test" & vbcrlf
\'在这里我们就默认叫server吧
szData = System.Text.Encoding.ASCII.GetBytes(Data)
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)

\'发送要求认证命令
Data = "AUTH LOGIN " & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
netStrm.Flush
output.show(data)
system.threading.thread.sleep(100)

\'发送base64编码过的用户名
Dim b As Byte() = System.Text.Encoding.ASCII.GetBytes(namestr)
Dim s As String = Convert.ToBase64String(b)
Data = s & vbcrlf
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)
\'发送base64编码过的密码
b = System.Text.Encoding.ASCII.GetBytes(passwordstr)
s = Convert.ToBase64String(b)
Data = s & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)
\'发送发件人信息
Data = "MAIL FROM: " & "<" & Senderstr & ">" & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)
\'发送接收人信息
Data = "RCPT TO: " & "<" & receiverStr & ">" & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)
\'发送Data命令
Data = "DATA" & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)

\'发送数据内容 其中包括伪造的发?收件人地址和姓名;
Data = ChangeString & vbcrlf & "SUBJECT: " & title & vbcrlf & vbcrlf & body
szData = System.Text.Encoding.utf8.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)
Data =  vbCRLF & "." & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()
output.show(data)
system.threading.thread.sleep(100)

\'退出SMTP服务器
Data = "QUIT " & vbCRLF
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
NetStrm.Flush()

\'查看交互内容
Dim buff(10000) As Byte
netstrm.read(buff,0, buff.length)
msgbox(System.Text.Encoding.ASCII.getString(buff))

\' 关闭连接
NetStrm.Close()
RDStrm.Close()

[此贴子已经被作者于2016/5/3 22:07:25编辑过]

--  作者:jiskin
--  发布时间:2016/5/3 22:01:00
--  
感谢红袍君,不过 这么长,都快把我看哭了……
--  作者:blackzhu
--  发布时间:2016/5/4 8:01:00
--  
留着