通过解析云模块Sendgrid通过电子邮件发送文件

Sending an file via email through Parse cloud module Sendgird

本文关键字:文件 电子邮件 模块 Sendgrid      更新时间:2023-09-26

我正试图通过电子邮件发送一个文件,使用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获取文件,但我想将其附加在电子邮件中。

要添加文件的参数不正确,请尝试以下操作:

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

所以没有其他人需要经历这种巨大的麻烦。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);
});