php / php/php-src

Example value for sendmail_path in sapi/fpm/www.conf.in seems to be encouraging bad practice

Ouverte
#20,648 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug SAPI: fpm Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.1k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

The file 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 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.

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
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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Examinez sapi/fpm/www.conf.in et l’exemple commenté existant de sendmail_path. Supprimez l’option -f de l’exemple tout en conservant la démonstration de php_admin_value, puis vérifiez que la valeur documentée correspond à la forme proposée dans l’issue et ne spécifie pas d’adresse d’expéditeur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
backend
Type d'issue
Documentation
Difficulté
1/5
Temps estimé
Moins d'une heure
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.