2012-08-07 53 views
0

我建立了一個HTML表單,每當我提交我要求打開鍵G郵件或Outlook。當我這樣做時,將打開一封包含正確電子郵件地址的新電子郵件。問題是我希望它在沒有打開任何東西的情況下發送。我只想使用表單的HTML,沒有PHP/MySQL。HTML表單不工作的權利

 <form method="post" action="mailto:[email protected]" enctype="text/plain"> 
      <p>Name: <input type="text" name="Name" size="20"></p> 
      <p>Email: <input type="text" name="Email" size="20"></p> 
      <p><input type="submit" value="Submit" name="Submit"></p> 
     </form> 

回答

2

您不應將表單動作設置爲發送任何內容。

而應該有直接給你寫了一個腳本,在那裏你可以接受的POST變量,然後發送電子郵件。有一個原生的PHP函數叫做mail(),它可以做到這一點。您的代碼應該是這樣的:

HTML

<form method="post" action="scripts/mailtome.php" enctype="text/plain"> 
    <p>Name: <input type="text" name="Name" size="20"></p> 
    <p>Email: <input type="text" name="Email" size="20"></p> 
    <p><input type="submit" value="Submit" name="Submit"></p> 
</form> 

PHP - mailtome.php

<?php 
    $name = stripslashes(trim($_POST['Name'])); 
    $email = stripslashes(trim($_POST['Email'])); 
    $to = '[email protected]'; 
    $subject = 'CONTACT FORM'; 

    $body = "From: $name\n E-Mail: $email"; 

    if(mail($to, $subject, $body, $name.' - '.$email)) 
     echo("It worked"); 
    else 
     echo("Something went wrong"); 
?> 
+0

感謝您的回答。我只是試過這個,並且發給我正確的電子郵件,但它只是給我發送了文本'From:'和'Email:'。它沒有通過電子郵件發送我實際輸入到表單中的文本。 – cmorris1441 2012-08-07 20:13:07

+0

嘗試刪除enctype並查看它是否執行了任何操作。如果不是,請嘗試將'$ _POST'更改爲'$ _REQUEST'或'$ _GET'。可能不會做任何事情,但值得一試。 – cereallarceny 2012-08-07 20:23:27

+0

刪除了enctype並且它正在工作。謝謝! – cmorris1441 2012-08-08 05:24:16

0

你不能在示例HTML上做到這一點。你必須需要PHP或類似發送郵件。 HTML在這種方式下不起作用。

行動的mailto只打開默認郵件應用程序。

谷歌是你的朋友,搜索之前問。網絡就是一個很好的例子。

2

是不是真的支持mailto表單操作 - 如果您希望表單元素出現在與想要的地址的電子郵件,這不是形式應該如何工作。

你需要有一些服務器端代碼,您可以將您的形式,並且將執行實際發送電子郵件。

0

它看起來像你正試圖使註冊表單,供用戶輸入他們的姓名和電子郵件,然後按提交將該信息發送至[email protected]。如果這是正確的,那麼你有幾個選項:

  1. 使用mailto鏈接,這是你在這裏做什麼。通常這些只是超鏈接而不是表單。該技術將提示用戶選擇電子郵件客戶端以實際發送電子郵件。當您被要求打開Gmail或Outlook時,這就是發生了什麼。好處是它不需要服務器。缺點是用戶需要在電子郵件客戶端中真正完成發送電子郵件的過程。
  2. 製作能夠發送電子郵件的服務器端腳本。你可以用PHP或任何你想要的語言來做到這一點。然後製作提交給此服務器端腳本的表單。在這個選項中,用戶只需按提交,但是你必須設置服務器端腳本,你提到你不想這樣做。

如果您恰好在WordPress等其他博客軟件的網站上運行此註冊表單,它們通常會使用內置的方式製作註冊表單以節省您的麻煩。