feat (core): add queue persistence, retention policies, and SMTP AUTH#20
Merged
Its-donkey merged 1 commit intomainfrom Jan 4, 2026
Merged
feat (core): add queue persistence, retention policies, and SMTP AUTH#20Its-donkey merged 1 commit intomainfrom
Its-donkey merged 1 commit intomainfrom
Conversation
Queue Persistence (Issue #9): - Persist delivery queue state to disk (queue.json) so pending deliveries survive restarts - Restore queue on startup with FilePath-based payload rehydration - Add tests for persistence and missing file handling Spool Retention (Issue #8): - Add configurable retention via SMTP_RETENTION_DAYS (default 7) - Automatic hourly cleanup of expired date directories - Add GetSpoolStats() and ListMessages() for inspection - Background cleanup goroutine with proper shutdown SMTP AUTH (Issue #7): - Implement AUTH PLAIN and LOGIN mechanisms - Configure via SMTP_AUTH_USERS (user:pass,user2:pass2 format) - Only advertise AUTH over TLS unless SMTP_AUTH_INSECURE=true - Authenticated users bypass domain restrictions - Constant-time password comparison Documentation updates for all new environment variables.
|
The account who enabled Codex for this repo no longer has access to Codex. Please contact the admins of this repo to enable Codex again. |
This was referenced Jan 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Type: feature
Section: core
Summary
SMTP_RETENTION_DAYSwith automatic cleanup of old messagesSMTP_AUTH_USERSconfigurationChanges
Queue Persistence
queue/persist.go: SaveQueue/LoadQueue functionsqueue.jsonin spool directory.emlfiles on startupSpool Retention
storage/retention.go: cleanup, stats, and listing functionsSMTP_RETENTION_DAYSenv var (default 7)SMTP AUTH
internal/auth/package with PLAIN/LOGIN supportSMTP_AUTH_USERS: comma-separated user:password pairsSMTP_AUTH_INSECURE: allow AUTH without TLS (default false)Test plan