summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuo Ohgaki <yohgaki@php.net>2015-06-19 12:19:02 +0900
committerYasuo Ohgaki <yohgaki@php.net>2015-06-19 12:19:12 +0900
commitdacea3f6fb3f84c79a3412b24547eb2c636754f6 (patch)
tree7854a7167b1d71f356d8c25d5aaf14a047f2a7e8
parentcc7194dd10f9822d882d1cbd259d4208ccc82671 (diff)
downloadphp-git-dacea3f6fb3f84c79a3412b24547eb2c636754f6.tar.gz
Fixed Bug #69874 : Can't set empty additional_headers for mail()
-rw-r--r--ext/standard/mail.c2
-rw-r--r--ext/standard/tests/mail/bug69874.phpt42
2 files changed, 43 insertions, 1 deletions
diff --git a/ext/standard/mail.c b/ext/standard/mail.c
index 448013a472..1c1332b55e 100644
--- a/ext/standard/mail.c
+++ b/ext/standard/mail.c
@@ -320,7 +320,7 @@ PHPAPI int php_mail(char *to, char *subject, char *message, char *headers, char
efree(f);
}
- if (hdr && php_mail_detect_multiple_crlf(hdr)) {
+ if (hdr && strlen(hdr) && php_mail_detect_multiple_crlf(hdr)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Multiple or malformed newlines found in additional_header");
MAIL_RET(0);
}
diff --git a/ext/standard/tests/mail/bug69874.phpt b/ext/standard/tests/mail/bug69874.phpt
new file mode 100644
index 0000000000..a952a73bdc
--- /dev/null
+++ b/ext/standard/tests/mail/bug69874.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Bug #69874: Null addtional_headers does not send mail
+--INI--
+sendmail_path=tee mailBasic.out >/dev/null
+mail.add_x_header = Off
+--SKIPIF--
+<?php
+if(substr(PHP_OS, 0, 3) == "WIN")
+ die("skip Won't run on Windows");
+?>
+--FILE--
+<?php
+/* Prototype : int mail(string to, string subject, string message [, string additional_headers [, string additional_parameters]])
+ * Description: Send an email message
+ * Source code: ext/standard/mail.c
+ * Alias to functions:
+ */
+
+echo "*** Testing mail() : send email without additional headers ***\n";
+
+// Initialise all required variables
+$to = 'user@company.com';
+$subject = 'Test Subject';
+$message = 'A Message';
+
+$outFile = "mailBasic.out";
+@unlink($outFile);
+
+var_dump( mail($to, $subject, $message) );
+echo file_get_contents($outFile);
+unlink($outFile);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing mail() : send email without additional headers ***
+bool(true)
+To: user@company.com
+Subject: Test Subject
+
+A Message
+===DONE===