2012-02-27 50 views
1

我需要一個簡單的html + javascript頁面,當點擊一個按鈕時,必須將多個電子郵件發送到預定義的用戶列表。我可以從JavaScript調用一個php腳本,而不需要它在Web服務器上嗎?

我需要html頁面才能夠在沒有安裝web服務器的機器上本地運行。

如果它本身只是html頁面,這將是沒有問題的。但從我讀過的所有內容中,不可能直接從javascript/jquery發送電子郵件(see this StackOverflow post here for example)。相反,我必須調用某種腳本來實際發送電子郵件。

我也看過this post,但這個似乎是運行一個自包含的腳本,而不是調用帶參數的方法。我不確定這是我需要的。

我正在尋找一種發送電子郵件的方式,而無需在機器上運行Web服務器。它不一定是PHP。有沒有簡單的方法可以做到這一點,而不需要在機器上存在Web服務器?

+1

你總是可以在JavaScript中實現PHP! – 2012-02-27 13:25:51

+0

好吧,你可以在任何地方託管php腳本,不一定是你擁有html頁面的主機/服務器/機器。你也可以使用煩人的「mailto」,它基本上使用默認的電子郵件客戶端 – scibuff 2012-02-27 13:26:52

+0

不,沒有簡單的方法來實現這一點... – soju 2012-02-27 13:27:21

回答

4

要回答你的問題:不,沒有辦法運行服務器端代碼(發送電子郵件必須是),而無需運行該代碼的服務器 - PHP,Python,Ruby或其他任何程序。

您可以使用第三方服務,如http://postageapp.com/ - 但請注意,會涉及費用,並且您必須通過該第三方服務路由這些電子郵件的內容。

-2

您需要觸發服務器端腳本才能發送電子郵件。

如果你必須使用另一個網站服務器的選項,你可以通過AJAX調用腳本是這樣的:

$.ajax({  
    url: "http://some.remote.server/send_email.php", 
    data: { 
    receipient: "[email protected]", 
    subject: "Some Subject", 
    body: "Hello Dude!" 
    }, 
    success: function(){ 
    // ... 
    } 
}); 
+0

https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript – m90 2012-02-27 14:16:26

+0

我的不好,我想我不應該寫「ajax」。但是有一種方法可以通過GET請求訪問遠程腳本,不是嗎?至少有一個可以訪問「crossdomain」的Twitter JSON API。 – AaL 2012-02-27 15:36:59

+0

雖然有一個可公開訪問的AJAX端點來發送電子郵件只是要求麻煩。 – 2012-02-28 10:49:40

1

你可以不具有Web服務器上運行PHP,並將其作爲一個命令行工具:

http://www.php.net/manual/en/features.commandline.usage.php

你的問題將是你需要某種方式從那裏的JavaScript獲取客戶端/服務器信息的「狀態」。你不能(很容易)用JavaScript寫文件,但你可以發出標準的HTTP請求。爲此,您需要一個Web服務器。

你說這會獨立運行在工作站上。您可能會發現,調整安全權限(see here)可以更輕鬆地寫入包含電子郵件參數的本地文件,然後使用本地計算機上的cron作業或計劃任務來解析該文件,從而啓動電子郵件。

相關問題