Sure, it's possible to defend against hackers to a degree, but even using a completely static website still leaves you open to attack surfaces in the webserver software or to remotely exploitable vulnerabilities in the Linux network stack.
> FYI you are misusing "greylist."
I assume we share the definition of "greylisting" to be the receiver MTA blocking the first delivery of an incoming email with "try again later", and the sender MTA then retrying after that time frame? If yes then this exactly describes my experience in administrating self-hosted mail servers with popular large mail providers.
My mail server (MailInABox) has postgrey enabled by default, greylisting incoming email each time email is received from a new address. I thought that was a little overzealous so turned it off.
Pretty annoying to test for this reliably as well...
I've hosted my own website and email server for decades. It does take a little work to keep up with things like DMARC, reverse DNS etc, but if you get a good score on https://internet.nl/test-mail/ and don't spam anybody, self-hosted email works fine. FYI you are misusing "greylist."