Realized that my usage of "local" for my users, is wrong terminology, they are all virtual users.
[...] > You haven't posted whole master nor whole xMTPDeliver (pastebin, please). > Both can contain something that causes multiple deliveries. Pastebin coming up 😊 main.cf : https://pastebin.com/rQTFc50q master.cf : https://pastebin.com/zfpG2sBB xMTPDeliver: https://pastebin.com/GrUPuDgJ I've come to the conclusion that the culprit lies in the "Not local" part of xMTPDeliver. Once it ships is off using sendmail (postfix) -oi, it is re-entered back into the queue, and Postfix sees the address once more, and delivers locally, since the a...@a.test resolves to both b...@a.test and c...@b.test. [....] > I believe you should only send local mail to dovecot (not all via > content_filter), you seem to pass everything to is which apparently caused > your problem. All incoming mail needs to be scanned for Vira/Malware, is why I pass it to a content_filter, 127.0.0.1:10025 has clamsmtp running. Clamsmtp returns on port 10026 if clean. In master.cf 10026 is then defined with a content_filter=spamassassin. This calls xMTPDeliver which handles the spamc calls. From there it depends if it is locally delivered, then deliver using DovecotLDA to deliver it into the Users INBOX or SPAM folder depending on the results from spamc. If it is remote, use sendmail -oi (which in fact is postfix..). The latter is where the culprit arises.