New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mailparser

Package Overview
Dependencies
Maintainers
1
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mailparser - npm Package Compare versions

Comparing version 0.3.2 to 0.3.3

20

lib/mailparser.js

@@ -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, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"),
cid, newHTML;
newHTML;
cid = attachment.cid || (attachment.cid = attachment.generatedFileName+"@node");
newHTML = "\n<div class=\"mailparser-attachment\"><a href=\"cid:"+cid+"\">&lt;" + fname + "&gt;</a></div>";
newHTML = "\n<div class=\"mailparser-attachment\"><a href=\"cid:" + attachment.contentId + "\">&lt;" + fname + "&gt;</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">&lt;test.pdf&gt;</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">&lt;test.pdf&gt;</a></div><br/>\n<p>test 2</p>');
test.done();

@@ -1165,0 +1200,0 @@ });

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc