- Вы хотите отправить электронное письмо с файлом вложения.
- У вас есть данные base64, и вы хотите отправить их в виде файла вложения.
- Вы хотите достичьэто с помощью nodemailer.
- Вы уже смогли получать и отправлять электронные письма, используя nodemailer с Gmail API.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких ответов.
Шаблон 1:
В этом шаблоне данные base64 напрямую отправляются с помощью нодмаилера.
Модифицированный скрипт:
Когда ваш скрипт изменяется, пожалуйста, измените его следующим образом.
attachments: [
{
filename: mailData.file.filename,
content: content: /data:.*;base64,/.test(mailData.file.container) ? mailData.file.container.split(",")[1] : mailData.file.container,
contentType: mailData.file.mimetype,
encoding: 'base64'
}
]
- Если заголовок данных base64 (например,
data:application/pdf;base64,
) всегда включен, вы также можете изменить наcontent: mailData.file.container.split(",")[1]
.
Шаблон 2:
В этом шаблоне данные base64 преобразуются в буфер и отправляются с использованием nodemailer.
Измененоscript:
Когда ваш скрипт изменяется, пожалуйста, измените его следующим образом.
attachments: [
{
filename: mailData.file.filename,
content: Buffer.from((/data:.*;base64,/.test(mailData.file.container) ? mailData.file.container.split(",")[1] : mailData.file.container), 'base64'),
contentType: mailData.file.mimetype,
}
]
- Если заголовок данных base64 (например,
data:application/pdf;base64,
) всегда включен, вы можететакже измените на content: Buffer.from(mailData.file.container.split(",")[1], 'base64'),
.
Ссылка:
Если я неправильно понял ваш вопроси это было не то направление, которое вы хотите, я прошу прощения.