1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScriptからメールを送信する方法

2022-03-30 18:07:30

質問

ホームページで、ページを更新せずにメールを送信する機能を持たせたいと思っています。そこで、Javascriptを使いたいのですが、どうすればよいでしょうか?

<form action="javascript:sendMail();" name="pmForm" id="pmForm" method="post">
Enter Friend's Email:
<input name="pmSubject" id="pmSubject" type="text" maxlength="64" style="width:98%;" />
<input name="pmSubmit" type="submit" value="Invite" />

ここで、関数を呼び出したいのですが、javascriptの関数に何を入れたらいいのかわかりません。調べたところ、mailtoメソッドを使用する例がありましたが、私の理解では、それは実際にはサイトから直接送信されないようです。

そこで質問なのですが、ウェブサイトから直接メールを送信するためのJavaScript関数に何を入れればいいのでしょうか?

function sendMail() {
    /* ...code here...    */
}

解決方法は?

javascriptで直接メールを送信することができません。

しかし、ユーザーのメールクライアントを開くことは可能です。

window.open('mailto:[email protected]');

また、件名と本文を事前に入力するためのパラメータもいくつかあります。

window.open('mailto:[email protected]?subject=subject&body=body');


もう一つの解決策は、サーバーにajaxコールを行い、サーバーがメールを送信するようにすることです。ただし、あなたのサーバーを通して誰かがメールを送れるようにしないように注意してください。