-
Notifications
You must be signed in to change notification settings - Fork 60
Description
I kept digging deeper and deeper (I really want to use mhsendmail instead of sSMTP for my Drupal dev environments!), and found that PHP's mail() function is the culprit here, in terms of how it uses sendmail...
To reproduce, install PHP on a server, set the sendmail_path ini directive to the path to the mhsendmail binary, then create a script somewhere with the following test:
<?php
$to = 'nobody@example.com';
$subject = 'Test';
$message = 'Test message.';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$result = mail($to, $subject, $message, $headers);
var_dump($result);
?>If you run the script by accessing it through a webserver, check the webserver's error logs; you should get a message missing recipient, from mhsendmail.
The problem is that it seems mhsendmail is expecting the recipient as one of the command line args, but PHP's mail() function passes the recipient as a line in the header ('To: [recipient]'). See php-src: https://github.com/php/php-src/blob/fc33f52d8c25997dd0711de3e07d0dc260a18c11/ext/standard/mail.c#L356-L361
I think if you can make it so mhsendmail accepts the To address as the first line of stdin, it might work...