我正在尝试制作一个使用该exec()
函数来运行发送电子邮件的命令的 php 脚本。
我正在看这样的东西:
<?php
$sendTo = 'RECEPIENT';
$subject = "SUBJECT";
$message = "MESSAGE";
exec('/bin/mail -s "$sendTo" "$sendTo" < $message');
?>
但是我不确定我在 php 中声明的变量是否可以在 exec() 函数中使用。然而,该命令似乎也不正确。
这<
是一个 shell 重定向,需要一个文件名。
你可以做这样的事情,(虽然我认为还有其他问题导致邮件很慢)
<?php
$mail_command = "/bin/mail -s \"$subject\" $sendTo";
$fd = popen($mail_command, 'w');
fputs($fd,$message);
pclose($fd);
?>
将字符串括在单引号 ( '
) 中时,不会扩展变量。
你可以尝试这样的事情:
exec('/bin/mail -s "' . $sendTo . '" "' . $sendTo . '" < ' . $message);
查看PHP 手册了解更多详细信息。