[英]Unix CRON JOB to send PHP Mail every minute
我在public_html目錄下有一個php郵件腳本mailer.php 。 當我通過domain.com/mailer.php直接訪問它時,哪個工作正常
PHP郵件腳本
<?php
$from = "mail@gmail.com"; // sender
$subject = "Subject";
$message = "Message of mail";
$message = wordwrap($message, 70);
mail("mail@gmail.com",$subject,$message,"From: $from\n");
?>
但是我想每分鍾使用unix shell cron job執行這個腳本
我正在使用Putty.exe Shell終端(適用於Windows)
我在public_html / mailer.txt中保存了以下cron代碼
* * * * * /home/user/public_html/mailer.php
將Shell終端目錄更改為/ public_html並運行以下命令
crontab mailer.txt
現在我希望每分鍾都能收到我上面定義的電子郵件ID的郵件,但它不起作用。 請幫助我找出我做錯的地方。
您的文件根本不可執行。 你可能想要調用php
代替:
* * * * * php /home/user/public_html/mailer.php
......或者為了安全起見:
* * * * * /usr/bin/php /home/user/public_html/mailer.php
...其中/usr/bin/php
應該替換為php二進制文件的實際路徑。
此外,您可以將文件本身轉換為Linux腳本:
#!/usr/bin/php
<?php
$from = "mail@gmail.com"; // sender
$subject = "Subject";
$message = "Message of mail";
$message = wordwrap($message, 70);
mail("mail@gmail.com",$subject,$message,"From: $from\n");
?>
...並告訴Linux它是一個可執行文件。 例如,如果文件保存為/home/user/bin/mailer
(不需要將其保存到Apache文檔根目錄中):
chmod +x /home/user/bin/mailer
現在可以安排文件本身:
* * * * * /home/user/bin/mailer
您可以在本手冊的“ 執行PHP文件”部分中找到更多詳細信息。
更改:
* * * * * /home/user/public_html/mailer.php
至
* * * * * php /home/user/public_html/mailer.php
在您的cron文件中,您需要執行:
/usr/bin/wget localhost/mailer.php
這應該執行文件中的PHP代碼。 但是,我建議設置.htaccess文件,以便localhost是唯一可以執行該PHP文件的人。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.