Reply via email breaks with plus addressing as Discourse email

email

(Joshua Rosenfeld) #1

Not sure if this is #bug, #feature, or #support - please recategorize as needed.

Just got a report from a user at Stonehearth that he is unable to reply to emails received from Discourse. When attempting to do so, he receives the following email in response:

We’re sorry, but your email message to [“stonehearth+f870fd2aed1be08accc32bf6e670eaa1@discoursemail.com”] (titled Re: [Stonehearth Discourse] [Modding] Way to not break compatibility with Mods?) didn’t work.

Your reply was sent from a different email address than the one we expected, so we’re not sure if this is the same person. Try sending from another email address, or contact a staff member.

The email he uses on the site is in the form foo+bar@gmail.com. He thinks the issue is that when he tries to reply from Gmail, he is sending as foo@gmail.com, with no way to send with the plus address.

Is this what is going in, or is there something else. I asked an admin to review the email logs, and she said there is nothing for this user. I’m happy to provide more details (username, email, etc.) via PM to devs if needed.


(Felix Freiberger) #2

This sounds like the correct explanation. I’d simply ask the user to change his email address.

The admin should find the raw mail that Discourse got in /admin/email/rejected :slight_smile:


(Joshua Rosenfeld) #3

I know, but it’s not there! I directed her to exactly that spot.

The user doesn’t want to change his email. He uses a standardized format to keep things organized. For example, he has foo+discourse@gmail.com for Discourse, foo+slack@gmail.com for Slack, etc. If Discourse allows for emails to be +addressed, then email should support them as well.


(Felix Freiberger) #4

This is very weird – every rejected mail should be logged there… :confused:

Discourse doesn’t offer specific support for +-adresses, and unfortunately, they aren’t treated the same by every mail provider – but they are probably common enough to justify relaxing the security check if the email addresses differs only after a + in the local part (making this a #feature ;-))


(Eli the Bearded) #5

I use plus addressing regularly (and have since before Google existed). If gmail can’t send the message from the plus address, then that sounds like a gmail problem. The user should use a client that allows specifying the from address, ideally picking an address that matches the to address. That’s how my email software does it. I’m willing to bet there are mailers (besides my homegrown monstrosity) that will let the user specify a from address of gmailid+foo@gmail.com.


(Kane York) #6

Actually, you can do this with Gmail. You need to go through the procedure to add a new sending address.


(Jeff Atwood) #7

Interesting do you have trouble replying to emails from meta, like say this one, with an email that has a plus in it?


(Elijah's Alternate) #8

That account is not configured to receive email. I’ve created this alt for testing.


(Eli the Bearded) #9

Howdy stranger. This is a reply to your post so that you may test reply by email.


(Elijah's Alternate) #10

Here I am replying (from user+discoursealt@site.example) to meta+201dc2...@discoursemail.com


(Eli the Bearded) #11

One thing to note, is that my “homegrown monstrosity” MUA will set envelope header on email. Maybe I should try a reply with just a “From:” header, not setting the "From " envelope.


(Elijah's Alternate) #12

This reply goes to the right address (meta+90f7...@discoursemail.com) with correct From: but no special envelope header. Making email headers by hand is tedious, hopefully I got it right.


(Jay Pfaffman) #13

Wrong

It’s not Discourse’s fault, it’s his fault. If he wants foo+discourse@gmail.com to be his username, then he has to use foo+discourse@gmail.com when he sends email. What you ask would break things for people who know how to use gmail and want to use one address for two Discourse accounts.

Why you should mark this as the solution:

What he needs to do is go to settings/accounts and import and add foo+discourse@gmail.com to his list of addresses and make sure that he always switches to that address when he replies. There is a setting that will always reply from the address that it was sent to, so he won’t have to remember.

And another thing

This isn’t Discourse’s problem, and, I’d argue, shouldn’t be yours, either. In other words, if he wants to play complicated email games, then he should be responsible for his own darn tech support.

But don’t told him I said that. It would be rude. Lucky he’s got you on his side instead of me. :slight_smile:


(Binoj David) #14

Isn’t having multiple accounts per human being against most forums’ “Terms of Service”? What about having a setting in Discourse which allows / forbids this? If multiple accounts are not allowed, “+” and text between “+” and “@” should be ignored when checking if email already exists while registering. If not, current behavior should be in place. Just an idea. Don’t know if this will break anything though.


(Joshua Rosenfeld) #15

Implicitly, probably. Explicitly, not that I’ve seen so far on Discourse sites. Sock accounts are generally frowned upon, but are also absolutely necessary if you are a forum administrator. Being able to do so without making an entirely different email account is very nice.


(Elijah's Alternate) #16

But see work in progress here: