So first, sendmail is just SMTP to localhost on port 25, no auth, no encryption.
Not sure what php means in this context, but it’s likely the same behaviour as above.
all emails arrive apart from emails to hotmail.XXX addresses… anyone know what might be causing this?
Yup. This is a combination of using an SMTP server that violates the domain’s SPF rule (domain of the email in the From address), or having no SPF rule in the first place. Read https://www.codingmonkey.ca/my-contact-form-emails-are-not-being-sent-to-yahoo-hotmail-gmail/
Assuming WP-Email can use the WordPress wp_mail function, you might want to try using a dedicated SMTP mailer to send your site’s mail: https://www.ads-software.com/plugins/postman-smtp/
Reference: https://www.ads-software.com/tags/email-not-received