Commit Graph

156 Commits

Author SHA1 Message Date
4e9bf841c2 Merge pull request #11228 from nextcloud/refactor/override-attribute
refactor: add override attribute
2025-06-04 11:38:37 +02:00
eb95a5f509 refactor: remove unused variables
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-06-04 08:37:49 +02:00
ed9c2cc92c refactor: add override attribute
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-06-04 07:33:09 +02:00
95a96c51ea feat: per account imap and smtp debugging
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-04-17 14:19:09 +02:00
7d67b7ad4e chore: Remove unnecessary var annotations
Psalm autofix for `UnnecessaryVarAnnotation`.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-04-03 16:12:05 +02:00
d856a6005c fix(migration): make misc migrations idempotent
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-20 11:07:47 +01:00
3165f07ffb fix: add ability to send alternate text (html and plain)
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-01-15 12:54:54 -05:00
e9286d20d4 feat: ai message summary
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>

Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
2024-12-23 11:58:03 -05:00
1907ebc860 feat: classify emails by importance based on subjects
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-12-18 19:07:14 +01:00
43ed1ca4f4 fix: wrong path for itinerary executable
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-12-16 14:23:05 +01:00
3f821e38e3 fix: Encapsulate PGP/MIME encrypted emails
Sending emails that were encrypted using Mailvelope in API-mode require
a different handling, because the encrypted cleartext contains
MIME-headers.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-10-16 17:33:11 +02:00
fb946a2da6 feat: fiter messages by mention
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-10-14 20:29:59 +02:00
1874205dda style: apply coding-standard 1.3.1
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-10-10 20:17:23 +02:00
c0bed86544 feat: implement periodic full sync job to repair cache inconsistencies
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-10-01 21:01:22 +02:00
94ac6cf8c6 style: apply coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-26 11:50:26 +02:00
aab2db92a6 feat: add internal addresses
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-08-13 12:40:06 +02:00
c361202178 fix: move delete duplicate uids repair step to a job
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-16 13:59:44 +02:00
443749f9e6 fix: make sure inbound_password uses null as default
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-07-01 12:18:56 +02:00
432e10ffd8 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-24 18:46:58 +02:00
c94f5e0537 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-21 19:50:19 +02:00
22b683c0ad fix: add repair job to deleted duplicated cached messages
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-06-20 15:53:18 +02:00
752b0127af fix: honour MDN requests
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-06-10 10:13:34 +02:00
a1daf351f8 fix(outbox): handle indeterminate smtp errors
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-04-30 16:12:14 +02:00
7c59040785 fix(outbox): add status for messages
and try resending failed messages at POF

Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-04-09 13:42:39 +02:00
5993c11a25 Merge pull request #9376 from nextcloud/feat/integration/global-llm-setting
feat(integration): Combine all LLM feature flags
2024-02-29 08:35:11 +01:00
8c934bd747 feat(integration): Combine all LLM feature flags
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-29 07:21:55 +01:00
e9411c6a0d chore(deps): bump nextcloud/coding-standard from 1.1.1 to ^1.2.1 (main) (#9420)
chore(deps): bump nextcloud/coding-standard from 1.1.1 to ^1.2.1

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Co-authored-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-28 13:17:50 +00:00
4c356d6995 perf(db): optimise indices of mail tables
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2024-02-27 20:26:34 +01:00
7e32031d56 perf(db): Add message_id index for mail_messages table
* Index created by default for new installations
* Optional index for existing installations

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-16 08:52:46 +01:00
a623832620 chore: Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-12-27 15:33:49 +01:00
d8de6d2e30 fix: add name_hash as nullable
Otherwise the migration on pgsql don't work.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-11-24 17:35:07 +01:00
3cbdf1f302 feat: apply personal out-of-office data to the auto responder
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-24 10:37:47 +01:00
9783069f6b fix: allow syncing of mailboxes with a trailing space
The unique index considers "Test " and "Test" identical when using a padspace collation.
Adding a new column "name_hash" with a hashed version of the name as a workaround.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-11-22 19:19:39 +01:00
ae748475f3 Allow SSO users to send and recieve mail via master password
SSO users do not have a password set, and the auto provisioning of mail
does not work for SSO user. It is also inconvenient to synchronize the
password database between Nextcloud and the mail server used.

So to allow SSO user to use the mail app we can instead configure a
shared password for all users, this will work well with for example
Dovecot that has a concept of a "master password"[0] that can be used to
authenticate users. To use this feature we must convince the mail app
that the user has a password available, which we can set with occ like
so:
```
  ./occ config:app:set mail master_password --value 'very-secret-master-password'
```
We can then configure dovecot to allow this password from the Nextcloud
server, in this example 89.46.21.198:
```
passdb {
  args = password=very-secret-master-password allow_nets=89.46.21.198/32
  driver = static
}
```
If we configure postfix to use SASL auth against dovecot, we can then
both send and recieve mail from Nextcloud mail app, for SSO users.

0. https://doc.dovecot.org/configuration_manual/authentication/master_users/

Co-Authored-By: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-08 22:11:22 +01:00
eb93d46102 Feat: Search mail bodies
Signed-off-by: hamza221 <hamzamahjoubi221@gmail.com>
2023-10-24 20:17:42 +02:00
af20473aa7 fix(db): Identify retention and snooze mailboxes uniquely
The IMAP message id is not unique across mailboxes or accounts. Multiple
accounts that receive the same message will cause a conflict.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-09-08 14:01:22 +02:00
d7e397e584 fix: drop unique index on mail_messages_snoozed.message_id
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-08-24 10:56:49 +02:00
fd4312cdde Merge pull request #8780 from nextcloud/fix/8779/snooze-move-srcmailbox
fix(Snooze): Move the message back to src mailbox on wake
2023-08-22 18:09:31 +02:00
c5e2bee1e4 fix(Snooze): Move the message back to src mailbox on wake
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-08-22 18:01:24 +02:00
a884ebf2ea fix: drop index on mail_messages_retention.message_id
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-19 18:23:32 +02:00
fd1437b7a2 feat: remove toggle for move junk
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-15 14:37:42 +02:00
e16b6a75a4 feat: add snooze mvp
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-08-10 19:17:07 +02:00
45c5ab9277 feat: move messages to junk folder
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-07 12:28:25 +02:00
de09050a3a feat: implement trash retention
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-06 22:05:56 +02:00
8041d81153 enh: add notification for quota depletion
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-07-28 14:41:42 +02:00
2c67c12d6c chore: Drop unnecessary var annotations
Automated changed done by Psalm in preparation for v6.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-07-17 20:09:35 +02:00
c39b756131 chore: apply coding standards
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-06-28 14:44:08 +02:00
3a1929879a fix(smime): set primary key in first migration
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-06-21 09:57:17 +02:00
82a1233c94 chore(php): Refactor empty array check
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-10 18:21:52 +02:00
a1e5a3770a chore: composer run cs:fix
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-04-19 14:59:20 +02:00