Drodzy programiści!

Piszę aplikacje umożliwiającą wysyłanie e-maili, mam problem z samym protokołem SMTP i wysyłaniem załączników, gdyż nie wiem jak powinna wyglądać sesja SMTP z uwierzytelnieniem i możliwością dodania załącznika? Może któryś z szanownych Panów jest specem od tego protokołu i podzieli się informacjami jak powinna wyglądać porządna sesja?