c) do NOT open an attachment to an email unless you absolutely 100% know what it is and who its from
d) do NOT click on links in emails unless you know exactly what they are and who the email is from
A large part of good computer security is not acting stupidly.
Actually, there is no reason in the world that these precautions should be necessary, or to blame the users for not being superhuman in following them. It is only the abysmal lack of system-level security thinking in the software that makes these precautions necessary for the vast majority of people.
The basic problem is that the designers have failed to follow a rigorous distinction between
code (program) and
data everywhere in the system. If they did things properly, there'd be no need to warn people about clicking on attachments because nothing bad could happen regardless of what's in them. They'd be considered as pure
data, incapable of directing the computer to do anything but to display their contents (though of course this might simply fail entirely if the contents are invalid.)
If the users have a failing, it's their willingness to accept systems in which mistakes they cannot be expected to avoid have such serious consequences. There should be rioting in the streets until this changes.