0

我正在尝试制作一个使用该exec()函数来运行发送电子邮件的命令的 php 脚本。

我正在看这样的东西:

<?php
$sendTo = 'RECEPIENT';
$subject = "SUBJECT";
$message = "MESSAGE";

exec('/bin/mail -s "$sendTo" "$sendTo" < $message');
?>

但是我不确定我在 php 中声明的变量是否可以在 exec() 函数中使用。然而,该命令似乎也不正确。

4

2 回答 2

1

<是一个 shell 重定向,需要一个文件名。

你可以做这样的事情,(虽然我认为还有其他问题导致邮件很慢)

<?php
   $mail_command = "/bin/mail -s \"$subject\" $sendTo";
   $fd = popen($mail_command, 'w');
   fputs($fd,$message);
   pclose($fd);
?>
于 2013-05-22T19:57:22.480 回答
1

将字符串括在单引号 ( ') 中时,不会扩展变量。
你可以尝试这样的事情:

exec('/bin/mail -s "' . $sendTo . '" "' . $sendTo . '" < ' . $message);

查看PHP 手册了解更多详细信息。

于 2013-05-22T19:33:59.673 回答