2016-07-12 10 views
0

nodemailer 모듈을 사용하여 node.js에 이메일을 보내고 있습니다. CSV 파일로 변환하여 이메일에 첨부하려고하는 객체 배열이 있습니다. 전자 메일을 성공적으로 보낼 수는 있지만 CSV 첨부 파일이 올바르게 채워지지 않습니다 (공백으로 표시됨). 내 코드는 내가 객체의 배열을 읽을 수 없습니다입니다 만 쉼표로 구분 된 문자열을 작동 같은데요 다음node.js Nodemailer 이메일의 첨부 파일로 CSV 파일에 객체의 배열

var nodemailer = require('nodemailer'); 

// create reusable transporter object using SMTP transport 
    var transporter = nodemailer.createTransport({ 
    service: 'Gmail', 
    auth: { 
     user: '[email protected]', 
     pass: 'userpass' 
    } 
}); 

var data = [{age:24,name:"bob"},{age:35,name:"andy"},...]; 

var mailOptions = { 
    from: '[email protected]', // sender address 
    to: '[email protected]', //receiver 
    subject: 'Hello', // Subject line 
    text: 'Hello world', // plaintext body 
    html: '<b>Hello world</b>', // html body 
    attachments: [{ 
     filename: 'test.csv', 
     content: data 
    }], 
}; 

// send mail with defined transport object 
transporter.sendMail(mailOptions, function(error, info){ 
    if(error){ 
     return console.log(error); 
    } 
    console.log('Message sent: ' + info.response); 
}); 

과 유사?

답변

1

content 속성을 문자열로 지정해야합니다.

NodeMailer는 형식 자체를 변환 할 수 없습니다. 따라서 데이터를 보내기 전에 데이터를 CSV로 변환해야합니다. to-csv과 같은 모듈을 사용하십시오.