This will throw an error:
client.println ("Mail From:@hotmail.com>");
When you send that, my email server returns something like "400 error: I don't take email from that malformed email address". I bet theirs does too. And with my code above, that message is displayed on the serial monitor before exiting with a fail message. It will not just exit.
add: Mine will also reject this:
Mail from: user@NotMyDomain.com
Mail to: anotheruser@alsoNotMyDomain.com
So does Hotmail and Gmail. It is called a "relay". Spammers use it if the server allows it, and is known as an "open relay".
The w5100 does not support a TLS connection that would allow that type connection to relay email.