Я пытаюсь отправить данные своего потока по электронной почте с помощью Nodemailer, но по какой-то причине приходит вложение вверх как 0 kb
, когда я его загружаю и просматриваю информацию. Как правильно отправить поток и его данные в виде вложения? Поток должен содержать PKPass
. Это лучший вариант - отправить ответ в виде вложения? Я использую passkit-generator для создания PKPass
const stream = examplePass.generate();
res.set({
'Content-Type': 'application/vnd.apple.pkpass',
'Content-disposition': `attachment; filename=${passName}.pkpass`,
});
stream.pipe(res);
//Send the receipt email
stream.on('finish', (attach) => {
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
secure: false,
requireTLS: true,
auth: {
user: '[email protected]',
pass: 'password',
},
});
let mailOptions = {
from: '[email protected]',
to: '[email protected]',
subject: 'You\'re on your way to ',
html: '<h1>Reciept email</h1>',
attachments: [
{
filename: 'Event.pkpass',
contentType: 'application/vnd.apple.pkpass',
content: stream,
},
],
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error.message);
}
console.log('success ' + info);
});
});
examplePass.generate()
возвращает читаемый поток. Я полагаю, вы могли бы просто установитьcontent: stream
. Я прочитал ваш вопрос перед редактированием, вы уже можете попробовать это, если это так, то это не решение. Вот справочник о том, как добавлять вложения с помощьюnodemailer
. - person Hangindev   schedule 15.06.2020content: stream
, но это все равно не сработало. Я прочиталnodemailer
документацию, но не могу заставить ее работать с вложением потока. - person user   schedule 15.06.2020[object Object]
, это читаемый поток? - person user   schedule 15.06.2020examplePass.generate()
? - person Hangindev   schedule 15.06.2020const stream = examplePass.generate();
в моем коде - это реализация. Верно? @Hangindev - person user   schedule 15.06.2020generate
. - person Hangindev   schedule 15.06.2020data
? Я спрашиваю, потому что с обычными потоками, созданными с использованиемfs.createReadStream
, ваш код работает нормально. - person Rustam D9RS   schedule 15.06.2020stream.pipe(res)
, ответ на стороне клиента имеет прикрепленныйPKPass
, как и ожидалось. Это то, что вы имеете в виду? - person user   schedule 15.06.2020