Aine
66bd1a4fab
do not add empty mime parts, fixes #51
2022-11-17 23:11:11 +02:00
Aine
225ba2ee9b
adjust auto-retry, fix banned response code, rewrite email composing to enmime, add more logs
2022-11-16 22:22:19 +02:00
Aine
fce6593cd7
send multipart email with both html and plaintext by default, closes #22
2022-11-16 20:01:30 +02:00
Aine
7457f0436e
add !pm send:html, closes #46
2022-11-16 19:30:44 +02:00
Aine
8ebe80bc4f
add automatic greylisting
2022-11-16 18:47:24 +02:00
Aine
15b90e9e4c
add banlist total
2022-11-16 17:37:27 +02:00
Aine
d0fa75b215
banlist visual adjustments
2022-11-16 15:57:31 +02:00
Aine
86cda29729
banlist
2022-11-16 14:23:42 +02:00
Aine
ebe9606aa9
real multi-domain support
2022-11-16 09:00:19 +02:00
Aine
24e9fb8a59
fix typo
2022-11-15 19:28:38 +02:00
Aine
ec266e9108
wip encrypted parent event
2022-11-15 19:22:15 +02:00
Aine
7c59ff4b2e
decrypt parent event only when really needed, lookup threadID only when really needed
2022-11-15 16:02:31 +02:00
Aine
e7be9c6fad
update deps, correctly log meta information
2022-11-15 15:37:24 +02:00
Aine
4ef139f875
rename queue config options
2022-11-15 09:45:43 +02:00
Aine
a8780a32c1
explicitly tell about enqueued email
2022-11-15 09:42:07 +02:00
Aine
eb07bc1ac7
mail queue
2022-11-14 20:02:13 +02:00
Aine
ce1599d8a3
cache and encrypt email threads metadata
2022-11-14 18:18:30 +02:00
Aine
d5f2a6b75f
fix thread replies in matrix
2022-11-14 15:56:27 +02:00
Aine
94b1d13eb7
try to find parent email by Message-Id and references
2022-11-14 10:42:10 +02:00
Aine
b9cf336a6d
fix encrypted thread reply, fix From header in thread reply
2022-11-14 00:38:17 +02:00
Aine
29cd6c4dcb
add missing References email header, fix Message-Id composing, fix email reply bugs
2022-11-13 15:33:19 +02:00
Aine
f835a7560d
bridge thread replies from matrix to email
2022-11-10 21:58:29 +02:00
Aine
307aca7f23
refactor smtp
2022-11-10 13:26:12 +02:00
Aine
9cfe0a6d4f
show multi-domain aliases everywhere
2022-11-08 21:21:06 +02:00
Aine
15d5afe90f
initial, rought, not-user-friendly support for multi-domain setup
2022-11-08 18:16:38 +02:00
Aine
2c47bc7e14
fix lowercase
2022-10-28 08:44:09 +03:00
Aine
45ff7597ed
send emails to multiple addresses at once
2022-10-24 16:50:00 +03:00
Aine
a1feaff350
fix mappings check on !pm mailbox
2022-10-24 08:34:24 +03:00
Aine
a4ade439a6
fix false-positive error message
2022-10-19 13:43:09 +03:00
Aine
4dd09dacb4
move migration to the postmoogle inital room sync
2022-10-17 19:01:21 +03:00
Aine
42cb5221a1
spamlist wildcards
2022-10-16 20:14:54 +03:00
Aine
590182c272
do not return error on empty account data, fix room account data cache key, update deps, fixes #37
2022-10-12 13:53:30 +03:00
Aine
8c2ed1b496
Merge branch 'main' into security
2022-10-10 09:49:36 +03:00
Aine
6f4da59387
feedback, typos, renaming
2022-10-10 09:41:22 +03:00
Aine
4ec51b64eb
fix possible nil
2022-10-08 18:22:31 +03:00
Aine
c6049a7451
hotfix panic, fixes #36
2022-10-08 18:20:41 +03:00
Aine
1dd996e430
rename security options
2022-10-08 11:58:14 +03:00
Aine
0767e7d0c3
security and spam options descriptions
2022-10-08 11:29:10 +03:00
Aine
99e509ea3a
Email validations
2022-10-08 00:11:48 +03:00
Aine
6f8e850103
expose security and spam options
2022-10-07 23:24:59 +03:00
Aine
70ef60c934
add 'norecipient' room option, closes #35
2022-10-07 23:07:57 +03:00
Aine
d6b6a5dc44
add catch-all mailbox, closes #25
2022-10-04 21:45:52 +03:00
Aine
f3c5c47e76
room and user account data encryption
2022-10-02 20:15:46 +03:00
Aine
ed5765b42a
move seding files and work with account data to the linkpearl level
2022-10-02 13:51:58 +03:00
Aine
c56c740c1d
add password option messages
2022-09-23 11:28:15 +03:00
Aine
4bf0f0dee3
switch to password hashes
2022-09-23 11:17:34 +03:00
Aine
ce53d85806
Merge branch 'main' into expose-mta
2022-09-23 10:44:00 +03:00
Aine
e368d26fc1
check full email in AllowAuth
2022-09-23 10:37:08 +03:00
Slavi Pantaleev
9129f8e38c
Apply 1 suggestion(s) to 1 file(s)
2022-09-23 07:35:35 +00:00
Aine
3f5a1cd915
rename local to incoming
2022-09-23 10:33:25 +03:00
Aine
5a19ffad08
securely compare passwords, add notice about message removal
2022-09-23 10:19:25 +03:00
Aine
90927247fd
fix nosend description
2022-09-22 21:40:31 +03:00
Aine
070a6ffc76
use postmoogle as general purpose SMTP server and allow other apps or scripts to send emails through it
2022-09-22 18:21:17 +03:00
Aine
c9c871287d
add read receipts and typing notifications, closes #30
2022-09-21 11:18:25 +03:00
Aine
97aacbf143
export MXID patterns parsing to external lib
2022-09-14 13:46:56 +03:00
Aine
76bffd931c
correctly handle attachments mimetype and set proper msgtype, fixes #27
2022-09-13 17:21:00 +03:00
Aine
08aa23b397
fix Message-Id, fixes #20
2022-09-08 14:08:17 +03:00
Aine
a608fffea8
!pm dkim reset; switch DKIM algo to RSA
2022-09-08 09:31:09 +03:00
Aine
40f2ec9492
fix command parsing
2022-09-07 23:51:37 +03:00
Aine
715ec1ef2a
fix #19
2022-09-07 20:24:49 +03:00
Aine
4d01579505
move email sending to b.runSend()
2022-09-06 22:43:04 +03:00
Aine
db135c0cb1
deconstruct getSubject and getBody
2022-09-06 22:34:21 +03:00
Aine
bbb6bec35f
update SetMTA comment
2022-09-06 22:21:23 +03:00
Aine
af1b664274
cache empty settings
2022-09-06 22:02:21 +03:00
Aine
085cdf5dbf
refactor email2content
2022-09-06 18:39:35 +03:00
Aine
7d435f7ba8
move email composing to utils
2022-09-05 20:38:58 +03:00
Aine
2427d41ae3
move parsing of !pm send to utils, update !pm send instructions
2022-09-05 20:10:07 +03:00
Aine
12a2d4c6f9
dkim
2022-09-05 17:02:00 +03:00
Aine
fda0d62087
send emails
2022-09-04 22:09:53 +03:00
Aine
a92b4c64ae
Merge branch 'only-follow-invites-for-allowed' into 'main'
...
Only auto-join rooms when invited by allowed users
Closes #17
See merge request etke.cc/postmoogle!28
2022-08-31 12:59:04 +00:00
Slavi Pantaleev
61cc9b21c5
Only auto-join rooms when invited by allowed users
...
Previously, anyone (even across federation) could invite you to a
room and the bot would join. It may not have provided a useful purpose,
but it still joined all rooms it was invited to.
We now only join rooms when we're invited by a person who is actually
allowed to use the bot.
Fixes https://gitlab.com/etke.cc/postmoogle/-/issues/17
2022-08-31 15:54:56 +03:00
Aine
a3c81ab232
Merge branch 'better-introduction' into 'main'
...
Improve introduction and getters usability
See merge request etke.cc/postmoogle!26
2022-08-31 07:40:25 +00:00
Aine
ab95fe5d2d
refactor to fmt.Sprintf()
2022-08-31 10:39:30 +03:00
Aine
104e948b9c
remove migrations
2022-08-31 10:33:13 +03:00
Slavi Pantaleev
4b1ce195b4
Do not append domain twice when updating mailbox (again)
...
Fixes:
> `mailbox` of this room set to `test@domain@domain`
Previously fixed in 97a4d6c7bc , but it seems like we unintentionally
reintroduced this bug again at some point after that.
2022-08-31 09:16:16 +03:00
Slavi Pantaleev
60d3fbbba5
Improve introduction and getters usability
...
When someone first joins a room, they see some commands (`mailbox`,
`owner`, ..) and they know they are getters and setters, but they have
no good example as to how to use them.
Is it `!pm mailbox SOMETHING` or `!pm mailbox=SOMETHING` or something
else?
It's better if the introduction text gives you the full command you need
to get started (e.g. `!pm mailbox SOME_MAILBOX`), instead of a partial
command that you don't know how to use (e.g. `!pm mailbox` - this is
merely a getter and will not set your mailbox to `SOME_MAILBOX`).
Starting from this, I thought it would be a good idea to make all
option getters tell you how the commands are to be used. If you send
`!pm mailbox` and it tells you "not yet set", it should also tell you
how to actually set it (e.g. `!pm mailbox VALUE`).
2022-08-31 09:08:49 +03:00
Aine
75e5ed8245
Merge branch 'improve-help-wording' into 'main'
...
Improve help message wording
See merge request etke.cc/postmoogle!25
2022-08-30 16:43:02 +00:00
Slavi Pantaleev
7315013912
Improve help message wording
...
If're an admin and mess up the `users` list, you won't see "owner"
commands.
If you're just a regular room user (not an admin, not an owner), you'll
only see the `help` command in the `help` message.
Both of these situations may make you wonder:
- is that all there is?
- earlier I saw more commands, so what's going on?
Adding "and accessible to you" hopefully clears things up, or at least
it tries to make the help message more correct.
2022-08-30 19:04:44 +03:00
Aine
233d212143
fix botSettings.Users()
2022-08-30 18:35:10 +03:00
Aine
84b1900dbb
adjust initBotUsers()
2022-08-30 18:29:16 +03:00
Aine
0c74ae02fb
fix one value
2022-08-30 16:13:10 +03:00
Aine
cec2761911
users adjustments
2022-08-30 15:43:06 +03:00
Aine
ea1ef9da7f
!pm users changes
2022-08-30 15:00:34 +03:00
Aine
00b84fba0e
cache even unexisting bot settings
2022-08-30 14:47:16 +03:00
Aine
9f66d1fee6
rename options, rename settings types
2022-08-30 14:45:07 +03:00
Aine
627e090afd
rename account data keys, rearrange code
2022-08-30 14:42:07 +03:00
Aine
5ed3a53223
diff bot and room settings
2022-08-30 14:37:19 +03:00
Aine
f97ebb604a
manage users in runtime, closes #16
2022-08-29 21:41:14 +03:00
Aine
0ba951fbe6
set default POSTMOOGLE_USERS pattern
2022-08-29 20:56:28 +03:00
Aine
89d5ec8a91
adjust !pm mailboxes, relates to #15
2022-08-29 20:31:25 +03:00
Aine
e0bd71717c
remove NOOWNER, closes #14
2022-08-29 20:21:37 +03:00
Aine
ba73b5a97c
add !pm delete, closes #13
2022-08-29 20:18:25 +03:00
Aine
505a1b42d7
removed federation, closes #12
2022-08-29 19:58:54 +03:00
Aine
5a5a649cba
add cache
2022-08-29 15:28:37 +03:00
Aine
1a87929567
rename files; show commands by access level
2022-08-29 15:19:07 +03:00
Slavi Pantaleev
bc30f59e96
Move owner commands to their own file
2022-08-29 14:25:14 +03:00
Slavi Pantaleev
d20d4aa5bf
Move mailboxes admin command to a separate file
2022-08-29 14:20:20 +03:00
Slavi Pantaleev
e59f5d5502
Make Match() with empty list not return a positive result
...
Now that we use Match() in allowAdmin() as well, it's awkward to
have it return `true` when called with an empty admin list.
No admins defined was taken to mean "everyone is an admin".
We can either have a `len(users) == 0` check in `allowAdmin` which
rejects the request, or we can change `Match()` so that it doesn't
return positive responses when called with an empty list. Doing the
latter sounds better. It's more natural that matching against an empty list
will yield "no match".
2022-08-29 14:10:52 +03:00
Aine
6623251695
refactored
2022-08-29 12:30:43 +03:00
Slavi Pantaleev
79775c0c13
Add basic mailboxes command
...
This can be improved in the future, to show some additional information
about each mailbox like:
- "how many users are in that room"
- "which users are in that room"
- "who is the owner of the mailbox"
This can all be done later though.
2022-08-29 10:28:19 +03:00