Javascriptだけを使ってメールを送ることは可能ですか?
はい。Webサービスを使用します。 AJAXサービスを呼び出すことができます。 EmailYak はそのようなサービスの1つです(現在はプライベートベータ版です)。
EDIT:実際の電子メールはサーバーから送信されるため、これはサーバー側のソリューションです。 AJAXを介してサーバーと通信し、メールを送信するように指示しているだけです。
編集:[警告!] README:
これは外部サーバーに接続するサードパーティのライブラリであり、送信する情報に注意してください。
JSの別のソリューションでは、 smtpjs という名前のライブラリを使用できます。
次のライブラリをヘッダーにHTMLを追加します。
<script src="https://smtpjs.com/smtp.js"></script>
これをセキュリティなしで使用してください:
Email.send("[email protected]",
"[email protected]",
"This is a subject",
"this is the body",
"smtp.yourisp.com",
"username",
"password");
これをセキュリティとともに使用します。
Email.send("[email protected]",
"[email protected]",
"This is a subject",
"this is the body",
{token: "63cb3a19-2684-44fa-b76f-debf422d8b00"});
JavascriptのSMTPクライアント を構築することは実際には可能であり、それほど難しいことではありません。
ただし、そのSMTPクライアントは、電子メールを配信するためにSMTPサーバーと通信する必要があります。そして、誰にでも開かれているSMTPサーバーは、最近では非常にまれです(すぐにスパムコンジットになり、ブロックまたは閉じられるため)。
ただし、クライアントを使用している人がSMTPサーバーとそのユーザー資格情報を提供できる場合(他の汎用電子メールクライアントと同様)、はい、javascriptのみを使用して電子メールを送信できます。
Smtpjsは http:// smtpjs にあるサービスを使用することに注意してください。それは本当にJavascriptSMTPクライアントではありません。この「ユーティリティ」は、電子メールの資格情報をサーバーsmtpjs.comにアップロードしていることを意味します。 細心の注意を払って使用してください。
mailto:[email protected][email protected]&subject=This%20is%20the%20subject&body=This%20is%20the%20body
アドレスにリダイレクトして、ブラウザにメールクライアントを起動し、メールを送信できるようにすることができます。ユーザーは「送信」をクリックするだけです。
コード:
document.location="mailto:[email protected][email protected]&"+
"subject=This%20is%20the%20subject&body=This%20is%20the%20body";
SMTPプロセスから「サイレント」にメッセージを送信する場合は、サーバー上で、またはホストされたサービスを使用して送信する必要があります。
ユーザーのネイティブ電子メールプログラムを使用することに満足している場合は、次のようなアプローチを使用できます この質問で説明 。