2012-03-03 17 views
1

私は、ユーザーが自分のメールIDを入力できるテキストボックスを持つWebページを持っています。私は入力されたメール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 = "mail" ' 'document.getElementById(" mail ")。value'を実行します。 – onemach

+0

これで、ユーザーは自分自身に電子メールを送信しますか? – xdazz

+0

クライアント側から直接メールを送信することはできません。フォームは 'mailto'リンクとして動作するように設定できますが、' mailto'によって開始されたメッセージが正常に送信されたかどうかを確認する方法はありません。 – rjz

答えて

3

ブラウザ側のJavaScriptは、独自の電子メールを送信できません。できることは、ユーザーの電子メールアプリケーションを開いて電子メールを送信できるようにすることです。たとえば:

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

あなたは、フォームのsubmitイベントをフックデフォルトのアクションを阻止し、そのコードを実行し、最終的な結果は、彼らがフォームに必要事項を記入できになり、[送信]をクリックして、自分の電子メールクライアントが開きます可能性があり、送信をクリックすることができます。

Try it on JSFiddle

0

まず、ジャバスクリプトを使用してメールを送信することはできません。これはクライアント側のスクリプト言語であり、まずサーバーに接続せずに、PHPやその他のサーバー側言語を使用して電子メールを送信するように要求することなく電子メールを送信することはできません。

テキストボックスからmailto:[email protected]を取得するとはどういう意味でしょうか。 mailto:は、ブラウザにユーザーのデフォルトの電子メールプログラムを開いて、指定されたアドレスにメールを送信させるプロトコルです。ユーザーはこれを行うためにクリックするか、既存のmailto:リンクから電子メールアドレスを引き出すことができるmailto:リンクを簡単に作成できますが、電子メールはまだ別の方法で送信する必要があります。メッセージが正常に送信されていますが、最も簡単で最も直接的にはおそらく、単純な警告ボックスであることをユーザーに伝えるために精巧な方法はたくさんあります

:Eメールの入力にIDを追加

alert("Your email has been sent succesfully."); 
関連する問題