nodejsでメール送信するなら、一番有名なのはnodemailer
となる。今日はnodemailerでGmailのアカウントを利用して、簡単な送信機能を実装してみる。
https://github.com/nodemailer/nodemailer
インストール
$ mkdir try-nodemailer
$ cd ./try-nodemailer
$ npm init -y
$ npm i nodemailer
Gmailの設定
-
2FA(2段階認証プロセス)を有効へ
https://myaccount.google.com/u/2/security?gar=1
-
アプリパスワードの発行
16桁のパスワードをコピー
送信プログラム
$ vim index.js
index.js
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}`);
}
});
完了
# 実行
$ node index.js
Email sent: 250 2.0.0 OK 1592037460 r33sm7189455pjg.47 - gsmtp
送信成功になりました。