<p>Recently I had to move one of my web applications to a new hosting provider. The mail and web service is still held on the old hosting site however, when I try to send an email from the new server,I get an error; </p>

<p>"The server rejected one or more recipient addresses. The server response was:</p>

<pre><code>450 &lt;email_address&gt;: Recipient address rejected: Greylisted for 5 minutes
</code></pre>

<p>I asked my old hosting provider what I need to do to fix this and they replied with</p>

<blockquote>
  <p>The mail server operates on POP before
  SMTP. If a valid POP login is not
  received before sending mail through
  the server, then the mail is
  greylisted and held for 5 minutes
  before a retry. </p>
  
  <p>To prevent this, simply do a Receive
  before sending mail</p>
</blockquote>

<p>Does anyone have any idea how I do a POP before SMTP in C#? </p>

i'm not sure how C# would handle the specifics (sockets?), but basically you just want to make a connection to your new POP server. here's a sample POP transaction:
```
```
$ telnet new-pop-server.com 110
Connected to new-pop-server.com.
Escape character is '^]'.
+OK
USER <username>
+OK 
PASS <password>
+OK               // you're authenticated at this point 
LIST
+OK 
.                 // no new messages!
QUIT
+OK
```
```
once you're authorized you should be able to send your mail programatically. (USER, PASS, LIST, QUIT) are all commands you would send (
pop3 RFC
).