使用exec();在PHP脚本中从shell发送电子邮件

时间:2013-05-22 19:30:33

标签: php bash email

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

我正在看这样的事情:

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

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

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

2 个答案:

答案 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);
?>