如果我使用
$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。