Я использую то, что я узнал в https://stackoverflow.com/a/3176517/ направить mail () — команды в PHP на моей локальной машине в файл. От php.ini
:
sendmail_path ='tee /testmail/mail.txt'
Но когда я добавляю additional_parameter
([email protected]
) он генерирует дополнительный файл с именем [email protected]
с содержанием почты в текущей папке.
Полный пример:
$ cat | php -d sendmail_path='tee /testmail/mail.txt'
<?php
mail('[email protected]', 'subject', 'body', '', '[email protected]');
?>
To: [email protected]
Subject: subjectbody
Последние пять строк написаны /testmail/mail.txt
а также и недавно созданный [email protected]
,
Кажется, что -f
параметр передается в tee
-command. Есть ли способ предотвратить это?
(С помощью cat
приводит к ошибке и PHP возвращает false
.)
Вы можете игнорировать любые дополнительные аргументы, передаваемые из php, обернув вашу команду в скрипт оболочки:
pseudo_sendmail
#!/usr/bin/env bash
tee /testmail/mail.txt
Конфигурация PHP:
sendmail_path ='/path/to/pseudo_sendmail'
Других решений пока нет …