web-dev-qa-db-ja.com

javascriptを使用してメールを送信できますか

Javascriptだけを使ってメールを送ることは可能ですか?

13
dotty

はい。Webサービスを使用します。 AJAXサービスを呼び出すことができます。 EmailYak はそのようなサービスの1つです(現在はプライベートベータ版です)。

EDIT:実際の電子メールはサーバーから送信されるため、これはサーバー側のソリューションです。 AJAXを介してサーバーと通信し、メールを送信するように指示しているだけです。

4
Adam

編集:[警告!] 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"});
4
mfruizs2

JavascriptのSMTPクライアント を構築することは実際には可能であり、それほど難しいことではありません。

ただし、そのSMTPクライアントは、電子メールを配信するためにSMTPサーバーと通信する必要があります。そして、誰にでも開かれているSMTPサーバーは、最近では非常にまれです(すぐにスパムコンジットになり、ブロックまたは閉じられるため)。

ただし、クライアントを使用している人がSMTPサーバーとそのユーザー資格情報を提供できる場合(他の汎用電子メールクライアントと同様)、はい、javascriptのみを使用して電子メールを送信できます。

4

Smtpjsは http:// smtpjs にあるサービスを使用することに注意してください。それは本当にJavascriptSMTPクライアントではありません。この「ユーティリティ」は、電子メールの資格情報をサーバーsmtpjs.comにアップロードしていることを意味します。 細心の注意を払って使用してください

2
Joshua Zeidner

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";
1
thejh

SMTPプロセスから「サイレント」にメッセージを送信する場合は、サーバー上で、またはホストされたサービスを使用して送信する必要があります。

ユーザーのネイティブ電子メールプログラムを使用することに満足している場合は、次のようなアプローチを使用できます この質問で説明

1
Phil.Wheeler