用SOCKET写,登录后,执行LIST命令就会给你一个串。
再根据邮件序号一个个TOP就行了。
再根据邮件序号一个个TOP就行了。
解决方案 »
- 有谁用过GetClassName这个API函数(C#中的字符串指针该如何处理)
- 序列化的一个问题
- 实在不会了,请教:当两个窗体之间的关系不同时......
- 求救:SqlCommand 执行 insert 的sql语句最长不能超过多少?
- 如何取得到客户端机子的相关信息
- c# web开发使用ListBox,ListBox1.SelectedIndex=-1 的问题!
- 关于JAVASCRIPT的问题 求助
- 用System.IO.File.Exists()为何查不到确实存在的文件呢?
- 怎么新建不了ASP.NET Web应用程序项目阿?
- 关于对话框和非对话框的问题!
- C#中如何取得硬盘的信息
- 谁用过了Visual Studio .NET 2003 英文beta版?能不能介绍一下有什么变化呀?
<HTML><HEAD><title>Pop3 mail check</title></HEAD>
<body bgcolor=white><%if isPostback then
readMail(host.text,user.text,pass.text)
else%><form id=calc method=post runat="server"><P>
Host <asp:TextBox id=host runat="server"></asp:TextBox>
<P>
User <asp:TextBox id=user runat="server"></asp:TextBox>
<P>
Pass <asp:TextBox TextMode=Password id=pass runat="server"></asp:TextBox><P>
<asp:Button id=Button1 runat="server" Text="Login"></asp:Button></FORM><%end if%></body></HTML><script language="vb" runat="server">
Dim tcpC as New system.net.sockets.TcpClient()
' send command strings and return the response
Function SendCommand(byRef netstream as System.Net.Sockets.NetworkStream,byVal sToSend as String)
Dim bData() as Byte = Encoding.ASCII.GetBytes(sToSend.ToCharArray)
netstream.Write(bData,0,bData.Length())
Return GetResponse(netstream)
End Function
' check if there is a response to get and return it
Function GetResponse(byRef netstream as System.Net.Sockets.NetworkStream) Dim bytes(tcpC.ReceiveBufferSize) As Byte
Dim ret as integer = netStream.Read(bytes, 0, bytes.length)
' Returns the data received
Dim returndata As String = Encoding.ASCII.GetString(bytes)
return returndata
End Function
Function ReadMail(host as string, user as string, pass as string)
' initialise objects
Dim netstream as System.Net.Sockets.NetworkStream
Dim thisResponse as string
' open connection to server
try
tcpC.Connect(host,110)
catch ex as exception
response.write("Error connecting to host: " & ex.message & " - Please check your details and try again")
response.end
end try
' get response
netstream = tcpC.GetStream()
thisResponse=GetResponse(netstream)
' enter user name
thisResponse=SendCommand(netstream,"user " & user & vbCrLF) ' enter password
thisResponse=SendCommand(netstream,"pass " & pass & vbCrLf)
' check if logged in ok
if not left(thisResponse,4)="-ERR" then
response.write("<font face=courier>Logged in OK <BR>")
else
response.write("Error logging in, check your user details and try again<BR>")
response.write("<P>" & thisresponse)
response.end
end ifthisResponse=SendCommand(netstream,"stat" & vbCrLf)
dim tmpArray() as string
tmpArray = split(thisResponse," ")dim thisMess as integer
dim numMess as string = tmpArray(1)response.write("<p><hr>")thisResponse = ""if cint(numMess) > 0 then
response.write("Messages: " & numMess & "<br>")
for thisMess = 1 to cint(numMess)
thisResponse += replace(SendCommand(netstream,"top " & thisMess & " 10" & vbCrLf),vbcrlf,"<br>") next
else
response.write("Messages: None" & "<br>")
end if
thisResponse += replace(SendCommand(netstream,"stat" & vbCrLf),vbcrlf,"<br>")tmpArray = split(thisResponse,"+OK")Dim msg as integer
for msg = 1 to tmpArray.length-1 response.write("<h3>#" & msg & "</h1>" & tmpArray(msg) & "<p>")next' close connection
thisResponse=SendCommand(netstream,"QUIT" & vbCrLF)
tcpC.close
End Function
</script>