View Single Post
Old 24 Jan 2021, 08:18 PM   #12
JeremyNicoll
Essential Contributor
 
Join Date: Dec 2017
Location: Scotland
Posts: 488
Quote:
Originally Posted by camner View Post
@JeremyNicoll: I'm having a little trouble understanding what you are saying (no doubt, due to my ignorance).

I (think I) understand that when emails are sent out with BCC addresses, the sending system makes sure that recipients have no way of identifying the other recipients of the same email message. So, it makes sense that the "sent" copy retained by the sender's system is not the same as what is sent to the recipients.

What I don't understand is how the above relates to what is going on in my case.

I have gone to FM's Sieve tester, and put in my (entire) Sieve code as well as the entire raw "Undelivered mail" message that FM delivered to me. The results of the Sieve test are that the message should be silently deleted, not retained.

If an earlier rule were processing the "Undelivered mail" message, wouldn't the Sieve tester tell me that the result of my Sieve code on the raw message was to have the email retained rather that deleted?

The Sieve Tester is known not to be reliable. People here have complained but FM have not fixed the problem(s). (I don't know the details.)


The way that email systems work varies, but generally when you "send" an email, what you're really doing is handing it over to special software (known historically as a 'smart host' - see: https://en.wikipedia.org/wiki/Smart_host ) that your ISP (or, if you specifically use someone else's outbound server, that) uses. It removes any BCC header that you may have included, and works out who all the recipients are (from that BCC, and TO and CC). Then for each intended recipient: it looks up (from DNS) the name of the mail server that each recipient's mail should be sent to. It tries to establish a connection with that server, announces who it (the sending server) is, says it wants to send a mail intended for whoever, and waits to find out if the destination server will accept that. The destination server might reject the attempt, perhaps because it doesn't trust the sending server, or because it knows it doesn't have a customer with the email address that the sending system wants to send to. If everything is ok, the mail's contents are wrapped up with "SMTP envelope" headers which actually describe who's sending it and who to, then sent. The receiving system strips off the "SMTP envelope" headers but in most cases these days the values that were in them will end up somewhere in the headers of the mail that the recipient will be able to see. It's the 'smart host' that will also, for each mail, try alternate destination servers if the first one it tries is offline, and retry (in theory) all of them for up to a week or so, until it finally manages to send on the mail, and it's also the thing that sends 'Undelivered' messages back to a sender.

There are email clients who do some of this work themselves, but they're uncommon, and it really boils down to the user running an SMTP server on their own machine and that liasing with their mail client.

The email client may save a copy of what it sent out to the 'smart host'. But as you can see from the tale above, it's not the email client that actually sent any of the individual mails onwards to the recipients, but the 'smart host'. Even amongst email clients that do keep a copy of what they sent, not all of them keep the BCC details.


The reason I said all of this is that you posted earlier that you'd decided to include testing of BCC headers in your Sieve test, and I was trying to explain that that was pointless. BCC headers shouldn't be in any of the mails that your ISP's smart host is sending onward, and they shouldn't be in the "Undelivered" messages that are being returned to you. What would be the point? When the 'smart host' sends you a notification of a problem, it's only going to send that to you, not BCC it to anyone else.

Just to muddy the waters, there /are/ people who argue that BCC headers /should/ be in mails so that (in theory) someone could eg send a mail TO Tom, CC to Colin and Craig, and BCCed to Bertie and Bruce and Barbara. Some people think that Bertie/Bruce/Barbara should all know that all three of them were sent a 'secret' copy of the mail. Some people think that Bertie, Bruce, Barbara shouldn't know who each other are, but that Tom & Colin & Craig should know. Some people think other combinations should know more or less about who got what. The problem with that is that there's no way for the (perhaps too simple) mechanism to do these subtlely different things.
JeremyNicoll is offline   Reply With Quote