Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc)

@gerhard. I think I have found a way easier method of doing exactly the same as your guide, but with no technical knowledge required nor need for admin access to any server. Let me know what you think.

Overview

We’ll be essentially configuring a mailinglist and then using an email archive to send past conversations in order. Those emails will be forwarded, but not like the “Forward” button on email clients (that would override the headers and mess up the indentation). What we want to do is to remail them (send as they had been sent to discourse in the first place).

Requirements and Assumptions

  • Access to the previous email exchanges: someone who has stored it all on their email client and can volunteer to forward it – let’s call that person John Doe.

  • Time: the email email forwarding will be very slow so discourse can handle (perhaps a few days with a computer running uploading the emails – depending on the archive size)

  • Thunderbird client: We also assume here John Doe uses the email client “thunderbird”. It may be possible to do this with other clients but I haven’t looked.

The following guide uses two email addresses as placeholders. You need to replace them with your actual addresses.

:incoming_envelope: johndoe@example.com John Doe’s email (the person will forward the full mailing list archive)

:postbox: discourse+mailinglist-3@discoursemail.com discourse email for forwarding emails to the category of the mailinglist (see setup 1. for how you get it)

Instructions

Here’s a basic rundown of the instructions:

  1. follow the guide on Creating a read-only mailing list mirror to create a mirror of your mailing list

    Note: this will only mirror your mailinglist going forward. You’ll still miss out on past conversations. That’s what the rest of this guide is for.

  2. Change the way discourse forwards emails to (I’m not actually sure this is needed)
    forwarded_behavior

  3. Edit the category’s settings and under the setting Custom incoming email address: add at the end of what’s there |johndoe@example.com.

    The pipe here works like a , as to say that you also want johndoe@example.com to be able to send to that category

  4. John Doe installs on thunderbird the extension Mail Redirect.

    This is because it’s no regular email forward. What this will do is send the email as if it had gone to the discourse’s email address in the first place instead of John Doe’s

  5. John Doe goes to the extension’s settings and sets the following to 1 (default is 5)
    mail_redirect

    This will make sure the replies arrive in order: otherwise discourse isn’t quick enough to realise that the replies are chained and just creates a new topic for every reply – but it will make the forwarding process very slow

  6. John Doe selects all of the mailinglist’s past emails, right-clicks and clicks on Redirect. Then a new window will open and he add discourse+mailinglist-3@discoursemail.com as the Resend-to

After this John Doe’s email client will be slowly sending the email archives to discourse. Just check after some time to see if the discourse category is getting filled with some nostalgically old conversations.

Cleanup

  • Remove John Doe’s email from that category’s Custom incoming email address:setting (and don’t forget to remove the |)

  • Uninstall Mail Redirect extension – you’ll likely not need it again, or at the very least increase back the SMTP connections to 5.

5 Likes