2020年6月13日 • ☕️ 2 min read

nodejsでメール送信するなら、一番有名なのはnodemailerとなる。今日はnodemailerでGmailのアカウントを利用して、簡単な送信機能を実装してみる。

https://github.com/nodemailer/nodemailer

インストール

Copy
$ mkdir try-nodemailer
$ cd ./try-nodemailer
$ npm init -y
$ npm i nodemailer

Gmailの設定

  1. 2FA(2段階認証プロセス)を有効へ

    https://myaccount.google.com/u/2/security?gar=1

    enable-2fa.jpg

  2. アプリパスワードの発行

    add-app-password.jpg

    copy-app-password.jpg

    16桁のパスワードをコピー

送信プログラム

Copy
$ vim index.js
index.js
Copy
const nodemailer = require("nodemailer");

const transporter = nodemailer.createTransport({
  service: "gmail",
  port: 465,
  secure: true,
  auth: {
    // メールアドレス
    user: "try-nodemailer@gmail.com",
    // 16桁のアプリパスワード
    // !!サーバーの環境関数に保存すべきでしょう!!
    pass: "jnaznvqrhjpofuwe",
  },
});

transporter.sendMail({
  from: "try-nodemailer@gmail.com",
  to: "target@target-mail.com",
  subject: "try nodemailer",
  text: "sending mail by nodemailer",
}, function (error, info) {
  if (error) {
    console.error(error);
  } else {
    console.log(`Email sent: ${info.response}`);
  }
});

完了

Copy
# 実行
$ node index.js

Email sent: 250 2.0.0 OK  1592037460 r33sm7189455pjg.47 - gsmtp

送信成功になりました。


関連投稿

Pleskの追加デプロイメントアクションにyarnが動かない事件の調査

2020年6月14日

5分でWindowsにhttps://localhost:8080を立ち上げる

2020年5月23日

ThunderMiracle

Blog part of ThunderMiracle.com