2011-02-28 113 views
2

我基本上有一個正常的php郵件功能腳本,應該每隔一段時間使用一個cron作業運行,但是一些郵件在實際工作時不工作,如果我手動運行腳本。使用cron作業發送電子郵件的問題

例如在我的hoshing的cron控制面板我domain.ca/pear/Mail/test_mail.php

進入我不能在正確的網址進入?我應該使用某種cron作業命令

require_once('Mail.php'); 
require_once('../Mail_Mime/mime.php'); 


$mail = Mail::factory("mail"); 

    $headers = array("From"=>"[email protected]", "Subject"=>"Test Mail"); 
    $body = "This is a test!"; 
    $mail->send("[email protected]", $headers, $body); 

的這正是我的電子郵件腳本

此外,cron的工作與像Gmail中的某些電子郵件地址。

因此,像我學校這樣的電子郵件在cron中不起作用,但在手動執行時有效。另外,腳本更新使用cron中的數據庫..

我有這個在我的sh文件:

/usr/local/nf/php5/bin/php -f ./test_mail.php 
+0

+1好的技術問題。 – 2011-02-28 19:55:23

+0

它發送零電子郵件嗎?我的託管服務限制了每小時的電子郵件數量,也許您正在碰壁。 – Steve 2011-02-28 20:06:22

+0

另外,看看錯誤日誌... – Steve 2011-02-28 20:07:19

回答

2

你不能把URL獨自在cron規則。在cron規則中使用基於文本的瀏覽器,如lynxwget

* * * * * wget http://mypage.com

您不妨添加一些參數wgetlynx,以便它不保存在服務器上的輸出,而不只是模擬取。或將輸出文件夾重定向到/tmp/dev/null,以使其被浪費。檢查相關工具的手冊頁:

man wgetwget --help via Shell。

你也可以做Artefact2推薦如下:* * * * * php script.php。你可能需要在你的PHP代碼上加壽聲明認領的PHP:

#!/usr/bin/php 
<?php 
// your PHP code here 

家當需要指向在您的系統工作PHP可執行文件。

+0

這個控制面板我已經提供了一個www的領域:然後我填寫它...腳本運行,但電子郵件不發送 – Adam 2011-02-28 19:55:23

+0

好吧,那很糟糕。你需要確保腳本運行在所有......我的意思是,通過cron。 – 2011-02-28 19:56:58

+2

任何人都可以從瀏覽器調用這個腳本,而且它很混亂。只需在你的crontab中添加'* * * * * php myscript.php'。 – Artefact2 2011-02-28 20:01:18