qmail-lspawn er den eneste av demonene som går med UID root. Den kjører qmail-alias med mottakerens UID, i mottakerens hjemmekatalog. qmail-alias er ansvarlig for den faktiske leveringen, som kan være til en eller flere mboxer, maildir, program, og andre adresser (i det siste tilfellet vil qmail-alias bruke qmail-inject for å legge meldingen i køen).
qmail-rspawn har en enkel jobb: Den starter qmail-remote som på sin side sørger for levering via SMTP.
Når leveringen er vellykket fullført, er det qmail-cleans oppgave å fjerne meldingen fra køen. Dette programmet er også ansvarlig for å rydde opp i rusk og rask som måtte ligge igjen etter et krasj.
qmail-smtpd er ansvarlig for å motta innkommende post utenfra med SMTP. Programmet går ikke kontinuerlig, men startes fra inetd etter behov. Den kjører qmail-queue for å legge meldingene i køen. qmail-queue er det eneste programmet som legger ting i køen.
qmail-inject er en mer vennlig frontende til qmail-queue, og er ment å være det programmet brukernes postprogram (MUA) skal bruke for å sende post. Dette er det eneste programmet som skriver om headere (bortsett fra qmail-queue, som legger til Received: og qmail-alias, som legger til Delivered-To:). Siden de fleste MUAer venter å levere til sendmail, finnes det også en sendmail-klone som forstår de mest brukte argumentene og kaller qmail-inject på rett måte.