mailpit

An email and SMTP testing tool with API for developers

MIT License

Stars
4.5K
Committers
21

Bot releases are visible (Hide)

mailpit -

Published by axllent 7 months ago

Fix

  • Prevent runtime error when calculating total messages size of empty table (#263)

Chore

  • Allow setting of multiple message tags via plus addresses (#253)
mailpit -

Published by axllent 8 months ago

Feature

  • Set message tags using subaddressing, aka: plus addressing (#253)
  • Option to enforce TitleCasing for all newly created tags

Chore

  • Tag names now allow . and must be a minimum of 1 character
  • Update node dependencies
  • Update Go dependencies

Fix

  • Handle null values in Mailpit settings, set DeletedSize=0 if null
mailpit -

Published by axllent 8 months ago

Feature

Chore

  • Switch to short uuid format for database IDs
  • Better handling of automatic database compression (vacuuming) after deleting messages
  • Update node dependencies
  • Update Go dependencies
  • Refactor storage library
  • Security improvements (gosec)

Docker

  • Add edge Docker images for latest unreleased features
mailpit -

Published by axllent 8 months ago

Note: This release adds ReplyTo information in the messages summary & API, however any existing messages in your database will not return this as they need to be reindexed first. If you have existing messages and require this information (eg: API integration and/or want to search specifically for this), then please see mailpit reindex -h.

API

  • Include Reply-To information in message summaries for message list & websocket events

Feature

  • Add reply-to: search filter (#247)

Chore

  • Update node dependencies
  • Update Go dependencies
  • Compress database only when >= 1% of total message size has been deleted
  • Update "About" modal layout when new version is available
mailpit -

Published by axllent 9 months ago

Feature

  • Add option to log output to file (#246)

Chore

  • Update caniemail data
  • Update node modules
  • Update Go modules
  • Bump actions build requirement versions
  • Update esbuild
mailpit -

Published by axllent 9 months ago

Feature

  • Add TLSRequired option for smtpd (#241)

Fix

  • Workaround for specific field searches containing unicode characters (#239)

Chore

  • Only show number of messages ignored statistics if --ignore-duplicate-ids is set
  • Update node dependencies
  • Update Go dependencies
mailpit -

Published by axllent 9 months ago

Feature

  • Add optional SpamAssassin integration to display "spamminess" scores (#233)
  • Add option to disable SMTP reverse DNS (rDNS) lookup (#230)
  • Display List-Unsubscribe & List-Unsubscribe-Post header info with syntax validation (#236)

Fix

  • Display multiple whitespace characters in message subject & recipient names (#238)
  • Sendmail support for -f 'Name <email[@example](https://github.com/example).com>' format

Chore

  • Compress compiled assets with npm run build
  • Update Go modules
  • Update node modules
mailpit -

Published by axllent 10 months ago

This release brings significant database performance improvements by using SQLite's WAL (Write-Ahead-Log) feature, resulting in far less disk I/O while writing to & deleting from the database. Previously, any changes made to the database were immediately written back to the database file (eg: mailpit.db), however now an temporary mailpit.db-wal & mailpit.db-shm file will exist alongside while Mailpit is running, which are then merged into the original mailpit.db when the program exists or during automatic pruning.

There is also a new feature (--smtp-allowed-recipients) which allows you to define (using regex) allowed recipients. All other SMTP connections will receive a 550 5.1.0 Requested action not taken: mailbox unavailable error response. This means you can run Mailpit as an open SMTP server allowing only recipients you have defined (ie: like a regular mail server). Please refer to #219 for more information.

Lastly there are a few minor big fixes to the runtime statistics visible when clicking on the "About" in the web UI.

Chore

  • Significantly increase database performance using WAL (Write-Ahead-Log)
  • Standardize error logging & formatting

Feature

  • Add option to only allow SMTP recipients matching a regular expression (disable open-relay behaviour #219)

UI

  • Automatically refresh connected browsers if Mailpit is upgraded (version change)

Fix

  • Log total deleted messages when auto-pruning messages (--max)
  • Prevent rare error from websocket connection (unexpected non-whitespace character)
  • Log total deleted messages when deleting all messages from search

Libs

  • Update node modules

Tests

  • Run tests on Linux, Windows & Mac
mailpit -

Published by axllent 10 months ago

This release includes a notable change to the underlying message tagging database structure which should both drastically increase performance and reduce memory usage with large mailboxes. After upgrading, your existing message tags will be automatically migrated to the new structure.

Chore

  • Include runtime statistics in API (info) & UI (About)
  • Use memory pointer for internal message parsing & storage
  • Update caniemail test data
  • Convert to many-to-many message tag relationships
  • Standardize error logging & formatting

Libs

  • Update node modules
  • Update Go modules

UI

  • Refresh search results when search resubmitted or active tag filter clicked
mailpit -

Published by axllent 10 months ago

Fix

  • Fix regression to support search query parameters to all /latest endpoints (#206)

UI

  • Allow multiple tags to be searched using Ctrl-click (#216)

Testing

  • Add new ingest subcommand to import an email file or maildir folder over SMTP

Libs

  • Update node modules
  • Update Go modules
mailpit -

Published by axllent 10 months ago

In order to allow easier testing in some environments, this release adds the option of requesting the latest message from some API calls (eg: /api/v1/message/latest) to return the latest message summary without knowing the database ID first. This "latest" is also available for headers, raw message and HTML & link check API calls. More information can be found in the API documentation.

It also adds an option to change/set the default 100-recipient limit for incoming messages.

API

  • Allow ID "latest" for message summary, headers, raw version & HTML/link checks

Feature

  • Add configuration option to set maximum SMTP recipients (#205)

Libs

  • Update node modules
  • Update Go modules
mailpit -

Published by axllent 11 months ago

This is a very minor update to remove some JavaScript debug information for the favicon functionality, and replaces v1.10.3. The original changelog is as follows:

[v1.10.3]

Chore

  • Update caniemail library & add hr element test

Feature

  • Add @ as valid character for webroot (#215)

Fix

  • New favicon notification badge to fix rendering issues (#210)

Libs

  • Update node modules
  • Update Go modules
mailpit -

Published by axllent 11 months ago

Chore

  • Update caniemail library & add hr element test

Feature

  • Add @ as valid character for webroot (#215)

Fix

  • New favicon notification badge to fix rendering issues (#210)

Libs

  • Update node modules
  • Update Go modules
mailpit -

Published by axllent 11 months ago

Chore

  • Add favicon fallback font (sans-serif) for unread count (#210)
  • Clearer log messages for bound SMTP & HTTP addresses (#211)

Feature

  • Allow port binding using hostname (#213)

UI

  • Enable tag colors by default

Libs

  • Update node modules
  • Update Go modules
mailpit -

Published by axllent 11 months ago

Chore

  • Use NextReader() instead of ReadMessage() for websocket reading (#207)

Fix

  • Prevent JavaScript error if message is missing From header (#209)

Libs

  • Update node modules
  • Update Go modules

Swagger

  • Revert BinaryResponse type to string
mailpit -

Published by axllent 11 months ago

Feature

  • Support search query params to /view/latest endpoints (#206)
  • Option to allow untrusted HTTPS certificates for screenshots & link checking (#204)
  • Add URL redirect (/view/latest) to view latest message in web UI (#166)

Fix

  • Correctly close websockets on client disconnect (#207)

Libs

  • Update node modules
  • Update Go modules
mailpit -

Published by axllent 12 months ago

Fix

  • Correctly display "About" modal when update check fails (resolves #199)
  • Fix UI column width in search view

Docs

  • Update documentation links

Libs

  • Update node modules
  • Update Go modules
  • Update caniemail test data
mailpit -

Published by axllent almost 1 year ago

Feature

  • Call optional webhook for received messages (#195)
  • Reset message date on release (#194)

Chore

  • Move html2text module to internal/html2text

Libs

  • update node modules
  • Update Go modules
mailpit -

Published by axllent about 1 year ago

Chore

  • Replace satori/go.uuid with github.com/google/uuid (#190)
  • Replace html2text modules with simplified internal function

Libs

  • Update node modules
  • Update Go modules

Swagger

  • Update swagger documentation

Tests

  • Add test to validate swagger.json
  • Add html2text tests
mailpit -

Published by axllent about 1 year ago

Fix

  • Enable delete button when new messages arrive

Libs

  • Update node modules
  • Update Go modules