Hmm, I'm not quite sure what you mean by "craigslist", but I know that in the application I was just building, I bought the SmarterMail application from http://smartertools.com and used my .NET API as part of my software.
When a user signs up and pays, I generate a random string (you can make it more meaningful if you want), and then add it to the domain name ( fke34s@example.com )
API SmarterMail .
, , ... , X . X , ( ).
.