Я исрользовал компоненты TIdSMTP и TIdMessage (вкладки Indy Clients и Indy Misc). Код выглядит так:
procedure SendMail;
var
LSMTP: TIdSMTP;
LMsg: TIdMessage;
x: TIdAttachment; //Это аттач письма, можешь удалить, если не надо
//Обьявлям переменные.
begin //Ну начинаем

LSMTP := TIdSMTP.Create(nil); //Создаемся
LMsg := TIdMessage.Create(LSMTP);
with LMsg do
begin
Subject := 'Тема'; // Здесь вводим тему
Recipients.EMailAddresses := 'blabla@yandex.ru' ; // куда будет послано письмо...
From.Text := 'karkar67@mail.ru'; //От кудыкина будет письмо
Body.Add('Текст письма');
x:=TIdAttachment.Create(LMsg.MessageParts,'Пут к файлу аттача'); //не нужен аттач - стирай всю строку
end;
with LSMTP do
begin
AuthenticationType:=atNone;
Host := 'smtp.mail.ru';
Port := 25;
Username :='karkar7@mail.ru' ; //здесь происходит авторизация(как в почтовом клиенте)
Password :='loxi' ;
try
Connect; //зухель коннект!!
Send(LMsg);
except
end;
end;
FreeAndNil(LMsg);
FreeAndNil(LSMTP);
end;