Я отправляю электронные письма с подтверждением, используя swiftmailer, и он работает безупречно для большинства доменов. По какой-то причине yahoo.com и icloud.com никогда не получают электронные письма. Они не находятся в спаме / корзине - это как если бы они занесли мой домен в черный список, но это первый раз, когда этот домен отправил электронное письмо на свои домены, поэтому я думаю, что это маловероятно.
$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);