[sourcecode language='c#']
//The following code is the basic structure for constructing a message:
Indy.Sockets.IndyMessage.Message LMsg = new Indy.Sockets.IndyMessage.Message();

LMsg.From.Text = AFrom;
LMsg.Recipients.Add().Text = ATo;
LMsg.Subject = ASubject;
LMsg.Body.Text = AMsg;

SMTP LSMTP = new SMTP();
LSMTP.OnStatus += new Indy.Sockets.IndyComponent.TIdStatusEvent(SMTPStatus);
LSMTP.Host = "mail.domain.tld";
LSMTP.Connect();

try {
LSMTP.Send(LMsg);
Status("Completed");
}

finally {
LSMTP.Disconnect();
}
[/sourcecode]

more ...