121 Commits

Author SHA1 Message Date
Neil Alexander
727c60d038 Add special use mailbox signals for LIST 2026-07-24 17:22:29 +01:00
Neil Alexander
1523504ab0 Preserve date supplied in IMAP APPENDs 2026-07-24 17:20:39 +01:00
Neil Alexander
1a69e17b8a Optimised bulk flag updates and metadata operations 2026-07-24 17:05:03 +01:00
Neil Alexander
167925708c Fix lint errors 2026-07-24 16:48:29 +01:00
Neil Alexander
9870f55b50 INBOX can be case-insensitive
Isn't IMAP fun?
2026-07-24 16:46:58 +01:00
Neil Alexander
5f1ac332eb Fix a bug in sequence and UID range handling 2026-07-24 16:45:09 +01:00
Neil Alexander
d68ac78e9a Implement cross-connection notifies hopefully 2026-07-24 16:43:09 +01:00
Neil Alexander
7637188935 Fix bugs in IMAP IDLE 2026-07-24 16:37:17 +01:00
Neil Alexander
7b76def2c9 Fully implement UID per mailbox 2026-07-24 16:35:09 +01:00
Neil Alexander
fc67d66385 Fix prepared statements running under wrong SQLite transaction 2026-07-24 15:17:58 +01:00
Neil Alexander
cac32fbee6 Fix SASL login maybe? 2026-07-24 15:17:58 +01:00
Neil Alexander
d774f06896 Create queued mail atomically 2026-07-24 15:17:58 +01:00
Neil Alexander
ea4a8a4c8c Deliver self-addressed mail locally 2026-07-24 15:17:57 +01:00
Neil Alexander
63fd19bd32 Reject IMAP append into outbox 2026-07-24 15:17:57 +01:00
Neil Alexander
b60af00f35 Wait for SMTP data acceptance 2026-07-24 15:17:57 +01:00
Neil Alexander
1378abd41c Handle message flag operations safely 2026-07-24 15:17:57 +01:00
Neil Alexander
ce91ed90aa Preserve messages when copying mail 2026-07-24 15:17:57 +01:00
Neil Alexander
7fc034ee32 Clean stale queue entries precisely 2026-07-24 15:17:57 +01:00
Neil Alexander
f6399bf183 Cancel delivery when moving from outbox 2026-07-24 15:17:56 +01:00
Neil Alexander
857782b7b5 Make sent delivery finalization atomic 2026-07-24 15:17:56 +01:00
Neil Alexander
452c11cbd8 Mail list improvements and fixes 2026-07-24 15:17:53 +01:00
Neil Alexander
1a7abff93a Update to Yggdrasil 0.5.14 2026-06-19 22:24:07 +01:00
Neil Alexander
aa1c8c72fc Update to Yggdrasil 0.5.13 2026-02-24 23:31:54 +00:00
Tristan B. Velloza Kildaire
8bf3ba5f47 Onboarding, Sent box and Outbox (#45)
* main

- Set

* Working

* Welcome

- Added welcome message generation

* Smtpsender

- On successful SMTP send create the "Sent" box and then
try move from "Outbox" to "Sent"

* Sent box

- Create the mailbox in `main.go` and not every time we try move from `Outbox` to `Sent`

* Use logegr

* USer

- Added logger pointer (and made use of it)
- Disallow renaming or deletion of 'Sent'

* When creating a new user set it up with logger

* Encoded message

* Added tests

* Send a welcome mail on startup (soon to mke it only happen once)

* try set flags

* Onboarding flag set

* Sender
- Removed testing code

* Welcome

- Moved welcomer code

* Cleaned up

* Added more

* renamed package

* Removed comment

* welcome

- FIxed variable names

* welcome

- Removed semi-colons
- Fixed imports

* welcome

- Ran `gofmt`

* welcome test

- Fixed up

* h

* main

- Ran `gofmt`

* Main

- Fxied

* Welcome

- Foxed name

* Added `.gitignore`

* Mailbox

- Disabled print logging

* Fixed

* fixedg

* fixe and use `%v`
2025-12-20 14:30:37 +00:00
Neil Alexander
fa32249f2f Lint in CI 2025-12-20 14:06:14 +00:00
Neil Alexander
0fe5375737 Add Delivery-Date on receipt, set Date on send if not set 2025-12-02 23:02:22 +00:00
Neil Alexander
6e29644f82 Clean up destination queues when moving messages from Outbox 2025-12-02 22:40:09 +00:00
Neil Alexander
8385ac78da Support for IMAP MOVE 2025-12-02 19:23:49 +00:00
Tristan B. Velloza Kildaire
d2093e00bf Doc fix (#43) 2025-12-01 21:06:05 +00:00
Tristan B. Velloza Kildaire
12c153a364 Add -passwordHash support (#42)
* Update main.go

* Update main.go

* Set

* Set password to db

* Main

- Password hash, after trimming, cannot be empty

* Backend

- Assume incoming data is already a hash

* Main

- CLeaned up

* README

- Updated command-line argument documentation

* Menton this

* lower case

* SQLITE Driver

- Removed comments

* Main

- `passwordhash` only valiud when non-""

* Main

- Try running `Cost([]byte)` on the UTF-8 bytes to verify the hash
2025-12-01 20:43:35 +00:00
Neil Alexander
59426fabf1 Update yggquic, stronger peer verification 2025-11-28 17:32:19 +00:00
Neil Alexander
0d4d68c9cc Switch to yggquic 2025-11-27 10:30:48 +00:00
Neil Alexander
890ef4ada9 Update to Yggdrasil 0.5.12 2024-12-18 22:37:28 +00:00
Neil Alexander
8a5c2202b4 Update to Yggdrasil 0.5.11 2024-12-12 19:43:39 +00:00
Neil Alexander
cb153d7c4e Update to Yggdrasil 0.5.10 2024-11-24 13:05:28 +00:00
Neil Alexander
e34df1cb73 Update embedded SQLite dependency 2024-10-20 17:58:51 +01:00
Neil Alexander
fc293b9f71 Use latest Alpine for Docker builds 2024-10-20 17:57:01 +01:00
Neil Alexander
3e20a60741 Update to Yggdrasil 0.5.9 2024-10-19 17:23:47 +01:00
Neil
0b1d6ca978 Merge pull request #40 from ufm/main
The mcastregexp parameter has been added
2024-10-02 14:35:07 +01:00
ufm
8146bcd3d1 Update documentation for mcastregexp 2024-10-02 13:50:54 +03:00
ufm
097f62b226 Add broadcast regexp parameter 2024-10-02 13:31:09 +03:00
Neil Alexander
1d5545a817 Update to Yggdrasil 0.5.8 2024-08-12 19:34:54 +01:00
Neil Alexander
12f454777d Update to Yggdrasil 0.5.7 2024-08-05 19:36:55 +01:00
Neil Alexander
2a1e0ee063 Update to Yggdrasil 0.5.6, use Alpine 3.20 2024-05-31 18:40:58 +01:00
Neil Alexander
edf14c0d03 Fix GitHub Actions pipeline 2023-12-10 11:01:43 +00:00
Neil Alexander
00775389b5 Update to Yggdrasil 0.5.4, use Alpine 3.18 2023-12-10 11:01:12 +00:00
Neil Alexander
767f9b8c5d Revert all yggquic changes
This reverts commit 4ab9007abe.
2023-12-10 11:00:27 +00:00
Neil Alexander
9c0f9f68bb Use Alpine 3.18 2023-12-09 22:27:14 +00:00
Neil Alexander
df696d4bdb Update go-sqlite3 2023-12-09 22:19:45 +00:00
Neil Alexander
34dbc97d89 Update yggquic 2023-12-09 22:02:02 +00:00