php错误,cron作业每天发送两次电子邮件
我是PHP的新手,我创建了一个cron作业,在cPanel中每天发送两次邮件:php错误,cron作业每天发送两次电子邮件,php,cron,Php,Cron,我是PHP的新手,我创建了一个cron作业,在cPanel中每天发送两次邮件: Minute Hour Day Month Weekday Command 0 0,12 * * * /home/user/public_html/cronjob/send-mail.php send-mail.php <?php $to = "john@domain.com"; $sender = "s
Minute Hour Day Month Weekday Command
0 0,12 * * * /home/user/public_html/cronjob/send-mail.php
send-mail.php
<?php
$to = "john@domain.com";
$sender = "sender@domain.com";
$subject = "TEST CRONJOB";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Bcc: ".strip_tags($sender)."\r\n";
$headers .= "From: Domain.com <".strip_tags($sender).">\r\n";
$html = "<html>
<body style='font-family:arial;'>
<p>Have a good day!<br>Test email sent twice per day.</p>
</body>
</html>";
mail($to, $subject, $html, $headers);
?>
我只需运行脚本即可发送电子邮件,但在cron中无法发送电子邮件。将cron选项卡内容替换为:
#Minute Hour Day Month Weekday Command
0 0,12 * * * /usr/bin/php /home/user/public_html/cronjob/send-mail.php
请注意,您的
send mail.php
中使用的路径可能需要更改为绝对路径。当您从shell执行时,它工作正常,因为系统知道您正在执行(通过./),但cron不知道这一点;因此,明确地告诉它使用php执行该文件
因此,在crontab中,替换
/home/user/public_html/cronjob/send-mail.php
与
错误不是来自您的脚本。e、 g脚本中没有
strip_tags()
。此外,最好使用邮件库发送电子邮件,如PHPMailer或SwiftMailer@Raptor嗯…确切的错误是什么?我看到你修改了密码。cron作业应该使用PHP来运行PHP文件,而不是运行PHP文件本身。e、 g./usr/bin/php/path/to/your/script.php
是否使用php运行php文件?你能详细说明一下吗?
/home/user/public_html/cronjob/send-mail.php
php -f /home/user/public_html/cronjob/send-mail.php