使用 "tee…" 作为 sendmail_path in php 会在使用“-f”参数时产生一个额外的文件。
Using "tee…" as sendmail_path in php results in an extra file when using "-f"-parameter.
我正在使用我在 学到的知识将我本地计算机上 PHP 中的 mail() 命令路由到一个文件。来自 php.ini
:
sendmail_path ='tee /testmail/mail.txt'
但是当我添加 additional_parameter
(-fwebmaster@example.com
) 时,它会生成一个名为 -fwebmaster@example.com
的附加文件,其中包含当前文件夹中的邮件内容。
一个完整的例子:
$ cat | php -d sendmail_path='tee /testmail/mail.txt'
<?php
mail('test@example.com', 'subject', 'body', '', '-fwebmaster@example.com');
?>
To: test@example.com
Subject: subject
body
最后五行写入/testmail/mail.txt
和并新建-fwebmaster@example.com
.
似乎 -f
-参数被转发到 tee
-命令。有什么办法可以避免吗?
(使用 cat
会导致错误,而 PHP returns false
。)
您可以通过将命令包装在 shell 脚本中来忽略从 php 传递的任何其他参数:
pseudo_sendmail
#!/usr/bin/env bash
tee /testmail/mail.txt
PHP 配置:
sendmail_path ='/path/to/pseudo_sendmail'
我正在使用我在 学到的知识将我本地计算机上 PHP 中的 mail() 命令路由到一个文件。来自 php.ini
:
sendmail_path ='tee /testmail/mail.txt'
但是当我添加 additional_parameter
(-fwebmaster@example.com
) 时,它会生成一个名为 -fwebmaster@example.com
的附加文件,其中包含当前文件夹中的邮件内容。
一个完整的例子:
$ cat | php -d sendmail_path='tee /testmail/mail.txt'
<?php
mail('test@example.com', 'subject', 'body', '', '-fwebmaster@example.com');
?>
To: test@example.com
Subject: subject
body
最后五行写入/testmail/mail.txt
和并新建-fwebmaster@example.com
.
似乎 -f
-参数被转发到 tee
-命令。有什么办法可以避免吗?
(使用 cat
会导致错误,而 PHP returns false
。)
您可以通过将命令包装在 shell 脚本中来忽略从 php 传递的任何其他参数:
pseudo_sendmail
#!/usr/bin/env bash
tee /testmail/mail.txt
PHP 配置:
sendmail_path ='/path/to/pseudo_sendmail'