Two-way mailman sync quandary

I’m investing a two-way mailman sync. This community feels that getting rid of mailman is a non-starter, and they want Mailman users to continue to use only mailman yet still be able to interact with Discourse users participating in a single category.

For a hot minute, it looked like subscribing a mailman category address to the list and turning on category mirrors a mailing list and THEN adding a Discourse user with the mailman list address that was watching the category was going to almost-work.

My biggest concern was mail loops and I thought that in my first test, it was working just fine and that the only issue was that mailing list members would be able to unsubscribe the Mailman list from watching the Discourse category. I wrote a plugin to remove the unsubscribe links and I thought we’be be home free. But that was wrong.

The biggest issue, I think, is that when a message from Discourse gets sent to the list a user replying to the message replies directly to Discourse, and when he does, the message is rejected because that user isn’t the Discourse user that is subscribing to the list. I’m not sure if there’s much way to solve that. Perhaps I could override the code that does that check and, if the sender has some address other than the expected one treat it like any other staged user? And then the only issue would be that people who hit reply thinking that they were sending to a single user was instead sending to the list?

BUT the other issue, that I think might be harder to solve is that if a mailman user replies to Mailman on their reply (rather than the reply-to address just discussed) it’ll get to Discourse through Mailman and Discourse will treat it like a new topic. I don’t see how to solve that (as the subject gets more and more [blah] strings added by mailman and discourse). But maybe solving just the reply issue will be Good Enough.

Does anyone have any other ideas?

2 Likes