JavaScript を使用してクライアント側の電子メールを作成できますか?

StackOverflow https://stackoverflow.com/questions/7592

  •  08-06-2019
  •  | 
  •  

質問

クライアント側のメールクリエーターのWebページを作成したいと考えています。私は HTML フォームで mailto アクションを使用する場合の問題を知っています (標準ではなく、クライアントにデフォルトのメール アプリケーションが設定されていません)。しかし、Web ページはそれほど重要ではなく、彼らもあまり気にしません。

mailto アクションによって作成されるメールの構文は次のとおりです。

主題:未定義の主題
体:

パラメータ1=値1
パラメータ2=値2
.
.
.
paramn=値

JavaScript を使用してメールをこのような形式にできますか?

件名:XXXXX

体:値1;値2;値3...値N

役に立ちましたか?

解決

プロジェクトで使用したのは、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();    
}

他のヒント

ブラウザ経由でメールを送信する場合、ほぼ 2 つの選択肢しかありません。

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

JavaScript だけでは、 ありえない.
JavaScript はそのようなことを行うことを意図したものではなく、JavaScript が存在する Web ブラウザ以外のものと対話する方法が著しく制限されています (正当な理由があります!)。

考えてみてください:スパマーは、何千ものランダムな電子メール アドレスに自動的にメールを送信するクライアント側 JavaScript を使用して Web サイトを作成します。人々がそのサイトにアクセスした場合、全員が自分のコンピュータを使って分散型大量メール詐欺に参加することになります...感染やユーザーの操作は必要ありません。

mailto リンクを作成し、JavaScript を使用して起動できます。

  var mail = "mailto:buddy@mail.com?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();

メールの送信を処理するページにデータを送信できない理由はありますか?ほとんどの言語で電子メールを送信するのは非常に簡単なので、クライアント側にプッシュする強い理由がない限り、その方法をお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top