Ich benutze Sendgrid (mit Helfer), um E-Mails von NodeJs Server zu senden. Wenn ich eine PDF-Datei als Anlage sende, ist die Antwort 200 OK und ich empfange die Mail mit angehängtem PDF. Aber diese Datei wurde nicht geöffnet, wenn ich versuche, den folgenden Fehler zu öffnen.anhängen PDF in Knoten js mit sendgrid Helfer funktioniert nicht richtig
"Es gab ein Problem bei der Vorschau dieses Dokuments."
Ich verwende "pdfkit" Modul, um eine PDF-Datei zu erstellen.
Hier ist mein Code.
var doc = new PDFDocument({
size: 'letter'
});
doc.pipe(fs.createWriteStream('will.pdf'));
doc.text('my text11111')
doc.end();
//
fs.readFile('will.pdf', function (err, data) {
mailer.sendMail([{ name: '', email: '[email protected]' }], 'PDF TEST', "PDF TEST BODY", { 'base64Content': data.toString('base64'), 'fileName': 'test', 'fileType': 'pdf' });
});
In der Funktion "Mail senden" wird der Anhang wie folgt generiert.
function sendMail(toList, subject, message, attachmentObj) {
if (attachmentObj) {
var attachment = new helper.Attachment()
attachment.setContent(attachmentObj.base64Content)
attachment.setType("application/" + attachmentObj.fileType)
attachment.setFilename(attachmentObj.fileName + "." + attachmentObj.fileType)
attachment.setDisposition("attachment")
mail.addAttachment(attachment)
}
}
Dank viel Surjeet. Es funktioniert jetzt gut. – user3483782
Vergnügen, also was war das Problem. ist es der Pfad oder Anhang Parameter. –
Ich habe es mit dem absoluten Pfad versucht. Nur wenn es funktioniert hat. Ich weiß nicht, was der Grund ist. – user3483782