2009-08-19 35 views
0

我需要編寫一個腳本,使用wget將文件下載到一個文件(基於提供的URL到該文件),然後將結果傳送給郵件命令,以便將郵件發送到提供的電子郵件地址。這將用於基於PHP的項目。如何通過linux郵件命令通過電子郵件發送wget下載的結果?

「管理結果」最好是建立在服務器上的文件鏈接,以便郵件的接收者只需單擊鏈接並在本地獲取文件即可。

任何人都有這方面的經驗,他們會分享命令相結合?

+0

我不明白,你在問怎麼做'wget URL | mail -s「主題」email @ address' ??? – derobert 2009-08-19 07:32:23

+0

是否要從外部URL下載,將該文件存儲在Intranet服務器上,然後將鏈接發送到該「本地」(緩存)文件的「Intranet」內的某個人? – VolkerK 2009-08-19 09:33:23

+0

那麼,你想在PHP中寫這個?或者一些shell腳本語言?如果是後者,德羅伯特有正確的想法,而且它應該非常簡單。但是,如果你想用PHP編寫它,那可能會更復雜...... – Thomi 2009-08-19 11:28:41

回答

2

僞代碼,甚至可以直接工作,將其保存到一個文件中,並用2個參數調用它,第一個就是你要下載的遠程文件的URL,二是郵件在哪裏發送通知。

LOCALPATH變量應該是一個可從www訪問的目錄,並且LOCALURL應該與該位置匹配。

#!/bin/bash 
URL=$1 
FILE=`basename $URL` 
EMAIL=$2 
LOCALURL=http://yourdomain.com/files 
LOCALPATH=/var/www/html/files 
cd $LOCALPATH 
wget $URL 
cat<<END|mail -s "New file available" ${EMAIL} 
Hello, 

    your new file can be downloaded now from: 

    ${LOCALURL}/${FILE} 

Thanks! 
END 
+0

謝謝rasjani,這個腳本是完美的! :) – ddtpoison777 2009-08-24 10:39:43