【问题标题】:Sending an file via email through Parse cloud module Sendgird通过 Parse 云模块 Sendgrid 通过电子邮件发送文件
【发布时间】:2015-12-30 17:42:50
【问题描述】:

我正在尝试使用 Parse.com 的 JS 云云,利用 Sendgrid 通过电子邮件发送文件。该文件存在,它正确地查询它,它只是没有将它附加到电子邮件中

var theFile = object.get("file")
var sendgrid = require("sendgrid");
sendgrid.initialize("***", "**");
var email = sendgrid.Email({to: ['pat.doyle95@gmail.com']});
email.setFrom('guy@email.com');
email.setSubject('Payroll');
email.setText("This is the payroll file for yesterday \n \n" + theFile.url())
console.log(theFile)
email.addFile(theFile.name(), theFile).then(function(e) {
    console.log("In file add");
    console.log(e);
    console.log("this is filename " + theFile.name());
});
sendgrid.sendEmail(email);

该文件存在,它也显示在我收到的电子邮件中。虽然我仍然可以通过 URL 获取文件,但我想将其附加到电子邮件中。

【问题讨论】:

  • 您的 addFile 方法似乎签名错误。见docs;它需要一个对象,而不是参数列表。

标签: javascript email parse-platform sendgrid


【解决方案1】:

addFile 的参数不正确,试试这个:

email.addFile({
  filename: theFile.name(),
  url: theFile.url()
});

【讨论】:

  • 我已经离开了这里的解析文档。 github.com/elbuo8/sendgrid-parse我尝试了这种方法,但它无法识别 parse.com 中的 url 参数
  • 结果:TypeError:无法在 e.query.find.success (main.js:19:15) 调用 Email.addFile (sendgrid.js:222:40) 处未定义的方法 'url'在 e. (Parse.js:14:28224) 在 e.s (Parse.js:14:27156) 在 e.n.value (Parse.js:14:26575) 在 e.s (Parse.js:14:27284) 在e.n.value (Parse.js:14:26575) 在 e.s (Parse.js:14:27284) 在 e.n.value (Parse.js:14:26575) 在 e. (Parse.js:14:27228)
【解决方案2】:

所以没有其他人需要经历这个巨大的麻烦。 addFile() 函数被同步调用并调用 addFileFromBuffer() 这意味着如果您在添加文件后立即发送电子邮件,那么电子邮件将在附件创建之前发送。在 addFile() 函数内部调用 sendEmail()。

var theFile = object.get("file")
var sendgrid = require("sendgrid");
sendgrid.initialize("***", "**");
var email = sendgrid.Email({to: ['pat.doyle95@gmail.com']});
email.setFrom('guy@email.com');
email.setSubject('Payroll');
email.setText("This is the payroll file for yesterday \n \n" + theFile.url())
console.log(theFile)
email.addFile(theFile.name(), theFile).then(function(e) {
    console.log("In file add");
    console.log(e);
    console.log("this is filename " + theFile.name());
    sendgrid.sendEmail(email);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多