I'm guessing that Godaddy will support POP access to your email
accounts. First you need to get a .Net component for getting into
those email accounts using POP or SMTP. You should be able to do this
from any computer connected to the Internet, specifically I'm figuring
your home computer. That way you can poll the mailbox frequently for
new mail. This is the first hurdle you have to get over-- opening a
Godaddy mailbox and sending/receiving email. While it may not be the
hardest step, it's the most critical because this functionality is
governed by forces outside your control. There's no need developing
any further until you can get past this step.
Dart is very well known for good components, but they are not free:
[ http://www.dart.com/popdotnet.asp ]
You can try your luck with a freebie library:
[ http://www.c-sharpcorner.com/Code/2003/Sept/SMTPPOP3IMAPLibrary.asp ]
Or search for more. I used the terms: c# pop mail
=================================================
Next, you've got to figure out a strategy for hiding the sender's
email address from the recipient. A database would be a good method
to do this, just use an alias or generate a large random character
string and replace the sender's email with it:
you receive:
From: dontseeme@privateplace.com
To: somedude@somedomain.com
Subject: Test Message
generate and put something like this in your database...
biglongstringofnonsense = dontseeme@privateplace.com
and the outgoing mail will look like...
From: biglongstringofnonsense@mlfolk.com <-- replace mlfolk.com with
To: somedude@somedomain.com your domain name
Subject: Test Message
When the reply comes back as...
From: somedude@somedomain.com
To: biglongstringofnonsense@mlfolk.com
Subject: Re: Test Message - hello
you look up "biglongstringofnonsense" in the database and then return to sender
From: somedude@somedomain.com
To: dontseeme@privateplace.com
Subject: Re: Test Message - hello
=================================================
If you use a random string, use large (~20 characters) nonsequential
strings. Keep in mind email addresses are not case-sensitive, so only
use upper or lowercase letters. Log any invalid addresses so you can
debug, resolve and track hacking.
If, however, you want to avoid a database implementation, you'll need
to use a strong two-way encryption algorithm (i.e. not a hash). I'd
use AES since it's in the public domain and included in the .Net
classes. Just salt and encrypt the sender's email like this:
sender: dontseeme@privateplace.com
add salt to get: !@#$dontseeme@privateplace.com
now encrypt to get: biglongstringofnonsense
send email from: biglongstringofnonsense@mlfolk.com
[ ... some time passes... ]
email comes back addressed to: biglongstringofnonsense@mlfolk.com
strip off domain to get: biglongstringofnonsense
decrypt to get: !@#$dontseeme@privateplace.com
remove salt to get sender: dontseeme@privateplace.com
=================================================
The database method is nice because you can use an alias in place of
the sender's identity. That way the recipient knows who he is talking
to but just doesn't see the email address. This is common in online
chat forums and dating sites. The encryption method is nice because
it requires very few resources and is not prone to failure should the
database become unavailable. Either method can support making each
message unique so the recipient would be unaware that two different
emails came from the same sender. With either approach, you'll need
to set up your email on Godaddy so it all goes into the catch-all
mailbox. |