Nodemailerをインストール
Nodemailerが未インストールの場合はインストールします。
npm install nodemailer
$ npm install nodemailer added 1 package, and audited 2 packages in 1s found 0 vulnerabilities
メール送信サンプル
// [1]
// Nodemailerの読み込み
const nodemailer = require("nodemailer");
// [2]
// SMTP情報設定("NODE_ENV"の値で本番/テスト切替)
var smtpConfig;
if (process.env.NODE_ENV === 'production' ){
// 本番環境
smtpConfig = {
host: 'svXXXXX.xserver.jp',
port: '465',
secure: true,
auth: {
user: "username",
pass: "password",
}
};
} else {
// テスト環境
smtpConfig = {
host: 'svXXXXX.xserver.jp',
port: '465',
secure: true,
auth: {
user: "username",
pass: "password",
}
};
}
let transporter = nodemailer.createTransport(smtpConfig);
// [3]
// メール送信内容設定
let mail_data = {
from: '"送信元ユーザ名" <' + smtpConfig.auth.user + '>',
to: 'example@example.com',
subject: 'メールタイトル',
text: 'メール本文',
html: '<b>メール本文</b>',
};
// [4]
// メール送信実行
transporter.sendMail(mail_data, function (error, info) {
if (error) {
// エラー処理
console.log(error);
} else {
// 送信時処理
console.log( 'Email sent: ' + info.response );
//
console.log( 'NODE_ENV: ' + process.env.NODE_ENV );
}
});
メール送信実行
env NODE_ENV=production node index.js
$ env NODE_ENV=production node index.js Email sent: 250 2.0.0 Ok: queued as 821B2C8202C625 NODE_ENV: production
動作環境情報
"エックスサーバー" x10 "node" v14.17.3 "npm" 7.22.0 "nodemailer" 6.6.3
コメント