Swift邮件程序会触发致命错误;

Sop*_*ral 5 php swiftmailer

致命错误:未捕获异常'Swift_TransportException',消息'预期响应代码250但得到代码"530",消息"530 5.7.0必须首先发出STARTTLS命令.fb9sm57232081wid.2 - gsmtp"'在C:\ xampp\htdocs中\ 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 @克......')

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

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

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

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);
Run Code Online (Sandbox Code Playgroud)

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


致命错误:未捕获异常'Swift_TransportException',消息'无法与主机smtp一起建立连接[无法找到套接字传输"ssl" - 您是否忘记在配置PHP时启用它?#1499472503]'在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}抛出第259行的C:\ xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php

And*_*nes 8

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

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
Run Code Online (Sandbox Code Playgroud)

这是25,ssl失踪了.Swift_SmtpTransport根本没有使用加密,而且Gmail抱怨这一点.