Тебе нужно нарыть документацию по поводу системы команд SMTP сервера, а затем воплотить в жизнь все прочитанное через сокеты.
я когда-то писал простой smtp сервак, который все редиректит (локального хранилища нету): http://gr8.cih.ms/smtpd.cpp
Гм. Это все smtp-серверы так работают - цепляются к другому серверу и EHLO-MAIL FROM-RCPT TO-blah-blah-blah?
Например mail.ru не работает с незнакомыми ip'aми на уровне smtpd -> smtpd. А писать smtpd не составляет особого труда, берём rfc smtpd и rfc dns запроса. На крайняк моно скачнуть freesmtpd, запустить сниффер и глядеть какимы данными обмениваются меж собой client -> server -> server.