Node.jsでメール送信

Pocket
LINEで送る

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;
})();
おすすめ書籍

「Node.jsでメール送信」への2件のフィードバック

  1. fai1618 より: 返信

    nodemailerの最新バージョンはエラーがある?ようで使えないので、0.7を使えとnpmのnodemailerのページにあったので、
    npm install nodemailer@0.7
    としないといけないみたいです…

    1. tkd55 より: 返信

      ご指摘ありがとうございます!
      修正しておきました!

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください