Могу ли я прикрепить объект к электронному письму с помощью nodemailer?

#node.js #jspdf #nodemailer

#node.js #jspdf #nodemailer

Вопрос:

Мне нужно отправить электронное письмо с помощью nodemailer, но в электронном письме мне нужно прикрепить PDF-файл, который я создаю с помощью jspdf, дело в том, что я не могу прикрепить объект к электронному письму, я могу прикрепить файл, указав его путь, строку и многое другое, нообъект, который я не могу.

Я пытался сохранить PDF-файл и использовать его путь, но все это работает на виртуальной машине, поэтому я не хочу использовать слишком много мощности процессора или места в оперативной памяти.

Я также пытался использовать JSON.stringify() в pdf, но это не сработало, и файл, прикрепленный к электронному письму, был пуст.

Комментарии:

1. Да, вы можете. Проверьте эту ссылку nodemailer.com/message/attachments .

Ответ №1:

Вы можете прикрепить свой PDF-файл, используя content свойство attachments object . Он поддерживает множество форматов — строка, путь к файлу, буфер, поток чтения fs и т. Д. Смотрите Этот документ.

В случае с jspdf вы можете использовать метод output()

 const message = {
    // ...
    attachments: [
       {
           filename: "mypdf.pdf",
           content: pdfObject.output('arraybuffer')
       }
    ]
};