无法与主机 smtp.mailgun.org 建立 SwiftMailer 连接


SwiftMailer Connection could not be established with host smtp.mailgun.org

如果我使用

$transport = Swift_SmtpTransport::newInstance('localhost', 25);

然后它工作正常
但是当我使用此设置时,它不起作用

$transport = Swift_SmtpTransport::newInstance('smtp.mailgun.org', 465, 'ssl')
  ->setUsername('mailegun username')
  ->setPassword('mailgun password');

此问题在"godaddy"和"bluehost"帐户中

但是在使用 xampp 的本地主机中它工作正常

    <?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    require_once __dir__.'/vendor/swiftmailer/swiftmailer/lib/swift_required.php';
    $userBody="user mail";
    $userSub = "user subject";
    //$transport = Swift_SmtpTransport::newInstance('localhost', 25);
    $transport = Swift_SmtpTransport::newInstance('smtp.mailgun.org', 465, 'ssl')
      ->setUsername('mailegun username')
      ->setPassword('mailgun password'); 
// and also not working for gmail settings
// $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
   //   ->setUsername('gmail username')
     // ->setPassword('gmail password');

    $userMailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance('Wonderful Subject')
          ->setFrom(array('ex1@gmail.com' => 'user1'))
          ->setTo(array('ex2@gmail.com'=> 'user2'))
          ->setBody('Test Message Body')
        ;
    $sendUserMail = $userMailer->send($message,$F);
    var_dump($sendUserMail);

    ?>

这是一个众所周知的问题:GoDaddy 不允许出站 SMTP;您必须通过 thir 服务器进行中继。这在 PHPMailer 故障排除指南中有所介绍,其原则仍然适用于 SwiftMailer。