Nodemailerを使い、SMTP経由でのメール送信を実装します。 今回はGmailのSMTPサーバーを使いご紹介します。
Gmail アプリパスワードが必要です。 取得方法は、以下の投稿をご確認ください。
npm install nodemailer
npm install dotenv
npmを使って、Nodemailerと環境変数用のライブラリをインストールします。
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USER="Gmailメールアドレス"
MAIL_SECURE=ssl
GMAIL_APP_PASSWORD="取得したアプリパスワード"
MAIL_USERとGMAIL_APP_PASSWORDは自身のものを記載してください。 その他の項目は固定です。 ※.envファイルは.gitignoreに設定してあることを忘れずに。
const nodemailer = require("nodemailer");
require('dotenv').config();
const transporter = nodemailer.createTransport({
host: process.env.MAIL_HOST,
port: process.env.MAIL_PORT,
secure: process.env.MAIL_SECURE,
auth: {
user: process.env.MAIL_USER,
pass: process.env.GMAIL_APP_PASSWORD,
}
});
const email = "";
const data = {
from: `差出人名 <${process.env.MAIL_USER}>`,
to: email,
subject: "件名",
text: "本文\n改行\n\n2行改行",
};
transporter.sendMail(data, (error, info) => {
if(error) {
// handling with error
console.log(error);
} else {
// handling with success
console.log(info);
}
});
その他の項目は固定です。
このプログラムをサーバー側で(REST APIとしてなど)実行することで、メール送信機能を動かすことができます。 今回は簡易的に以下のようにコマンドライン上で送信確認しました。
node index.js
©Omori
MEOW!