Допустим, ваш PDF находится в S3.
Получите ваш файл из S3
const pdfFile = await s3
.getObject({
Bucket: PDF_BUCKET_NAME,
Key: `flight-${fileName}.pdf`,
})
.promise();
Как только у вас есть файл
const base64data = pdfFile.Body.toString('base64');
const data = {
from: 'text@example.in',
to: user.emailId,
subject: 'Your ticket for flight PNR XYSSA1 from DEL-BLR',
html: `Please find attached your ticket
<br><br>Regards<br>
Team Example`,
attachments: [
{ content: base64data, filename: 'flight-ticket', type: 'application/pdf', disposition: 'attachment' },
],
};
await sgMail.send(data);
Если у вас есть файл в файловой системе, просто возьмите буфер из fs.readFile, преобразуйте его в base64, как показано выше, и повторите шаги, и все будет хорошо.