[php-src] Issue #20648: Example value for sendmail_path in sapi/fpm/www.conf.in seems to be encouraging bad practice
| From: | siliconforks | Date: | Fri, 05 Dec 2025 13:21:30 +0000 |
| Subject: | [php-src] Issue #20648: Example value for sendmail_path in sapi/fpm/www.conf.in seems to be encouraging bad practice | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-251353@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/20648
Author: siliconforks
### Description
The file [sapi/fpm/www.conf.in](https://github.com/php/php-src/blob/master/sapi/fpm/www.conf.in)
currently contains the following line:
```
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
```
I think the intent of this is really to illustrate the use of
php_admin_value rather
than provide guidance on setting sendmail_path; however, I think a lot of people
actually want to configure their sendmail_path and then they see this example, and then
they blindly copy and paste it (just changing the path and email address as needed) without really
thinking about it much. The problem is that including the -f option in
sendmail_path is generally a bad practice and should be avoided.
The reason this is bad is that the [PHP mail()
function](https://www.php.net/manual/en/function.mail.php) has a parameter
$additional_params which is intended to be used to specify the -f option.
But if you specify an -f option in $additional_params **and** there is
already an -f option in sendmail_path, you end up passing the
-f option to sendmail twice. This may cause sendmail to fail
completely, possibly with an error message like [More than one "from"
person](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#could-not-instantiate-mail-function).
For many, many years, there have been lots of people having trouble with this:
https://mantisbt.org/forums/viewtopic.php?t=24647
https://github.com/magento/magento2/issues/20033#issuecomment-532289611
https://bugs.php.net/bug.php?id=53984
https://github.com/bcit-ci/CodeIgniter/issues/4343
https://forum.joomla.org/viewtopic.php?f=622&t=727375
https://www.vmayo.com/docs/fixed-phpmailer-smtp-error-could-not-connect-to-smtp-host-2/#11-toc-title
... and so on ...
I was wondering why there seem to be so many people dealing with poorly configured
sendmail_path values... I think at least part of the problem may be this example code
in the PHP-FPM www.conf file.
Can this example be changed to something else? Maybe something like this:
```
;php_admin_value[sendmail_path] = /path/to/sendmail -t -i
```
### PHP Version
```plain
This issue has existed in every PHP version since PHP-FPM was merged into it (and possibly it
existed in the separate PHP-FPM project before that).
```
### Operating System
_No response_