6

致命错误:未捕获异常“Swift_TransportException”,消息“预期响应代码 250,但得到代码“530”,消息“530 5.7.0 必须首先发出 STARTTLS 命令。c:\xampp\htdocs 中的 fb9sm57232081wid.2 - gsmtp” \lib\classes\Swift\Transport\AbstractSmtpTransport.php:386 堆栈跟踪:#0 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(281):Swift_Transport_AbstractSmtpTransport->_assertResponseCode('530 5.7. 0 必须...',数组)#1 C:\xampp\htdocs\lib\classes\Swift\Transport\EsmtpTransport.php(245): Swift_Transport_AbstractSmtpTransport->executeCommand('MAIL FROM: executeCommand('MAIL FROM: _doMailFromCommand( 'sophie3394@gm...')

4 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(444):

C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php 中的 Swift_Transport_AbstractSmt 第 386 行

这是由以下代码引起的错误:

ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");

require_once 'lib/swift_required.php';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25)
    ->setUsername('sophie3394@gmail.com')
    ->setPassword('xxxx');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Test Subject')
    ->setFrom(array('sophie3394@gmail.com' => 'ABC'))
    ->setTo(array('sophie3394@gmail.com'))
    ->setBody('This is a test mail.');

$result = $mailer->send($message);

解决此错误的步骤是什么?


致命错误:未捕获的异常 'Swift_TransportException' 带有消息 '无法与主机 smtp.gmail.com 建立连接 [无法找到套接字传输“ssl” - 您在配置 PHP 时是否忘记启用它?#1899472503]' 在 C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php:259 堆栈跟踪:#0 C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php(64 ): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize(Array) #2 C:\xampp\htdocs\lib\ classes\Swift\Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() #3 C:\xampp\htdocs\Mail.php(26): Swift_Mailer->send(Object(Swift_Message)) #4 {main} 抛出C:

4

2 回答 2

10

更改代码中的端口(newInstance 函数的第二个参数)并添加第三个参数“ssl”

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')

当时是 25 岁,并且缺少 ssl。Swift_SmtpTransport 根本没有使用加密,Gmail 对此有所抱怨。

于 2013-07-21T01:48:52.180 回答
1

尝试:

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
于 2016-05-16T15:07:38.483 回答