leftovers are only for external attachments

This commit is contained in:
eleith 2011-11-24 16:20:37 -08:00
parent 112f132d35
commit 68fa1b9ade
3 changed files with 6 additions and 7 deletions

View File

@ -1,4 +1,4 @@
#v0.1.18
#v0.1.19
### emailjs

View File

@ -1,7 +1,7 @@
{
"name": "emailjs",
"description": "send text/html emails and attachments from node.js to any smtp server",
"version": "0.1.18",
"version": "0.1.19",
"author": "eleith",
"contributors":["izuzak", "Hiverness"],
"repository":

View File

@ -239,7 +239,9 @@ var MessageStream = function(message)
}
else if(!err)
{
output_chunk(buffer.toString("base64", 0, bytes));
var data = buffer.toString("base64", 0, bytes);
var leftover= data.length % MIMECHUNK;
output_chunk(data);
if(bytes == chunk) // gauranteed no leftovers
{
@ -247,6 +249,7 @@ var MessageStream = function(message)
}
else
{
self.emit('data', leftover ? data.substr(-leftover) + CRLF + CRLF : CRLF); // important!
fs.close(fd, next);
}
}
@ -268,16 +271,12 @@ var MessageStream = function(message)
var output_chunk = function(data)
{
var leftover= data.length % MIMECHUNK;
var loops = Math.round(data.length / MIMECHUNK);
for(var step = 0; step < loops; step++)
{
self.emit('data', data.substring(step*MIMECHUNK, MIMECHUNK*(step + 1)) + CRLF);
}
if(leftover)
self.emit('data', leftover ? data.substr(-leftover) + CRLF + CRLF : CRLF); // important!
};
var output_text = function(next)