<p>Can anyone recommend software or a .NET library that will check for bounced emails and the reason for the bounce? I get bounced emails into a pop3 account that I can read then.</p>

<p>I need it to keep my user database clean from invalid email addresses and want to automate this (mark user as invalid email).</p>

It's pretty easy to do with a TcpClient. Open the server:
```
```
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(POP3Server, POP3Port);
NetworkStream stream = tcpClient.GetStream();
```
```
Read the welcome message:
```
```
int read = stream.Read(inBuffer, 0, inBuffer.Length);
string response = Encoding.ASCII.GetString(inBuffer, 0, read);
if (response.IndexOf("+OK") != 0) throw new ...;
```
```
Write back to the server:
```
```
byte[] outBuffer = Encoding.ASCII.GetBytes("USER " + account + "\r\n");
stream.Write(outBuffer, 0, outBuffer.Length);
```
```
That sends the USER command. You need to login and then you can start grabbing messages - see the POP3
RFC
for the full list of commands. If you're not looking to roll your own check out this
CodeProject article
.