发送文件 nodemailer 和 chatbot
send documents nodemailer and chatbot
我想发送通过聊天机器人收到的文档,但是发送时文档已损坏,无法打开
client.on('message', async message => {
if(message.hasMedia) {
let attachmentData = await message.downloadMedia();
var extension = "";
if (attachmentData.mimetype == "image/jpeg")
extension = "jpg";
else if (attachmentData.mimetype == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
extension = "xlsx";
if (extension == "")
return;
var base64Data = attachmentData.data.replace(/^data:image\/png;base64,/, "");
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '<>',
pass: '<>'
}
});
var mailOptions = {
from: '<>',
to: '<>',
subject: 'Chatbot',
text: 'Documento enviado:',
attachments: [
{
filename: 'document'+'.'+extension,
contentType: base64Data
}
]
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email enviado: ' + info.response);
}
});
}
})
我使用了聊天机器人在检测到文件时生成的错误值
这就是解决方案
var mailOptions = {
from: '<>',
to: '<>',
subject: '<>',
text: 'Documento enviado',
attachments: [
{
filename: 'Documento'+'.'+extension,
contentType: attachmentData.mimetype,
encoding: 'base64',
content: base64Data
}
]
};
我想发送通过聊天机器人收到的文档,但是发送时文档已损坏,无法打开
client.on('message', async message => {
if(message.hasMedia) {
let attachmentData = await message.downloadMedia();
var extension = "";
if (attachmentData.mimetype == "image/jpeg")
extension = "jpg";
else if (attachmentData.mimetype == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
extension = "xlsx";
if (extension == "")
return;
var base64Data = attachmentData.data.replace(/^data:image\/png;base64,/, "");
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '<>',
pass: '<>'
}
});
var mailOptions = {
from: '<>',
to: '<>',
subject: 'Chatbot',
text: 'Documento enviado:',
attachments: [
{
filename: 'document'+'.'+extension,
contentType: base64Data
}
]
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email enviado: ' + info.response);
}
});
}
})
我使用了聊天机器人在检测到文件时生成的错误值
这就是解决方案
var mailOptions = {
from: '<>',
to: '<>',
subject: '<>',
text: 'Documento enviado',
attachments: [
{
filename: 'Documento'+'.'+extension,
contentType: attachmentData.mimetype,
encoding: 'base64',
content: base64Data
}
]
};