mirror of
https://github.com/php/php-src.git
synced 2026-04-26 01:18:19 +02:00
cc931af35d
When this INI option is enabled, it reverts the line separator for headers and message to LF which was a non conformant behavior in PHP 7. It is done because some non conformant MTAs fail to parse CRLF line separator for headers and body. This is used for mail and mb_send_mail functions.
34 lines
877 B
PHP
34 lines
877 B
PHP
--TEST--
|
|
GH-8086 (mb_send_mail() function not working correctly in PHP 8.x)
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded("mbstring")) die("skip mbstring extension not available");
|
|
?>
|
|
--INI--
|
|
sendmail_path={MAIL:{PWD}/gh8086.eml}
|
|
mail.mixed_lf_and_crlf=on
|
|
--FILE--
|
|
<?php
|
|
mb_internal_encoding("UTF-8");
|
|
mb_language("uni");
|
|
$to = "omittedvalidaddress@example.com";
|
|
$subject = "test mail";
|
|
$message = "body of testing php mail";
|
|
$header["Mime-Version"] = "1.0";
|
|
$header["Content-Type"] = "text/html; charset=UTF-8";
|
|
$header["From"] = "omittedvalidaddress2@example.com";
|
|
$header["X-Mailer"] = "PHP/" . phpversion();
|
|
mb_send_mail($to, $subject, $message, $header);
|
|
|
|
$stream = fopen(__DIR__ . "/gh8086.eml", "rb");
|
|
$eml = stream_get_contents($stream);
|
|
fclose($stream);
|
|
var_dump(preg_match_all('/(?<!\r)\n/', $eml));
|
|
?>
|
|
--CLEAN--
|
|
<?php
|
|
@unlink(__DIR__ . "/gh8086.eml");
|
|
?>
|
|
--EXPECT--
|
|
int(6)
|