I heared about SMTP servers implemented into applications itself.

What do I need to program my own SMTP server?