mirror of
https://github.com/chatmail/relay.git
synced 2026-05-20 21:08:03 +00:00
Remove sieve to enable hardlink deduplication in LMTP
LMTP does not deduplicate messages if sieve plugin is used. We don't check for Auto-Submitted header anymore as iOS application has a notification service and should not display "You have a new message".
This commit is contained in:
@@ -21,6 +21,10 @@
|
|||||||
- filtermail: do not allow ASCII armor without actual payload
|
- filtermail: do not allow ASCII armor without actual payload
|
||||||
([#325](https://github.com/deltachat/chatmail/pull/325))
|
([#325](https://github.com/deltachat/chatmail/pull/325))
|
||||||
|
|
||||||
|
- Remove sieve to enable hardlink deduplication in LMTP
|
||||||
|
([#343](https://github.com/deltachat/chatmail/pull/343))
|
||||||
|
|
||||||
|
|
||||||
## 1.3.0 - 2024-06-06
|
## 1.3.0 - 2024-06-06
|
||||||
|
|
||||||
- don't check necessary DNS records on cmdeploy init anymore
|
- don't check necessary DNS records on cmdeploy init anymore
|
||||||
|
|||||||
@@ -338,20 +338,6 @@ def _configure_dovecot(config: Config, debug: bool = False) -> bool:
|
|||||||
)
|
)
|
||||||
need_restart |= lua_push_notification_script.changed
|
need_restart |= lua_push_notification_script.changed
|
||||||
|
|
||||||
sieve_script = files.put(
|
|
||||||
src=importlib.resources.files(__package__).joinpath("dovecot/default.sieve"),
|
|
||||||
dest="/etc/dovecot/default.sieve",
|
|
||||||
user="root",
|
|
||||||
group="root",
|
|
||||||
mode="644",
|
|
||||||
)
|
|
||||||
need_restart |= sieve_script.changed
|
|
||||||
if sieve_script.changed:
|
|
||||||
server.shell(
|
|
||||||
name="compile sieve script",
|
|
||||||
commands=["/usr/bin/sievec /etc/dovecot/default.sieve"],
|
|
||||||
)
|
|
||||||
|
|
||||||
files.template(
|
files.template(
|
||||||
src=importlib.resources.files(__package__).joinpath("dovecot/expunge.cron.j2"),
|
src=importlib.resources.files(__package__).joinpath("dovecot/expunge.cron.j2"),
|
||||||
dest="/etc/cron.d/expunge",
|
dest="/etc/cron.d/expunge",
|
||||||
@@ -548,7 +534,7 @@ def deploy_chatmail(config_path: Path) -> None:
|
|||||||
|
|
||||||
apt.packages(
|
apt.packages(
|
||||||
name="Install Dovecot",
|
name="Install Dovecot",
|
||||||
packages=["dovecot-imapd", "dovecot-lmtpd", "dovecot-sieve"],
|
packages=["dovecot-imapd", "dovecot-lmtpd"],
|
||||||
)
|
)
|
||||||
|
|
||||||
apt.packages(
|
apt.packages(
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
require ["imap4flags"];
|
|
||||||
|
|
||||||
# flag the message so it doesn't cause a push notification
|
|
||||||
|
|
||||||
if header :is ["Auto-Submitted"] ["auto-replied", "auto-generated"] {
|
|
||||||
addflag "$Auto";
|
|
||||||
}
|
|
||||||
@@ -115,10 +115,7 @@ protocol lmtp {
|
|||||||
#
|
#
|
||||||
# mail_lua and push_notification_lua are needed for Lua push notification handler.
|
# mail_lua and push_notification_lua are needed for Lua push notification handler.
|
||||||
# <https://doc.dovecot.org/configuration_manual/push_notification/#configuration>
|
# <https://doc.dovecot.org/configuration_manual/push_notification/#configuration>
|
||||||
#
|
mail_plugins = $mail_plugins quota mail_lua notify push_notification push_notification_lua
|
||||||
# Sieve to mark messages that should not be notified as \Seen
|
|
||||||
# <https://doc.dovecot.org/configuration_manual/sieve/configuration/>
|
|
||||||
mail_plugins = $mail_plugins quota mail_lua notify push_notification push_notification_lua sieve
|
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin {
|
plugin {
|
||||||
@@ -140,10 +137,6 @@ plugin {
|
|||||||
push_notification_driver = lua:file=/etc/dovecot/push_notification.lua
|
push_notification_driver = lua:file=/etc/dovecot/push_notification.lua
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin {
|
|
||||||
sieve_default = file:/etc/dovecot/default.sieve
|
|
||||||
}
|
|
||||||
|
|
||||||
service lmtp {
|
service lmtp {
|
||||||
user=vmail
|
user=vmail
|
||||||
|
|
||||||
|
|||||||
@@ -17,12 +17,8 @@ function dovecot_lua_notify_event_message_new(user, event)
|
|||||||
|
|
||||||
if user.username ~= event.from_address then
|
if user.username ~= event.from_address then
|
||||||
-- Incoming message
|
-- Incoming message
|
||||||
if not contains(event.keywords, "$Auto") then
|
-- Notify METADATA server about new message.
|
||||||
-- Not an Auto-Submitted message, notifying.
|
mbox:metadata_set("/private/messagenew", "")
|
||||||
|
|
||||||
-- Notify METADATA server about new message.
|
|
||||||
mbox:metadata_set("/private/messagenew", "")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
mbox:free()
|
mbox:free()
|
||||||
|
|||||||
Reference in New Issue
Block a user