You may use smart host to catch all outgoing messages (messages to non local mailboxes).
sendmail.mc
dnl Send all no local emails to local email address catch-all
define(`SMART_HOST',`local:catch-all')
/etc/mail/aliases
# define catch-all alias
catch-all: johndeveloper1, archive
If you want to send messages to an external account using smtp then use:
define(`SMART_HOST',`esmtp:johndoe1@example.net')
Use LUSER_RELAY
to catch messages to non existing local mailboxes in local email domains.
Use MAIl_HUB
to catch messages to all local email addresses in local email domains.
More complicated recipes allow to copy all envelope recipient addresses to email headers.