I have a exim4 setup as SMTP. My user naming schema is to name all mail users for this server as m001, m002, m003, ... and then redirect to a real e-mail address with virtual domains.
How can I allow my users to authenticate with exim to send mail using either their system user name (m001) or the email address (info@example.com)?
User login information for m001 are stored in linux system files (passwd, shadow). They are linked thru entries in a virtual address table for each domain that this server can serve:
# /etc/exim4/virtual/example.com
m001: info@example.com
m002: test@example.com
m003: john@mydomain.org
The same can be applied to qpopper ?
I don't know anything about qpopper so I'll not be tackling that.
Regarding exim, the answer is almost definitely "yes". I suspect you want to narrow down your question to get a better answer. Here is how I currently read your implied question:
"How can I allow my users to authenticate with exim to send mail using either their system user name (m001) or the email address (info@example.com)?"
If that's the question and you want it answered, you need to provide the mechanism via which m001 and info@example.com are currently linked to each other, and where authentication information for these users is currently stored, and in what format (plaintext or encrypted, and how encrypted).