node.jsでメール送信するのに便利な「nodemailer」を使ってメール送信します。
nodemailer はUnicodeでPlane TextやHTMLに対応していて、GmailやHotmailにも対応しています。
詳しくはこちら
今回はgmailでやってみました。2段階認証を設定していると失敗したので、2段階認証はOFFにしています。
まずはインストール。最新のバージョンだと動作しなかったのでv0.7をインストール。
$ npm install nodemailer@0.7 –save
module.exports = (function(){
var mailer = require('nodemailer');
function SendMail(){
this.setting = {
service: 'Gmail',
ssl: true,
use_authentication: true,
auth: {
user: 'hogefuga@gmail.com',
pass: 'xxxxxxxxxxx',
}
};
}
SendMail.prototype = {
sendChangPw: function(){
// SMTPの接続
var transporter = mailer.createTransport('SMTP', this.setting);
var mailOptions = {
from: 'hogefuga@gmail.com',
to: 'fugahoge@gmail.com,
subject: 'こんにちは',
html: '<h1>こんにちは</h1><br>' +
'<p>テストです</p>'
};
// メールの送信
transporter.sendMail(mailOptions, function(err, res){
if(err){
// 送信に失敗したとき
console.log(err);
}
else {
// 送信に成功したとき
console.log('Message sent: ' + res.message);
}
// SMTPの切断
transporter.close();
});
}
};
return SendMail;
})();
おすすめ書籍
nodemailerの最新バージョンはエラーがある?ようで使えないので、0.7を使えとnpmのnodemailerのページにあったので、
npm install nodemailer@0.7
としないといけないみたいです…
ご指摘ありがとうございます!
修正しておきました!