He econtrado esta respuesta en otro foro que espero te sirva:
"Aqui te paso una funcion que me hice para mandar correos con un archivo adjunto. Fijate que los archivos que se mandan se hacen mediante un TStringList, asi que modificarlo para que envie varios en vez de uno es muy simple. El componente lo encuentras en la pestaña FastNet.
void TForm1::MandarCorreo(AnsiString Fichero, AnsiString Texto, AnsiString Direcion)
{
TStringList *Atach=new TStringList();
Atach->Add(Fichero);
NMSMTP1->Host=Conf->Strings[2];
NMSMTP1->UserID=Conf->Strings[2];
NMSMTP1->EncodeType=uuMime;
NMSMTP1->Connect();
NMSMTP1->PostMessage->FromAddress = "tu_direcion@aqui.com";
NMSMTP1->PostMessage->FromName = "WebApp";
NMSMTP1->PostMessage->ToAddress->Text = Direccion;
NMSMTP1->PostMessage->ToCarbonCopy->Text = "";
NMSMTP1->PostMessage->ToBlindCarbonCopy->Text = "";
NMSMTP1->PostMessage->Body->Text = Texto;
NMSMTP1->PostMessage->Attachments = Atach;
NMSMTP1->PostMessage->Subject = "Log de WebApp con fallo";
NMSMTP1->PostMessage->LocalProgram = "WebApp";
NMSMTP1->PostMessage->Date = "fecha_que quieras";
NMSMTP1->PostMessage->ReplyTo = "tu_direccion@aqui.com";
NMSMTP1->SendMail();
NMSMTP1->Disconnect();
delete Atach;
}
Ahora mismo no me acuerdo el formato de fecha estandar para que te lo reconozcan los clientes de correo, pero solo tienes q fijarte y darle formato con n TDateTime.Format() que te devuelve un AnsiString."