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