La soumission d'un message par un agent utilisateur se faisait par simple appel de sendmail, avec comme argument l'adresse du ou des destinataires, ce qui constituait alors une partie de l'enveloppe (voir 1.4, page ).
Jusqu'à la version 8.11 de sendmail, cet appel initié par l'agent utilisateur, donc avec les droits de l'utilisateur, démarrait toute la mécanique de sendmail, y compris le stockage du message dans la file d'attente, la lecture des .forward des utilisateurs, ou encore l'appel au programme de remise physique qui devait changer d'identité. Pour faire tout ceci, le binaire devait donc avoir le bit set-user-id et être propriété de root, ce qui était assez dangereux.