В php я использую SwiftMailer для отправки подтверждающего электронного письма всем пользователям. Я много тестировал с оригинальными учетными записями электронной почты, такими как @gmail.com, @hotmail.com.
Но на учетной записи электронной почты пользовательского домена, например @ belkin. com не получает письма. Я не знаю причину почему. Как я могу решить эту проблему? Это мой код.
<?php
require_once './vendor/autoload.php';
$transport = (new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl'))
->setUsername('***@gmail.com')
->setPassword('***');
// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($transport);
function sendVerificationEmail($userEmail, $token)
{
global $mailer;
$body = '<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test mail</title>
<style>
.wrapper {
padding: 20px;
color: #444;
font-size: 1.3em;
}
a {
background: #592f80;
text-decoration: none;
padding: 8px 15px;
border-radius: 5px;
color: #fff;
}
</style>
</head>
<body>
<div class="wrapper">
<p>Thank you for signing up on our site. Please click on the link below to verify your account:.</p>
<a href="http://localhost/cwa/verify-user/verify_email.php?token=' . $token . '">Verify Email!</a>
</div>
</body>
</html>';
// Create a message
$message = (new Swift_Message('Verify your email'))
->setFrom('***@gmail.com')
->setTo($userEmail)
->setBody($body, 'text/html');
// Send the message
$result = $mailer->send($message);
if ($result > 0) {
return true;
} else {
return false;
}
}
?>
Я много пробовал, но не знаю, почему. Swiftmailer возвращает TRUE, если я отправляю электронное письмо на адрес электронной почты собственного домена, но в этом аккаунте электронной почты нет. Как я могу решить эту проблему?