报错输出内容:
Deprecated: Callables of the form [“Swift_SmtpTransport”, “Swift_Transport_EsmtpTransport::__construct”] are deprecated in /www/wwwroot/XXX.com/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php on line 36
解决方案
进入目录/www/wwwroot/XXX.com/vendor/swiftmailer/swiftmailer/lib/classes/Swift/修改以下三个文件
Message.php
\call_user_func_array(
[$this, 'Swift_Mime_SimpleMessage::__construct'],
Swift_DependencyContainer::getInstance()
->createDependenciesFor('mime.message')
);
修改为
$dependencies = Swift_DependencyContainer::getInstance()
->createDependenciesFor('mime.message');
parent::__construct(…$dependencies);
SmtpTransport.php
\call_user_func_array(
[$this, 'Swift_Transport_EsmtpTransport::__construct'],
Swift_DependencyContainer::getInstance()
->createDependenciesFor('transport.smtp')
);
修改为
// 获取依赖项
$dependencies = Swift_DependencyContainer::getInstance()
->createDependenciesFor('transport.smtp');
// 使用展开操作符调用父类构造函数
parent::__construct(...$dependencies);
SpoolTransport.php
$arguments = Swift_DependencyContainer::getInstance()
->createDependenciesFor('transport.spool');
$arguments[] = $spool;
\call_user_func_array(
[$this, 'Swift_Transport_SpoolTransport::__construct'],
$arguments
);
修改为
$arguments = Swift_DependencyContainer::getInstance()
->createDependenciesFor('transport.spool');
SwiftException.php
parent::__construct($message, $code, $previous);
修改为
parent::__construct($message, $code ?? 0, $previous);