Commit Graph
193 Commits
Author SHA1 Message Date
Adam Cooke 0163ac3d10 feat: new configuration system (and schema) (#2819) 2024-02-26 12:41:57 +00:00
Adam Cooke 1c5ff5a9a6 feat: add option to delay starting processes until all migrations are run 2024-02-24 15:10:02 +00:00
Adam Cooke 38465de120 refactor: remove unnecessary modules 2024-02-23 22:51:37 +00:00
Adam Cooke b8ad732152 refactor: move tracking middleware 2024-02-23 22:51:37 +00:00
Adam Cooke 64b2704b02 refactor: move lib/postal/user_creator to app/util/user_creator 2024-02-23 22:51:37 +00:00
Adam Cooke e3bc9da253 refactor: move lib/postal/received_header to app/lib/received_header 2024-02-23 22:51:36 +00:00
Adam Cooke 5cc9eb3df7 refactor: move lib/postal/reply_separator to app/lib/reply_separator 2024-02-23 22:51:36 +00:00
Adam Cooke 321ab95936 refactor: move lib/postal/smtp_server to app/lib/smtp_server 2024-02-23 22:51:36 +00:00
Adam Cooke 73a55a5053 refactor: move senders in to app/senders/ 2024-02-23 22:51:36 +00:00
Adam Cooke 93fc120f44 refactor: move worker from lib/worker to app/lib/worker 2024-02-23 22:51:36 +00:00
Adam Cooke a44e1f9081 refactor: refactors message dequeueing (#2810) 2024-02-23 22:51:36 +00:00
Adam Cooke 870b26c2f2 refactor: move Postal::QueryString to app/util/query_string 2024-02-23 22:51:35 +00:00
Adam Cooke 05d2ec4d04 refactor: move Postal::BounceMessage to app/models/bounce_message 2024-02-23 22:51:35 +00:00
Adam Cooke 77faf886b3 refactor: move Postal::DKIMHeader to app/util/dkim_header 2024-02-23 22:51:35 +00:00
Adam Cooke ee86311525 test: move Postal::RpecHelpers to spec/helpers 2024-02-23 22:51:35 +00:00
Adam Cooke 1a4158699c refactor: refactor DNS resolution
This commit also adds some of tests for the Domain model. It was during the writing of these tests that the DNS resolution refactoring requirement became apparent.
2024-02-23 22:51:34 +00:00
Adam Cooke 3bbbc70bc1 test: move TestLogger to spec/helpers 2024-02-23 22:51:34 +00:00
Adam Cooke 27b7ced3bc chore: remove non-breaking spaces from comments 2024-02-23 22:51:34 +00:00
Adam Cooke b4016f6b49 test: add tests for message unqueueing
This adds a comprehensive set of tests for the message unqueueing service.

Additionally, it improves how message databases are used for testing environments.
2024-02-23 22:51:34 +00:00
Adam Cooke e0403ba641 refactor: refactor webhook deliveries 2024-02-23 22:51:33 +00:00
Adam Cooke dc8e895bfe feat: new background work process
This removes all previous dependencies on RabbitMQ and the need to run separate cron and requeueing processes.
2024-02-23 22:51:33 +00:00
Adam Cooke 044058d0f1 feat: more consistent logging 2024-02-23 22:51:32 +00:00
Adam Cooke 2834e2c379 fix: update raw headers after changing messages to during parsing
Previously, headers were not updated but the mail gem parsing may decide
to change the transfer encoding. If it does this, the body is updated to
the new format but the header is not, this results in a mismatch when the
message it sent onwards and the client being unable render the message.

The specific situation identified was changing an HTML-only e-mail from
quoted-printable to 7bit.

closes #2816
2024-02-23 22:16:36 +00:00
Adam Cooke 7c23994d24 fix: use correct method for disconnecting smtp connections 2024-02-13 15:57:59 +00:00
Adam Cooke 42ab5b3a6b fix: explicitly disable TLS & starttls for unknown SSL modes
closes #2564
2024-02-13 15:57:48 +00:00
Adam Cooke f9f7fb30fe fix: retry mysql connections on message DB pool 2024-02-13 15:56:40 +00:00
Adam Cooke b8cb563553 Merge pull request #2801 from postalserver/smtp-tests
Tests for the SMTP Server
2024-02-13 15:55:57 +00:00
Adam Cooke c3c304e98b refactor: remove reloading on the smtp server 2024-02-13 15:51:44 +00:00
Adam Cooke c83601af69 chore: silence message DB migrations during provisioning 2024-02-13 11:56:48 +00:00
Adam Cooke 6214892710 chore: annotate models 2024-02-13 11:46:35 +00:00
Adam Cooke dece1d487a test: add initial tests for Postal::SMTPServer::Client 2024-02-12 18:07:44 +00:00
Adam Cooke ec636661d5 style(rubocop): remaining offences 2024-02-12 09:55:20 +00:00
Adam Cooke c6326a6524 style(rubocop): Style/MultilineBlockChain 2024-02-12 09:55:19 +00:00
Adam Cooke 013b3ea931 style(rubocop): Style/PreferredHashMethods 2024-02-12 09:55:19 +00:00
Adam Cooke ffcb707247 style(rubocop): Style/MissingRespondToMissing 2024-02-12 09:55:19 +00:00
Adam Cooke 83ac764510 style(rubocop): Style/HashExcept 2024-02-12 09:55:19 +00:00
Adam Cooke c995027ff5 style(rubocop): Style/HashEachMethods 2024-02-12 09:55:19 +00:00
Adam Cooke ec7dcf4f9a style(rubocop): Lint/UnderscorePrefixedVariableName 2024-02-12 09:55:19 +00:00
Adam Cooke a1dc0f77ac style(rubocop): Lint/DuplicateBranch 2024-02-12 09:55:18 +00:00
Adam Cooke 0e0aca06c9 style(rubocop): Layout/* 2024-02-12 09:55:18 +00:00
Adam Cooke 9ce28a427f style(rubocop): Style/SelectByRegexp 2024-02-12 09:55:18 +00:00
Adam Cooke 157d11457c style(rubocop): Style/GlobalVars 2024-02-12 09:55:18 +00:00
Adam Cooke 4674e63b5f style(rubocop): Lint/MissingSuper 2024-02-12 09:55:15 +00:00
Adam Cooke 75be690748 style(rubocop): Style/GlobalStdStream 2024-02-12 09:40:35 +00:00
Adam Cooke 9563f30c96 style(rubocop): Naming/MemoizedInstanceVariableName 2024-02-12 09:40:34 +00:00
Adam Cooke 00a02f2655 style(rubocop): Style/SafeNavigation 2024-02-12 09:40:34 +00:00
Adam Cooke 04a34831c7 style(rubocop): Style/For 2024-02-12 09:40:34 +00:00
Adam Cooke 6a58ecf605 style(rubocop): Style/IdenticalConditionalBranches 2024-02-12 09:40:31 +00:00
Adam Cooke 6ad56ee9c9 style(rubocop): Lint/IneffectiveAccessModifier 2024-02-10 23:03:28 +00:00
Adam Cooke c558f1c69c style(rubocop): Style/NumericPredicate 2024-02-10 22:59:30 +00:00