I'm sending confirmation emails using swiftmailer, and it works flawlessly for most domains. For some reason, yahoo.com and icloud.com never receive emails. They aren't in spam/trash - it's as if they've blacklisted my domain, but this is the first time this domain has sent an email to their domains so I'd think that unlikely.
$transport = (new \Swift_SmtpTransport('mail.smtpserver.org', 465, 'ssl'))
->setUserName('user@smtpserver.org')
->setPassword($email_password);
//Create a Swiftmailer instance
$swift= (new \Swift_Mailer($transport));
//Create content
$content = "This is only a test. If this were an actual email, you would receive it. But you won't, because your email address is in the yahoo or icloud domain. Tough luck.";
$fromEmail = "user@smtpserver.org";
$fromName = "Same name as in email account on smtpserver.org";
$message = (new \Swift_Message("$fname, Whassup!"))
->setFrom(["$fromEmail" => "$fromName"])
->setTo(["$email" => "$fname, $lname"])
->setBody($content,'text/html')
->addPart(strip_tags($content), 'text/plain');
$swift->send($message);