Почему бы не отправлять электронные письма на учетную запись электронной почты домена, используя Swift Mailer - PullRequest
0 голосов
/ 10 ноября 2019

В 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, если я отправляю электронное письмо на адрес электронной почты собственного домена, но в этом аккаунте электронной почты нет. Как я могу решить эту проблему?

...