【发布时间】:2016-10-11 18:32:32
【问题描述】:
我正在尝试使用 node、express 和 multer 通过入站 webhook 存储来自 sendgrid 的电子邮件。 sendgrids 网站上有一个示例如下:
var express = require('express');
var multer = require('multer');
var upload = multer();
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.use(multer());
});
app.post('/parse', upload.array('files', 3) function (req, res) {
var from = req.body.from;
var text = req.body.text;
var subject = req.body.subject;
var num_attachments = req.body.attachments;
for (i = 1; i <= num_attachments; i++){
var attachment = req.files['attachment' + i];
// attachment will be a File object
}
});
var server = app.listen(app.get('port'), function() {
console.log('Listening on port %d', server.address().port);
});
发送带有附件的电子邮件时,此代码会引发错误。错误是“意外字段”。我认为 array.upload("files",3) 的声明是问题所在。有人解决了吗?
【问题讨论】:
-
您找到解决方案了吗?
-
已将入站电子邮件切换为邮筒。我们使用 Sendgrid 发送邮件,并将收到的电子邮件映射到 Mailgun。 Mailgun 可以更好地处理附件。他们为您提供了一个 URL,我们只需从该 URL 中提取附件并存储它。简而言之,我们只需获取每个 URL(附件)并即时存储它,Mailgun 为入站电子邮件提供了一个很好的设置,而且他们收取的费用非常少,所以当我们有这个时,这样做更容易问题。
标签: javascript node.js sendgrid