我需要一个拦截所有传入邮件的应用程序,并根据某些规范对其进行修改。 我是一个绝对的新秀,请详细说明:))
答案 0 :(得分:0)
试试此示例代码
Dim _tcpClient As New TcpClient
Dim _networkStream As NetworkStream
Dim _Msg As String
With _tcpClient
.Connect(Me.txtServerIp.Text, Integer.Parse(Me.txtPortNum.Text))
_networkStream = .GetStream
Dim sw As New StreamWriter(_networkStream)
Dim sr As New StreamReader(_networkStream)
If Not CheckError(sr.ReadLine()) Then
sw.WriteLine(String.Format("USER {0}", Me.txtUsername.Text))
sw.Flush()
End If
If Not CheckError(sr.ReadLine()) Then
sw.WriteLine(String.Format("PASS {0}", Me.txtPassword.Text))
sw.Flush()
End If
If Not CheckError(sr.ReadLine()) Then
sw.WriteLine("STAT ")
sw.Flush()
End If
_Msg = sr.ReadLine
Dim MsgCount As String = _Msg.Split(New String() {" "}, _
StringSplitOptions.RemoveEmptyEntries)(1)
If Integer.Parse(Me.lblMsgCount.Text) < Integer.Parse(MsgCount) Then
Me.lblMsgCount.Text = MsgCount
End If
sw.WriteLine("Quit ")
sw.Flush()
sw.Close()
sr.Close()
_networkStream.Close()
_tcpClient.Close()
End With
答案 1 :(得分:0)
所有传入的邮件都将通过SMTP发送。
所以,你需要做两件事之一:
如果您当前的服务器支持它,请挂钩它的SMTP事件,并在将消息传递给本地目标用户之前修改该消息。
或
您需要一个位于真实SMTP服务器前面的SMTP代理服务。
在SMTP代理内部,修改邮件,并将其传递给真正的SMTP服务器。