The technology behind the emails did not change too much since the current protocols (smtp, pop3 and imap) where established in 1995.
At the beginning it was not meant to have an automatic answer but the sender could ask for the recipient to confirm the receipt. Perhaps this functionality is still working somewhere.
But for huge amount of commercial senders they want to know two things:
In order to know if the email was open they use the images. So the link to an image that was something like
https://example.com/image.jpg
becomes
https://example.com/image.jpg?id=b0fad480-407b-4072-955f-d64077386aef
Where everything after the “id=” is a unique identifier for every email sent and in the database it is related to the email address.
Sometimes the image is a white pixel and apparently nothing shows up but the code is present and it works in the same way.
The good news is that almost every email client, including gmail, has the option to block automatic loading images and to ask your permission to show the images for each email you receive.
In order to know if you have clicked in some link they use the same strategy and a regular link:
https://example.com/email-offer
becomes:
https://example.com/email-offer?id=34908969-5b76-4001-afc5-2cca8ef3cb68
but in this case the unique identifier is related both to the email address and to specific link. Every link in the email will have a different identifier.
So, if you disable the automatic image loading and do not click in anything, the sender has no way to know if you opened the email.
technical concepts
2/27/2023