Do we still want to reject CC or BCC emails in?

Continuing the discussion from Replacing Mailing lists: Email-In:

Sorry if this is already discussed. It’s rather hard to search for the 2-character “CC” on Discourse. :smile:

Is there (ever or still) a valid reason to reject emails where the Discourse email address is on the CC or BCC line? If so, what’s the rationale? We have had this happen a few times recently with confused users.

1 Like

I was asked about this on Monday. A user wanted to send an email to a consultant with a cc to our staff mailing list on discourse. The idea she had (I think) was to enable staff to reply to both consultant and staff for follow up.

This doesn’t have predictable results and so I encouraged her to write two separate emails. One to staff and another to the consultant. Otherwise if the consultant replies all it will generate an error from discourse, and the replies from the staff won’t get to the consultant.

Discourse and email are like oil and water, sadly. But folks are getting used to it and we’re getting good results.

2 Likes

Our scenario is quite similar. The questions come from addresses (aliases) associated with specific categories that are handled like team distribution lists, like yours.

Seems to really confuse users. How best to improve the experience? At a minimum, I think the error message here could be improved.

OK, what does it currently say and what do you think it should say?

Discourse fires off the “I didn’t recognize that To: address” error reply if it’s in the CC:.


Here’s an important question: What part of the email should be posted?

It will be difficult to strip out the email addresses from the “Forwarded Message” block, as (of course!) every email client will do it differently.

If it is not wanted to let in emails send to a category through Cc: or Bcc: I at least want to suppress the reject email. What do you think?

Reason is I currently try to move people away from using email and get them used to Discourse. So I let Discourse harvest emails send to some mailinglists. As soon as there is such an mailinglist address added to the Cc: field instead of To: the sender gets confronted with the reject email send by Discourse. This is confusing people.

Has there been any change in this behavior with 1.5, @zogstrip?

When an email is received, we look for email addresses in all the destinations fields (To, Cc and Bcc). If at least one matches a reply address, a group or a category incoming email address, then the mail will be processed.

5 Likes

Maybe I’m missing something but there is no such thing as a Bcc: header ?

I do see the Discourse source is checking for it but isn’t the idea behind Bcc that those email addresses are never to be found in a header?

1 Like

BCC is a valid header option, if the recipient address weren’t in the header the message couldn’t reach them.

Once an email with multiple recipients reaches the MTA it’s sent per-recipient, users in to/cc will see a header with no BCC, any bcc’d user will see their address specified as BCC:

1 Like

Routing is done per RFC821 envelope, message headers are not used for that.

I did some more research and there is indeed a Bcc header in the specification, but I’ve never seen it being used.

In practice, MTA’s and/or email clients seem to leave out the Bcc header in messages, even when they are delivered to one of the recipients in Bcc.

2 Likes

This is also my experience. I don’t recall ever seeing my email address in an email that was bcc’d to me.

2 Likes

@zogstrip would you know what might be going on?

It seems like there used to be a check in the envelope in this commit: https://github.com/discourse/discourse/commit/93d1cc6294085008e025bb3032b231a6a81c6480 (specifically https://github.com/discourse/discourse/blob/93d1cc6294085008e025bb3032b231a6a81c6480/lib/email/receiver.rb#L37-L40) but then it seems to have been refactored in more recent version of receiver.rb.

2 Likes

Any chance the changes @k4rtik highlighted may come back? I have come across this problem recently. Our users would like to send updates through bcc.

3 Likes