mailparser
Advanced tools
Comparing version 0.3.2 to 0.3.3
@@ -241,4 +241,3 @@ | ||
MailParser.prototype._processStateHeader = function(line){ | ||
var boundary, i, len, attachment, | ||
lastPos = this._currentNode.headers.length - 1, | ||
var attachment, lastPos = this._currentNode.headers.length - 1, | ||
textContent = false, extension; | ||
@@ -285,2 +284,5 @@ | ||
this._currentNode.meta.contentId = this._currentNode.meta.contentId || | ||
crypto.createHash("md5").update(this._currentNode.meta.generatedFileName).digest("hex") + "@mailparser"; | ||
extension = this._currentNode.meta.generatedFileName.split(".").pop().toLowerCase(); | ||
@@ -677,4 +679,3 @@ | ||
MailParser.prototype._parseContentDisposition = function(value){ | ||
var returnValue = {}, | ||
fileName; | ||
var fileName; | ||
@@ -880,4 +881,3 @@ value = this._parseHeaderLineWithParams(value); | ||
MailParser.prototype._processMimeTree = function(){ | ||
var level = 0, htmlLevel, textLevel, | ||
returnValue = {}, i, len; | ||
var returnValue = {}, i, len; | ||
@@ -1069,6 +1069,5 @@ this.mailData = {html:[], text:[], attachments:[]}; | ||
fname = attachment.generatedFileName.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """), | ||
cid, newHTML; | ||
newHTML; | ||
cid = attachment.cid || (attachment.cid = attachment.generatedFileName+"@node"); | ||
newHTML = "\n<div class=\"mailparser-attachment\"><a href=\"cid:"+cid+"\"><" + fname + "></a></div>"; | ||
newHTML = "\n<div class=\"mailparser-attachment\"><a href=\"cid:" + attachment.contentId + "\"><" + fname + "></a></div>"; | ||
@@ -1095,4 +1094,3 @@ htmlNode.content = (htmlNode.content || "").toString("utf-8").trim(); | ||
MailParser.prototype._concatHTML = function(firstNode, secondNode){ | ||
var inserted = false, | ||
headerNode = "", | ||
var headerNode = "", | ||
htmlHeader = ""; | ||
@@ -1099,0 +1097,0 @@ |
{ | ||
"name": "mailparser", | ||
"description": "Asynchronous and non-blocking parser for mime encoded e-mail messages", | ||
"version": "0.3.2", | ||
"version": "0.3.3", | ||
"author" : "Andris Reinman", | ||
@@ -6,0 +6,0 @@ "maintainers":[ |
@@ -419,2 +419,37 @@ var MailParser = require("../lib/mailparser").MailParser, | ||
exports["Attachment Content-Id"] = { | ||
"Default": function(test){ | ||
var encodedText = "Content-Type: application/octet-stream\r\n"+ | ||
"Content-Transfer-Encoding: QUOTED-PRINTABLE\r\n"+ | ||
"Content-Disposition: attachment; filename=\"=?UTF-8?Q?=C3=95=C3=84=C3=96=C3=9C?=\"\r\n"+ | ||
"\r\n"+ | ||
"=00=01=02=03=FD=FE=FF", | ||
mail = new Buffer(encodedText, "utf-8"); | ||
var mailparser = new MailParser(); | ||
mailparser.end(mail); | ||
mailparser.on("end", function(mail){ | ||
test.equal(mail.attachments && mail.attachments[0] && mail.attachments[0].contentId, "ef694232fea1c01c16fb8a03a0ca710c@mailparser"); | ||
test.done(); | ||
}); | ||
}, | ||
"Defined": function(test){ | ||
var encodedText = "Content-Type: application/octet-stream\r\n"+ | ||
"Content-Transfer-Encoding: QUOTED-PRINTABLE\r\n"+ | ||
"Content-Disposition: attachment; filename=\"=?UTF-8?Q?=C3=95=C3=84=C3=96=C3=9C?=\"\r\n"+ | ||
"Content-Id: test@localhost\r\n"+ | ||
"\r\n"+ | ||
"=00=01=02=03=FD=FE=FF", | ||
mail = new Buffer(encodedText, "utf-8"); | ||
var mailparser = new MailParser(); | ||
mailparser.end(mail); | ||
mailparser.on("end", function(mail){ | ||
test.equal(mail.attachments && mail.attachments[0] && mail.attachments[0].contentId, "test@localhost"); | ||
test.done(); | ||
}); | ||
} | ||
} | ||
exports["Attachment filename"] = { | ||
@@ -1162,3 +1197,3 @@ | ||
mailparser.on("end", function(mail){ | ||
test.equal(mail.html, '<p>test 1</p><br/>\n\n<div class="mailparser-attachment"><a href="cid:test.pdf@node"><test.pdf></a></div><br/>\n<p>test 2</p>'); | ||
test.equal(mail.html, '<p>test 1</p><br/>\n\n<div class="mailparser-attachment"><a href="cid:754dc77d28e62763c4916970d595a10f@mailparser"><test.pdf></a></div><br/>\n<p>test 2</p>'); | ||
test.done(); | ||
@@ -1165,0 +1200,0 @@ }); |
122052
2628