簡體   English   中英

Unix CRON JOB每分鍾發送一次PHP郵件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM