Haraka Plugin Mongodb Versions Save

Plugin for the Haraka SMTP server to store incoming and outgoing emails to MongoDB

v1.8.5

1 year ago
  • New & Breaking change: Check for too many emails has been changed to containing the exclude and/or include value. Read the README.
  • New: Define attachment names (entire name or part of the name) and it will be blocked. Check the mongodb.ini or README.
  • Checking the limit of the message is done now only for incoming messages.
  • Attachments file names that start with a "." (dot) are now saved with the checksum and extension as file name.
  • Fix: Check for too many emails within a specific time did not work with include.

v1.8.1

3 years ago

Changed the body utility to convert buffer to string (seems to fix an issue some users reported)

v1.8.0

3 years ago
  • You now have the option to use Redis for the limit check! See the README for configuration.
  • Fixed an issue with the "include" limit param if used as an empty array.
  • Updated libraries.

v1.7.0

3 years ago

1.7.0 - 2021-01-08

  • Added "include" in the limit check to be able to only apply the limit check for certain domains
  • Re-factored the limits code as we have seen that you would get a timeout from time to time with the previous code
  • Disabled sending a delivery error message for DENYSOFT (this greatly cuts down on confusion and messages)
  • Do not send back error messages to certain keywords
  • Changed option to store the raw email and haraka body from true to false and made it an option
  • Fixed some callback
  • Update all libraries

1.6.8 & 1.6.9 - 2020-10-20

  • Returning a DENYDISCONNECT when the email size is too big to store
  • Another bug fix for limits
  • Reverted back to detect-character-encoding as 0.01% of emails could not be parsed otherwise

1.6.7 - 2020-10-18

  • Bug fix for parsing when value is undefined

1.6.6 - 2020-10-18

  • Reference bug fix

v1.6.5

3 years ago

1.6.5 - 2020-10-18

  • NEW: We've added an option to limit incoming emails. Please see README
  • We are now creating indexes for our collections
  • Returning a "DENY" if the message is larger than 16MB
  • Returning a "DENY" if the message cannot be parsed
  • Updated libraries

1.6.4 - 2020-09-22

  • If there is an error upon saving the email to MongoDB, we now try to save again, but without the "raw" and "haraka_body" values (they are redundant anyway). This prevents some errors we have seen with "offset out of range".
  • You can now store a comma separated email list for CC and BB in the new error sending code which was introduced in 1.6.2
  • The size limit code was further enhanced as it now removes the "raw" and "haraka_body" values first (they are redundant anyway) and the calculates the size again. If the 16MB limit is hit, it will send out an error email
  • Added the entire header object to the error email body
  • Fixed an issue with the error email not being sent
  • Fixed an issue which prevented sending the error email
  • Fixed an issue with the error email not showing the message-id properly
  • Fixed an issue with returning the proper error code when there is an error with the size

1.6.3 - 2020-09-21

  • Enhanced attachment parsing for checking the proper extension
  • EML messages with different content type are getting the extension EML properly
  • Delivery reports are automatically being renamed so they show up properly

1.6.2 - 2020-09-14

  • You can now use a mongodb:// connection string with the new string value
  • There is now a new "limit" option as you cannot insert more that 16 MB documents into MongoDB
  • You can now send back emails to the sender on limits, parsing, and insert errors
  • Improved performance for parsing inline images
  • Added custom content type to extend what attachments Haraka should accept as valid files. Otherwise the attachment is renamed to (filename).txt
  • Removed some content types from the default reject string
  • The log shows you now the connection to the MongoDB instance and depending on what you use a different wording for the connection
  • Emails with headers that contain "." are now inserted (previously those emails failed)
  • Updated libraries

1.6.1 - 2020-08-27

  • We now block harmful attachments by default (you can adjust which files should be rejected in the config)
  • We now check the content Type of the file and change the extension if it differs
  • Updated libraries

1.5.8 && 1.5.9 && 1.6.0 - 2020-06-26

  • Fixed an issue with inline images which were not parsed properly anymore as of 1.5.7
  • Enhanced performance for inline images
  • Made some other improvements to the attachment parsing

v1.5.7

3 years ago

Performance improvements

  • Added check that we have a proper path for path_check
  • Fixed an issue with leftover code that potentially could spike the CPU to 100%
  • All dates are now properly recorded
  • Some errors were not being printed in the log

v1.5.3

4 years ago

1.5.3 - 2020-05-31

1.5.2 - 2020-05-28

  • Upon a storage error we return now a DENYSOFT (previously it was a DENY)
  • Library updates

v1.5.1

4 years ago

Sorry, we forgot to make releases here. Hence this is a combined release since 1.4.8:

v1.5.1

  • Node 12 compatibility
  • Library updates

v1.5.0

  • Further enhancements for emails with different charset
  • New and updated libraries

v1.4.9

  • Fix for emails with different charset
  • Updated libraries

v1.4.8

4 years ago

The filename of files within a winmail.dat are now cleaned up as well (surprisingly a lot of people are still sending those)

v1.4.7

4 years ago
  • Limiting parsing and converting from text to html to 4MB (we saw larger emails to hold up processing significantly)
  • Returning on error for some functions
  • Fixed some issues with returning from errors
  • Updated libraries

Sorry about not tagging the recent releases. Most people grab the release from npm direcly