I do this on my forum. The key requirement is that all emails arriving from your mailing list have a consistent from address. From memory, the rough process we followed was:
-
We have a mailman list on another server which sends email from “mailing-list@example.com”.
-
Temporarily enabled “staged users” so that an account would automatically be created without a confirmation email
-
We set up a category “mailing list archive” on Discourse, and set the incoming email address to “forum-archive@forum.example.com”
-
We added “forum-archive@forum.example.com” as a recipient of the mailing list
-
When an email was sent, a staged user was created on Discourse with the email address “mailing-list@example.com”. We then changed the profile pic & username on the user as needed
-
Disabled “staged users”
We actually did this for 5-6 different mailing lists, so we have a number of “archive” categories on the forum.