Let's say there's a hypothetical email site called email.com, and an evil site called evil.com. email.com sends the emails using POST requests.
A user that has session cookies of email.com saved on their computer visits evil.com, and evil.com sends a http POST request to email.com that sends a scam email. As far as I understand the server would send the email from the user's account without making any checks, since the browser provided the session cookies with the request and preflight checks don't apply to POST, and then even if CORS doesn't share the response from email.com with evil.com because it's Access-Control-Allow-Origin doesn't include evil.com it wouldn't matter, because the email would already be sent.
I know this could be prevented by using for example a CSRF token, but why aren't preflight checks just implemented for POST requests too?