使用;三通…&引用;当使用“as sendmail”时,php中的“u路径”会产生一个额外的文件-f"-参数
我正在使用在上学到的内容将本地机器上PHP中的mail()命令路由到一个文件。从使用;三通…&引用;当使用“as sendmail”时,php中的“u路径”会产生一个额外的文件-f"-参数,php,tee,Php,Tee,我正在使用在上学到的内容将本地机器上PHP中的mail()命令路由到一个文件。从php.ini: sendmail_path ='tee /testmail/mail.txt' 但是当我添加一个附加参数时(-fwebmaster@example.com)它生成一个名为-fwebmaster@example.com包含当前文件夹中的邮件内容 一个完整的例子: $ cat | php -d sendmail_path='tee /testmail/mail.txt' <?php mail('
php.ini
:
sendmail_path ='tee /testmail/mail.txt'
但是当我添加一个附加参数时
(-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
$cat | php-d sendmail_path='tee/testmail/mail.txt'
致:test@example.com
主题:主题
身体
最后五行写入/testmail/mail.txt
和新创建的-fwebmaster@example.com
似乎-f
-参数被转发到tee
-命令。有没有办法防止这种情况发生
(使用
cat
会导致错误,PHP返回false
)您可以通过将命令包装在shell脚本中来忽略从PHP传递的任何附加参数:
pseudo_sendmail
#!/usr/bin/env bash
tee /testmail/mail.txt
PHP配置:
sendmail_path ='/path/to/pseudo_sendmail'
这个参数还可以传递到什么地方?理想情况下,在这种情况下它会被忽略。我只是想知道。这意味着我甚至可以写
#/usr/bin/env bash tee/testmail/mail.txt cp/testmail/mail.txt/testmail/mail.eml
可同时创建“真实”电子邮件,以便于预览。