Код: Выделить всё
public function testmail()
{
$to = 'myemail@example.nl';
$subject = 'Testmail';
$message = 'This is a test';
$headers = [];
$additional_params = '';
mail($to, $subject, $message, $headers, $additional_params);
}
Код: Выделить всё
[TypeError] mail(): Argument #5 ($additional_params) must be of type string, null given in /src/Controller/UsersController.php on line 300
Теперь, прежде чем вы ответите, что мне вообще не следует передавать пятый аргумент, поскольку он не является обязательным, позвольте мне добавить дополнительный контекст. Вышеупомянутое является MVP реальной проблемы в моем проекте CakePHP 4.x, использующей CakePHP Mailer для отправки электронной почты.
Похоже, что возникающая ошибка возникает в классе MailTransport, где функция _mail() вызывает внутреннюю функцию mail() PHP. Пятый строковый параметр $additional_params = "" всегда передается классом `MailTransport, если он не равен нулю, но по умолчанию он равен пустой строке, если это так.
Теперь, поскольку это код поставщика, я не хочу его изменять, поскольку обновление отменит мои изменения. Я также уже пытался явно передать ' ' (пробел), но, к сожалению, ошибка все равно выдается.
Могу ли я еще что-нибудь попробовать или изменить в среде своего сервера?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ctly-given
Мобильная версия