Il y a quelques années, j'ai constaté la réception de courriels depuis l'extérieur par des comptes systèmes (man, www-data, mysql, etc.) de mon serveur emails.
Néanmoins, c'était qu'un seul serveur sur les deux. Un test m'avait confirmé cela.
Cette divergence s'explique par le fait que, d'un côté, le MDA est Postfix, alors que, de l'autre côté, c'est Dovecot.
Or, le message d'erreur de ce dernier est limpide : « dovecot: lda(8499): Fatal: Mail access for users with UID 33 not permitted (see first_valid_uid in config file, uid from userdb lookup). »
Quant à lui, Postfix ne vérifie même pas, par défaut, qu'un répertoire personnel existe (paramètre « require_home_directory »). Cela se comprend pour quelques usages (notamment quand le maildir n'est pas dans le home).
Postfix ne propose aucune option équivalente à celle de Dovecot (sauf pour les boîtes aux lettres virtuelles, c'est-à-dire non-associées à un utilisateur du système, avec « virtual_minimum_uid »).
On peut utiliser « local_recipient_maps » avec un tableau associatif (map) qui contient uniquement les utilisateurs autorisés à recevoir des courriels. Mais flemme.
Au final, j'avais utilisé « header_checks » (dont j'ai déjà parlé ici et là pour d'autres cas d'usage). Jeter silencieusement (= action « DISCARD ») tous les messages dont l'entête « From » contient l'adresse d'un compte système (ce qui impose de tous les lister) ou qui ne contient pas les utilisateurs autorisés à recevoir.
Depuis, j'ai remplacé ce Postfix par OpenSMTPD dont le MDA Maildir ne délivre pas un courriel quand le Maildir n'existe pas.