错误:未定义传输方法

我需要从我的应用程序创build一个Outlook日历事件,我正在使用快速js,但我得到一个错误,因为[错误:没有传输方法定义],并在某些1189989毫秒后,responde是200成功

但在outlook中,我无法看到任何事件

所以这是我的尝试

var _ = require('lodash'); var Outlook = require('./outlook.model'); var icalToolkit = require('ical-toolkit'); var nodemailer = require('nodemailer'); var smtpTransport = require('nodemailer-smtp-transport'); //Create a iCal object var builder = icalToolkit.createIcsFileBuilder(); var icsFileContent = builder.toString(); var smtpOptions = { "secureConnection": true, "from": "*****", "host": "smtp-mail.outlook.com", "secureConnection": true, "port": 587, "transportMethod": "SMTP", "auth": { user: '******', pass: '*****' }}; var builder = icalToolkit.createIcsFileBuilder(); builder.events.push({ start: new Date(), end: new Date(), }); var transporter = nodemailer.createTransport(smtpTransport(smtpOptions)); var mailOptions = { from: '******', to: '******', subject: 'Meeting to attend', html: "Anything here", text: "hiiiiiiiiiiiiiiiiii", alternatives: [{ contentType: 'text/calendar; charset="utf-8"; method=REQUEST', content: icsFileContent.toString() }]}; //send mail with defined transport object exports.send = function(req, res) { transporter.sendMail(mailOptions, function(error, info) { if (error) { console.log(error); } else { console.log('Message sent: ' + info.response); } });}; 

这里是完成路由的index.js

 'use strict'; var express = require('express'); var controller = require('./outlook.controller'); var router = express.Router(); router.get('/', controller.index); router.get('/send', controller.send); router.get('/:id', controller.show); router.post('/', controller.create); router.put('/:id', controller.update); router.patch('/:id', controller.update); router.delete('/:id', controller.destroy); module.exports = router; 

我不明白我哪里错了

任何帮助将不胜感激..

您已经将transportMethod添加到smtpOptions中,如下所示:

 var nodemailer = require('nodemailer'); var smtpTransport = require('nodemailer-smtp-transport'); var transporter = nodemailer.createTransport(smtpTransport( { from: "no-reply@example.com", host: "smtp.mail.com", secureConnection: true, port: 465, transportMethod: "SMTP", auth: { user: "mail.user@mail.com", pass: "userpass" } } )); transporter.sendMail({ from: "email from", to: data.to, subject: "test", html: "test email" }); 

如果你有一个域名,你可以注册一个MailGun账户。 否则,您可以使用Gmail SMTP