我正在尝试设置一个cron作业,该作业每周一天发送一封电子邮件,根据我设置cron作业的知识,cron作业应该执行脚本。
这就是我所做的。
在我的cron.php页面上:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
window.onload=function(){
window.setTimeout(function() { document.postniid.submit(); }, 0000);
};
</script>
<form name="postniid" id="postniid" method="post" action="cron_post.php" >
<input name="email" type="hidden" id="inputInsured Name" value="wolexx007@gmail.com" />
</form>
</body>
</html>
我已经设置了一个表单,其中有一个默认的电子邮件要发布到cron_post.php,我还让这个表单在加载时提交,因为我希望cron会执行我的cron.php页面。
还有我的cron_post.php页面:
<?php
$reply = $_POST['email'];
$replysubject = "Auto-Reply: support | kblinsurance.com";
$replyfrom = "From: noreply@kblinsurance.com'r'n";
$replymessage .= "Testing Cron Job.'r'n'r'n";
mail($reply,$replysubject, $replymessage, $replyfrom);
?>
发送电子邮件的
当我从浏览器进行测试时,它可以工作,但当我设置了执行cron的命令时,它不会执行。
30 14 * * 1-5 php /home5/whitech3/public_html/cron/cron.php
请问这是为什么?
您混淆了客户端和服务器端代码。请在谷歌上搜索差异。
只有通过浏览器加载页面时,才会执行您编写的javascript。你的cron现在所做的一切,就是呈现一个包含表单和一些javascript代码的页面,但实际上并没有执行javascript(这是浏览器的工作)。
请注意,您不必依赖POST来执行脚本。在您的cron.php页面中,您只需使用cron_post.php代码(并用实际的电子邮件替换$_POST[]
)。