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
としないといけないみたいです…
ご指摘ありがとうございます!
修正しておきました!