gmailを使ってフォームから質問文を送信

今回はJavaScript(以下、js)で、gmailを用いてフォームから「送信」ボタンを押して質問文を送信するプログラムを構築します。

 

★開発環境

OS → Windows10
開発環境 →  visual studi code 

コードは以下のようになります。

 

gist.github.com

 

jsはフロントなのでメールサーバーと連動させる必要があります。

そのためにSMTPJSという便利なライブラリがあり、読み込むだけ利用できます。

<script src="https://smtpjs.com/v2/smtp.js"></script>

 

実際にメール送信する部分は以下のようになります。

Email.send(
"1234@gmail.com",
  "ABCD@gmail.com",
  "The question to you!!",
  your_text,
  "imap.gmail.com",
  "1234",
  "aaa"
);
詳細を説明すると

Email
.send(
"送り元アドレス", "送り先アドレス", "件名",
    "メール本文",
    "メールサーバのドメイン",
    "送信に使うアカウントのユーザー名",
    "送信に使うアカウントのパスワード"
);

 

「メールサーバのドメイン」についてですが、アップルがメールサーバの設定情報を調べることのできるサイト(メールサーバ設定の確認 - Apple サポート)を公開していて、ドメインを調べることができます。「ホスト名」とあるのがドメインのことです。

 

 

フォームの「送信」ボタンを押して送信しようとすると、Google側でセキュリティが起動するのでエラーが返ってくることもあります。 そこで、Google アカウントの「ログインとセキュリティ」で安全性の低いアプリの許可」を「有効」にしておきましょう。セキュリティの都合上、プログラム実行時のみ有効にして、常時は「無効」にしておきましょう。手順は以下の画像の通りです。

 

 自分のGoogle アカウントのログイン後、

f:id:astrophysik928:20181013233622p:plain

画面右上の「Google アカウント」を選択して、

f:id:astrophysik928:20181013233736p:plain

 「ログインとセキュリティ」を選択。そして、

f:id:astrophysik928:20181013233846p:plain

「安全性の低いアプリの許可」を有効にする。

 

実際にフォームを立ち上げます。

 

f:id:astrophysik928:20181108140040p:plain

「送信」ボタンを押すと以下のように指定されたアドレスに質問文が届きます。

 

f:id:astrophysik928:20181108140820j:plain