2016-08-08 13 views
0

私は郵便料金のSMTPサービスを使用しているOutlookカレンダーイベントを設定する必要があります iCalToolkitを使用してカレンダーオブジェクトを作成しました。転送方法が定義されていません:カレンダーイベント

ここで私はエラーが発生しています[転送方法が定義されていません] 正常に動作するまでに数日かかりましたが、今日エラーが表示され始めました。 私は問題

var _ = require('lodash'); 
var Outlook = require('./outlook.model'); 

exports.sendMsg = function(req, res) { 
    console.log("this is outlook ctrl" + req.query.dateOfInterview); 
    var icalToolkit = require('ical-toolkit'); 
    var postmark = require("postmark"); 

    // Example request 
    var client = new postmark.Client("key"); 
    //var postmark = require('postmark'); 
    //var client = new postmark.Client('xxxxxxxKeyxxxxxxxxxxxx'); 
    var nodemailer = require('nodemailer'); 
    var smtpTransport = require('nodemailer-smtp-transport'); 
    console.log(req.query); 
    //Create a iCal object 
    var builder = icalToolkit.createIcsFileBuilder(); 
    builder.method = 'REQUEST'; 
    //Name of calander 'X-WR-CALNAME' tag. 
    builder.calname = 'Yo Cal'; 
    builder.events.push({ 

     //Event start time, Required: type Date() 
     start: new Date(), 

     //Event end time, Required: type Date() 
     end: new Date(req.query.dateOfInterview), 
     //Event summary, Required: type String 
     summary: 'Scheduled interview For ' + req.query.name, 


     //All Optionals Below 

     //Alarms, array in minutes 
     alarms: [120, 60] 
    }); 
    //builder.method = meeting.method; 
    //Add the event data 

    var icsFileContent = builder.toString(); 
    var smtpOptions = { 
     "host": "smtp.postmarkapp.com", 
     "port": 25, 
     "secureConnection": true, 
     "auth": { 
      user: 'username', 
      pass: 'password' 
     } 
    }; 

    var transporter = nodemailer.createTransport(smtpTransport(smtpOptions)); 
    console.log(transporter); 

    var mailOptions = { 
     from: '******', 
     to: req.query.tpMail, 
     alternatives: [{ 
      contentType: 'text/calendar; charset="utf-8"; method=REQUEST', 
      content: icsFileContent.toString() 
     }] 
    }; 

    //send mail with defined transport object 

    transporter.sendMail(mailOptions, function(error, info) { 
     if (error) { 
      console.log(error); 
     } else { 
      console.log('Message sent: ' + info.response); 
     } 
     res.end(); 
    }); 
}; 

任意の助けをいただければ幸いに理解しない急行枠組み を使用しています。

答えて

0

私のコードは、それは0.7.1だったと今2.4.2にそれを変更し、あなたが、あなたのnodemailerのバージョンを変更したい場合は、それは を働いていた前にここでの問題は、nodemailerバージョン たすべて正しい です:

1)nodemailernode_modulesに削除し、npmを再度インストールしてください。

又は

2)npm remove nodemailer npm install nodemailer2.4.2 --save

関連する問題