2008-08-11 8 views
13

クライアント側メール作成者Webページを作成したいと思います。私はhtml形式(標準ではなく、クライアント上で設定されたデフォルトのメールアプリケーションなし)でmailtoアクションを使用する際の問題を知っています。しかし、Webページはあまり重要ではありませんし、あまり気にしません。 mailtoアクションによって作成されたJavaScriptを使用してクライアントサイドのメールを作成することはできますか?

メールの構文は次のとおりです。

件名:未定義の対象
体:

のparam1 = VALUE1
PARAM2 = value2の



paramn = valuen

このようにメールをフォーマットするにはJavaScriptを使用できますか?

件名:XXXXX

ボディ: 値1;値2; VALUE3 ... ValueNの

答えて

15

私たちがプロジェクターで使用したのは、mailto:リンクを開くポップアップウィンドウです。これは、すべてのメールクライアントで動作するデフォルトメールクライアント内のメールを作成する唯一の方法です)。

var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ; 
var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks 
var subject = ""//between the speech marks goes the subject of the message 
var href = "mailto:" + addresses + "?" 
     + "subject=" + subject + "&" 
     + "body=" + body; 
var wndMail; 
wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10"); 
if(wndMail) 
{ 
    wndMail.close();  
} 
+0

IE 8では動作しないようです。デバッガによれば、wndMailはnullです。 –

+0

申し訳ありません。これはIE6を使用している古いプロジェクトのものです。改善のために自由に編集してください:) –

+0

これまで解決策が見つかりません。 –

0

は、あなただけの送信を扱うページにデータを送信することができない理由があります郵便物?ほとんどの言語で電子メールを送信するのはかなり簡単ですので、クライアント側にプッシュする強い理由がなければ、そのルートをお勧めします。ブラウザ経由でメールを送信するとき

6

あなたは、多かれ少なかれ2つのだけの選択肢を持っている...

  1. は、ユーザー入力を受け取りページを作成し、それらをあなたのWebサーバを経由してメールを送信することができます。これには、サーバー側のスクリプトが必要です。
  2. mailto:リンクを使用して、ユーザーが登録したメールクライアントを開くことができます。これはあなたが言及した明らかな落とし穴を持ち、柔軟性に欠けます。しかし、仕事は少なくて済みます。
4

javascript単独では、は利用できません。です。
Javascriptはそのようなことを意図したものではなく、それが生活するウェブブラウザ以外のものとやりとりすることができる方法でひどく不自由なものです。

考えてみましょう:スパマーが自動的に何千ものランダムなメールアドレスにメールを送るクライアントサイドのjavascriptを使用してウェブサイトを作成しています。人々がそのサイトに行かなければならない場合、彼らは自分のコンピュータを使って分散型の大量メール送信詐欺に参加するだろう...感染やユーザーの介入は必要ない!

+3

しかし、mailtoのアクションは、メールを送信しない、それだけで、クライアントのデフォルトの電子メールアプリケーションを呼び出し、新規メールを作成しますそれを送信することはありません。そのようなマルウェアサイトは、ユーザーの協力なしにスパムを送信することはできません。私は、javascriptがメッセージの本文を書式化するだけで送信するのではなく、答えを見ることはできません。 – Telcontar

1

あなたはmailtoのリンクを作成し、JavaScriptを使用して、それを発射することができます

var mail = "mailto:[email protected]?subject=New Mail&body=Mail text body"; 
    var mlink = document.createElement('a'); 
    mlink.setAttribute('href', mail); 
    mlink.click(); 
+0

ありがとう、それは私のtoughtに答えました "スペーススペースが動作する"超簡単! – Fortin

関連する問題