2012-03-03 63 views
1

我有一個帶有文本框的網頁,用戶可以在其中輸入他的電子郵件ID。我想將郵件發送到輸入的郵件ID。如何使用javascript發送郵件

<form action="mailto:[email protected]" method="post" enctype="text/plain" > 

FirstName:<input type="text" name="FirstName"> 

Email:<input type="text" name="Email"> 

<input type="submit" name="submit" value="Submit"> 

</form> 

問題是我想mailto:[email protected]從文本box.Then的消息應該會出現說,郵件發送成功服用。我可以使用JavaScript來做到這一點嗎?

+2

添加一個ID,電子郵件輸入,說' ID = 「郵件」'。然後是'document.getElementById(「mail」).value'。 – onemach 2012-03-03 04:06:25

+0

所以你想讓用戶發送電子郵件給自己? – xdazz 2012-03-03 04:09:08

+0

您無法直接從客戶端發送郵件。您可以將表單設置爲'mailto'鏈接,但無法確認'mailto'發起的消息是否已成功發送。 – rjz 2012-03-03 04:09:52

回答

3

瀏覽器端JavaScript無法自行發送電子郵件。最好的辦法是嘗試打開用戶的電子郵件應用程序,以便他們發送電子郵件。例如:

location.href = 'mailto:' + encodeURIComponent(emailAddress) + 
       '?subject=' + encodeURIComponent(subject) + 
       '&body=' + encodeURIComponent(body); 

你可以掛鉤的submit事件的形式,阻止默認動作,並執行該代碼,而最終的結果將是他們填寫表格,點擊提交,他們的電子郵件客戶端打開,他們可以點擊發送。

Try it JSFiddle。

0

首先,不能使用javascript發送電子郵件。它只是一種客戶端腳本語言,如果沒有首先聯繫服務器並「請求」使用PHP或其他服務器端語言發送電子郵件,則不能發送電子郵件。

我不確定你說的你想要mailto:[email protected]從文本框中取得什麼意思。 mailto:只是一個協議,它使瀏覽器打開用戶的默認電子郵件程序來發送郵件到給定的地址。您可以輕鬆創建一個mailto:鏈接,用戶可以點擊該鏈接來執行此操作,或者從現有的mailto:鏈接中提取電子郵件地址,但仍然需要以其他方式發送電子郵件。

有很多複雜的方法告訴的消息已成功發送的用戶,但是是最簡單,最直接的可能是一個簡單的提示框:

alert("Your email has been sent succesfully.");