Re: dovecot with sieve vacation plugin

2023-06-12 Thread spi

1) "sieve_user_email = %u" creates a warning: "Warning: sieve: Invalid

address value for setting `sieve_user_email': Missing domain"


That warning is a glitch, ignore it. I mentioned it on the list before
but has not been fixed in any of the updates.




What I am currently trying to figure out is, is there a way to tell
postfix in case it is a vacation reply with no envelope to but a valid
from header use that from header as a rule for choosing the right relay
host.


I don't think postfix knows how or why an email was injected into its
system. In respect to knowing if it's a vacation response or not. But
if you ask Wietse on the postfix-us...@postfix.org list he would know
if there are any workarounds to do what you want.


Asked on the postfix-users list but there is no simple way to choose a
relay host based on multiple headers but I found one workaround and
thanks to Wietse another one "up my sleeves".

Most of the aliases use the same relay host - instead configuring it in
sender_dependent_relayhost_maps I configured it as relayhost in postfix'
main.cf. Now even with vaction replies with MAIL FROM being blank they
get relayed correctly.

The other workoround "up my sleeves" in case I need the vacation module
work for other aliases as well (which need another relay host) is to use
a milter (which I already have in place) to check for a header the
vacation plugin sets and an empty MAIL FROM address and add in that case
another single header to let postfix filter for that (by header_checks
FILTER) and choose the right relay host based on the information set in
the new header - but currently I don't need that.

Thx everybody so far!

--
Cheers
spi

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


Re: dovecot with sieve vacation plugin

2023-06-11 Thread spi



Why convert/alias a...@aaa.com to b@bbb.local?
Why not setup dovecot to have a mailbox and receive mail for
a...@aaa.com, allowing sieve to run for a...@aaa.com, and users login as
a...@aaa.com on IMAP to check their mail?


That would work if users only had one alias, but they don't - they have
several aliases.



On my system i am using virtual accounts in postfix with
virtual_mailbox_maps.
For user alias im using postfix virtual_alias_maps.

u...@example.com is a mailbox someone can login to IMAP with.
They have al...@example.com -> u...@example.com with the alias map.

If someone sends an email to al...@example.com it ends up in the
u...@example.com inbox via LMTP

  Jun 10 13:38:23 postfix/lmtp[1953783]: 4QdlXt4pn1z7Vv0h:
to=, orig_to=,
  relay=smtp.example.com[private/dovecot-lmtp], delay=2.1,
delays=1.7/0.01/0/0.44, dsn=2.0.0, status=sent (250 2.0.0
 N9ypKw61hGTzxB0AbpFOwA Saved)

For sieve plugin i have in dovecot.conf:

  sieve_vacation_use_original_recipient = no
  sieve_vacation_dont_check_recipient = no
  sieve_vacation_send_from_recipient = no
  sieve_redirect_envelope_from = sender
  sieve_user_email = %u

And as a sieve rule i have:

  require ["vacation"];
  # rule:[Out of Office]
  if true {
    vacation :days 1 :addresses
["u...@example.com","al...@example.com"] :subject "TEST - Out of
Office" "This is a test reply for the out of office auto responder.";
  }

This works for me. If someone sends an email to al...@example.com they
will receive an auto reply with the From: header as al...@example.com
and the envelope-from as <> which end users wont see.


Thanks, tried you settings and they are almost the same I am using too, but:

1) "sieve_user_email = %u" creates a warning: "Warning: sieve: Invalid
address value for setting `sieve_user_email': Missing domain"

2) Still - I see vacation replies created, the issue though is that I am
using different relay hosts and whatever
"sieve_vacation_send_from_recipient" ist set to, postfix tries to
deliver the mail directly to the receiving MX and does not respect my
relay hosts.

What I am currently trying to figure out is, is there a way to tell
postfix in case it is a vacation reply with no envelope to but a valid
from header use that from header as a rule for choosing the right relay
host.

--
Cheers
spi

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


Re: dovecot with sieve vacation plugin

2023-06-10 Thread spi




Why convert/alias a...@aaa.com to b@bbb.local?
Why not setup dovecot to have a mailbox and receive mail for
a...@aaa.com, allowing sieve to run for a...@aaa.com, and users login as
a...@aaa.com on IMAP to check their mail?


That would work if users only had one alias, but they don't - they have
several aliases.


Just to make sure that the vacation plugin works at all I set up a new
user with just one mail address x...@aaa.com. Vacation replies get sent as
long "sieve_vacation_send_from_recipient = yes" is configured in
dovecot.conf (my postfix uses different relay hosts).

As said I can't just change users' mail addresses to external ones as
they are using several aliases. And I would prefer to use
"sieve_vacation_send_from_recipient = no" (due to bounces). I wonder if
there is a way to tell postfix to choose a relay host for the vacation
replies based on the From: address (which is set by the sieve vacation
plugin) rather than the "mail from" address.


--
Cheers
spi

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


Re: dovecot with sieve vacation plugin

2023-06-10 Thread spi



Am 09.06.23 um 20:13 schrieb dovecot--- via dovecot:

postfix (*) presents the right "rcpt to a...@aaa.com" to the milter filter,
but sieve only sees the internal b@bbb.local.


Why convert/alias a...@aaa.com to b@bbb.local?
Why not setup dovecot to have a mailbox and receive mail for
a...@aaa.com, allowing sieve to run for a...@aaa.com, and users login as
a...@aaa.com on IMAP to check their mail?


That would work if users only had one alias, but they don't - they have
several aliases.


--
Cheers
spi

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


Re: dovecot with sieve vacation plugin

2023-06-09 Thread spi




In my understanding the vacation plugin uses the original recipient as
sender for the out of office reply which in my case is in the
X-Original-to header (I use lmtp and have also set
"lda_original_recipient_header = X-Original-To"). But it does not - it
sticks with the b@bbb.local mail address as sender. If I omitted the
sender setting - how could I tell postfix to relay these ooo mails
through the correct relay (like based on the From header domain in the
vacation response)?

What would the right approach be to set the sender right or get postfix
to relay the vacation responses correctly?



I did some more digging in my "mail process chain":

incoming mail --> postfix (*) --> milter --> postfix --> lmtp/dovecot
--> sieve

postfix (*) presents the right "rcpt to a...@aaa.com" to the milter filter,
but sieve only sees the internal b@bbb.local. I expected the sieve
vacation module to interpret the X-Original-to header but it seems to
not do that (my idea was to circumvent that way the issue with postfix
and lmtp to not forward the right "rcpt to" information).

Is there a way to get the vacation module respect the X-Original-to
header? Or any other approch to get that working with lmtp (and not
switching back to lda)?

--
Cheers
spi

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


dovecot with sieve vacation plugin

2023-06-07 Thread spi

Hi all

I have an issue understanding the sieve vacation plugin. I can get it
trigger for particular emails or something, but I don't get the sender
setting right.


My setup:

I've got an external email address a...@aaa.com and a local b@bbb.local
(which is used in virtual_mailbox_maps in postfix or for user
authentication in dovecot). Emails for a...@aaa.com get stored in the
b@bbb.local mailbox.

Postfix uses an external relay to transfer emails from a...@aaa.com.
Sending and receiving emails works as a charm.

In received emails I see headers for

   Return-Path: 
   Delivered-To: b@bbb.local
   Envelope-To: a...@aaa.com
   X-Original-to: a...@aaa.com

In sieve I've got configured for the user b@bbb.local

require "vacation";
if allof (
   address :domain "From" "other-sender.com",
   currentdate :value "ge" "date" "2023-05-24"
   )
{
vacation
:from "a "
#:addresses ["a...@aaa.com", "b@bbb.local"]
:addresses ["a...@aaa.com"]
:subject "Out of office by EoL"
"bla bla bla";
}


The issue:

When I receive an email from e. g. j...@other-sender.com a vacation
response gets created and sent. The From header ist set to the value
configured by ":addresses ["a...@aaa.com"]". But:

a) If I set "sieve_vacation_send_from_recipient = yes" in dovecot.conf
the sender header in the vaction response is filled in with b@bbb.local.

b) If I set "sieve_vacation_send_from_recipient = no" in dovecot.conf
the sender header in the vaction response stays blank (which I
understand is the preferred way).

Different settings for sieve_vacation_use_original_recipient don't seem
to make any difference.

In both cases a) and b) postfix tries todeliver the email directly to
the receiving mail server and does not care for my sender relay host map
(sender_dependent_relayhost_maps in postfix main.cf), well of course as
there is no relay host for @bbb.local (case a)) and in case b) the
sender is blank.


In my understanding the vacation plugin uses the original recipient as
sender for the out of office reply which in my case is in the
X-Original-to header (I use lmtp and have also set
"lda_original_recipient_header = X-Original-To"). But it does not - it
sticks with the b@bbb.local mail address as sender. If I omitted the
sender setting - how could I tell postfix to relay these ooo mails
through the correct relay (like based on the From header domain in the
vacation response)?

What would the right approach be to set the sender right or get postfix
to relay the vacation responses correctly?

Any help would be appreciated!

--
Cheers
spi

___
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org


Re: set imap flags in user sieve scripts

2023-03-11 Thread spi



Am 11.03.23 um 19:51 schrieb Felix Zielcke:

Am Samstag, dem 11.03.2023 um 19:30 +0100 schrieb spi:

11.03.2023 19:23:21 Benny Pedersen :


spi skrev den 2023-03-11 13:34:


if address :domain "From" "whatever.com"{
fileinto :flags ["\\todo"] "working/whatever";
}

require ["fileinto","imap4flags"];

imap4flags seems not to be accepted in an user script. My sieve
editor shows an error. If I add require ["fileinto","imap4flags"]; to
the script it just does not work.

As said it works in a global script, but not an user one.


Is imap4flags maybe listed in sieve_global_extensions setting in your
config?



That was is! Thanks, Removed it from sieve_global_extensions and it
works smoothly now. Thanks again!



Then you need to remove it from there:

https://doc.dovecot.org/configuration_manual/sieve/configuration/#basic-configuration

You could also try to enable it via sieve_extensions. But AIUI that
shouldn't be needed.



No, just removing from sieve_global_extensions did the job.

--
Cheers
spi



Re: set imap flags in user sieve scripts

2023-03-11 Thread spi


11.03.2023 19:23:21 Benny Pedersen :

> spi skrev den 2023-03-11 13:34:
> 
>> if address :domain "From" "whatever.com"{
>> fileinto :flags ["\\todo"] "working/whatever";
>> }
> 
> require ["fileinto","imap4flags"];

imap4flags seems not to be accepted in an user script. My sieve editor shows an 
error. If I add require ["fileinto","imap4flags"]; to the script it just does 
not work.

As said it works in a global script, but not an user one.

> 
> # rule:[set todo]
> if allof (header :contains "subject" "set imap flags in user sieve scripts", 
> header :contains "from" "u...@example.org", header :contains "to" 
> "dovecot@dovecot.org")
> {
>     setflag "todo";
>     fileinto "todofolder";
>     stop;
> }
> 
> created in roundcube webmail


set imap flags in user sieve scripts

2023-03-11 Thread spi

Hi all

Could anyone lead me into the right direction please?

I use 'addflag ...' or 'fileinto :flags ...' in global sieve scripts to
flag and sort incoming mail - that works.


Trying to do that with custom user scripts doesn't work - I get the
error that imap4flags only can be used in global scripts. Is there any
way to get incoming mails labled and sorted by user sieve scripts?

So something like this for a particular user doesn't work:

if address :domain "From" "whatever.com"{
fileinto :flags ["\\todo"] "working/whatever";
}


--
Cheers
spi



Re: Backups and disaster recovery

2022-12-04 Thread spi



Am 04.12.22 um 04:16 schrieb Sam Kuper:

You might want to consider using ZFS.



ZFS has some great advantages, like scheduled scrub runs against bit
rot. Not only one can create snapshots and replicate them to a different
(even remote) ZFS pool but that is even possible with an encrypted pool
without disclosing the encryption password.

So you can synch file system changes to like a remote location with the
file system pool in the remote location being encrypted. You don't need
to mount the remote file systems and disclose the password, you just
send encrpted ZFS data to the remote location. With that approach you
can store the remote backups even in less trusted environments (from a
confidentiality not availability point of view).


My sdbox mailboxes are stored in ZFS volumes. I run snapshots daily and
back them up. I tried to restore single mailboxes or even single mailbox
folders. It all worked so far - still I wonder if there might be any
issues with snapshotting a file system rather than using 'doveadm
backup'. With databases I flush/dump/whatever them so it it safe to
snapshot their volume.

--
Cheers
spi



Re: how to configure imapsieve to be used per user

2022-10-29 Thread spi
The sieve Thunderbird add-on is broken very often  - there is a standalone 
version as well which works much better. If the newest version does not work, 
check some older releases.

29.10.2022 00:54:47 Shawn Heisey :

> On 10/17/22 04:46, Marc wrote:
>> I only see configurations that are active for all users, how to configure 
>> this in the user sieve rules. I only need this for specific users.
> 
> I have a working setup where every user can have their own sieve rules and 
> manage them with managesieve, which I think is provided by pigeonhole.  I 
> have a very extensive sieve script on my mailbox that has been built using a 
> managesieve plugin for Roundcube webmail.  I tried to get an extension for 
> Thunderbird going, but it doesn't work in the latest Thunderbird (102 at the 
> time), and now that I am running a version 106 beta, that support is even 
> less likely to happen.
> 
> This output should cover all my sieve-related configs:
> 
> https://paste.elyograg.org/view/c34f48ee
> 
> My users are in a mysql postfixadmin database.  The username is the fully 
> qualified email address.  It's installed on a AWS instance running Ubuntu 
> Server 20.04.  I do want to upgrade that to Ubuntu 22, but a lot of my PHP 
> software will not run on PHP 8.1, which is what Ubuntu 22 includes.  So I am 
> waiting for that.
> 
> Thanks,
> Shawn


Re: The end of Dovecot Director?

2022-10-21 Thread spi


Am 21.10.22 um 13:14 schrieb Amol Kulkarni:

Nginx has an mail proxy for pop, imap, smtp.
Can it be used instead of director ?



Nginx can authenticate imap/smtp (and probably pop3) users. If you that,
you can define a backend server the session is routed to. Currently I
use that approach to authenticate users by client certificates and route
them to the appriopriate backend (well, I only have one ;-).

--
Cheers
spi


Re: Dovecot mail-crypt webmail can't read encrypted messages

2022-10-12 Thread spi


Am 12.10.22 um 15:21 schrieb Stuart Henderson:

On 2022-10-11, Bernardo Reino  wrote:

Please please stop top-posting. Makes a mess of everything!

I think everything that can be said in this thread, already has been said...

But not by everybody...

--
Cheers
spi


Re: Thunderbird can't connect to Dovecot (bad certificate: SSL alert number 42)

2022-09-14 Thread spi


Am 14.09.22 um 13:14 schrieb Meikel:

Hi folks,

on a Rocky Linux 8.6 based home server I run Dovecot with an account
that I use as an archive. Archive means, that from different
Thunderbird instances I connect to that Dovecot via IMAPS to move
emails there, that I want to keep. Since some days from all
Thunderbird instances I can no longer connect to that Dovecot account.
In /var/log/maillog of the server I see

Sep 14 06:39:54 server3 dovecot[2033173]: imap-login: Disconnected:
Connection closed: SSL_accept() failed: error:14094412:SSL
routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number
42 (no auth attempts in 0 secs): user=<>, rip=192.168.177.105,
lip=192.168.177.13, TLS handshaking: SSL_accept() failed:
error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad
certificate: SSL alert number 42, session=

I found that Openssl alert number 42 might be a problem with the SSL
certificate (which certificate?) but also might be an expired SSL
certificate (which certificate?). As on the Dovecot installation I
work with a self signed certificat. I created a new self signed
certificate yesterday with an expiry not before year 2032. That did
not help, I see the same messages when I try to connect from Thunderbird.

Just to see how Thunderbird is involved in the problem I installed
Claws-Mail. From Claws-Mail I do NOT have those problems, I can access
to Dovecot via IMAPS as expected.

I do not understand why all my Thunderbird installations can no longer
access Dovecot via IMAPS. This worked fine for about 18 months. I
can't prove but I think on beginning of month it worked fine.
Something happened meanwhile.

If there is a problem with an SSL certificate (bad certificate: SSL
alert number 42), which certificate makes the problem? The certificate
used by Dovecot or some certificate used in Thunderbird?

...
I have the problem with different Thunderbird installations on various
operating systems (Windows 10, Fedora Linux 36 XFCE).

Regards,

Meikel


Is this a self signed certificate? In the past I had issues with Firefox
and self signed certificates on my servers. They worked in Chromium but
not Firefox. Mozilla is a bit more niggling about certificates - I'd
expect the same engine in Thunderbird. I had an issue with the X509v3
extension in my certificate and one day Firefox didn't accept these
certificates any longer.

If this is the case you can either create new certificates or - if this
is a workaround for you - accept the certificate in Thunderbird (you
might have to import it manually into Thunderbird first and adopt its
trust level). I don't like the latter as it needs to be done on every
client and might break trust in future.

--
Cheers
spi


Re: Thousands of SSL certificates stalls new logins during reload - problem with Dovecot config process

2022-09-03 Thread spi


04.09.2022 01:01:16 Bartosz Kwitniewski :


> For now they are on the same machine, we have to write our own panel for 
> clients to get more freedom in backend choices. I was looking into HAProxy 
> for SSL termination, but it does not support STARTTLS.
>
> I'll try to look for workaround next week, but haven't used C for ages.
>
> Best regards,
> --
> Bartosz Kwitniewski

Nginx can be used as reverse proxy for dovecot to terminate tls and load 
balance. It can also be used to verify client certificates (access only with 
valid client certificate and route access to backend based on client 
certificate).

Cheers,
spi


Re: Permission denied UNIX perms appear ok (ACL/MAC wrong?))

2022-08-30 Thread spi


Am 30.08.22 um 20:43 schrieb Austin Witmer:

I’m am still getting the errors I mentioned previously. Maybe half a
dozen of them per day . . .

So, the location of my mail storage
(/mnt/volume1/mailserver/plain/maildir/%d/%n/) is a filesystem mounted
by gocryptfs. Do you think gocryptfs could be at fault here?

Austin Witmer



Before and after mounting: What are the mount folder's user/group
permissions? Who owns the mount folder (user/group)?

If you do a "stat
/mnt/volume1/mailserver/plain/maildir/domain.com/user/dovecot.index.log
<http://domain.com/user/dovecot.index.log>" as the user dovecot is
running as (from your mail I see austin owns that file - is dovecot run
as user austin?) - do you also get an error?

If you do get an error - could you create a small encrypted fs and mount
it to another folder, create a file there and check again for "stat
file"? Play with the permissions and user/group assignments. Still
getting an error?

--
Cheers
spi


Re: Permission denied UNIX perms appear ok (ACL/MAC wrong?))

2022-08-20 Thread spi



Am 20.08.22 um 16:52 schrieb Austin Witmer:

Hello all!

Recently I upgraded my mail server to Ubuntu 22.04 LTS and ever since
then I am periodically getting some dovecot errors like the below in
my mail log. As far as I can tell, my unix perms are just fine. What
is ACL/MAC?

Aug 20 14:41:58 mail dovecot:
imap(u...@domain.com)<56316><1NieGKPmuOdKwxVI>: Error: Mailbox INBOX:
stat(/mnt/volume1/mailserver/plain/maildir/domain.com/user/dovecot.index.log
<http://domain.com/user/dovecot.index.log>) failed: Permission denied
(euid=1000(austin) egid=1000(austin) UNIX perms appear ok (ACL/MAC
wrong?))

And here is the listing showing the permissions for that file.

*austin@mail*:*~*$ ls -la
/mnt/volume1/mailserver/plain/maildir/domain.com/user/dovecot.index.log
<http://domain.com/user/dovecot.index.log>
-rwxrwxr-- 1 austin austin 15796 Aug 20 14:41
*/mnt/volume1/mailserver/plain/maildir/domain.com/user/dovecot.index.log
<http://domain.com/user/dovecot.index.log>*

What in the world is causing these errors, and what can I do about them?

Thanks in advance!

Austin Witmer



Do you use any ACLs? Is this just a block device mounted or do you use
any network file sharing like nfs?

ACLs you can check by 'getfacl foo'.

--
Cheers
spi



Re: convert mdbox to maildir

2022-08-14 Thread spi



Am 14.08.22 um 13:05 schrieb Peter:

but most people will be fine with Maildir.


I had to switch from Maildir to something else and chose sdbox (one file
per mail) and don't remember exactly what issues I had with Maildir but
I think it was somehow IMAP keywords related like moving mails from one
mailbox to another reset their keywords.

--
Cheers
spi



Re: pre-define or alter list of IMAP keywords

2022-08-11 Thread spi


Am 11.08.22 um 12:42 schrieb Jochen Bern:

On 11.08.22 12:22, spi wrote:

What would happen if the list is full and the user needs to change a
keyword?


The maximum limit is pretty large, so it's unlikely you end up with
that many keywords.


Hm, that scares me as after some time users get hit by dozens of
keywords, most of them not in use anymore. That's what happened to me
and that's why I started this discussion.

I understand that the mail client needs to support the definition of
(user) keywords, but it seems to me that there needs to be some 'garbage
collection' process on dovecot to clean up keywords.


(My first thought was "how many users may there be who flag incoming
e-mails with the due date for the request contained in them, rather
than using a separate calendar or to-do-list application?" ...)

Regards
--
Jochen Bern
Systemingenieur

Binect GmbH

It has nothing to do with due dates. Currently the users use 4 user
keywords and the RFC defined ones (like seen or flagged). Although this
list is pretty short recently I got a list of around 30 keywords
presented - just because dovecot collected them over time and reported
them back to the mail client.

--
Cheers
spi


Re: pre-define or alter list of IMAP keywords

2022-08-11 Thread spi



Am 11.08.22 um 11:15 schrieb Aki Tuomi:

The reason for this is that keywords cannot be currently deleted, and
they do not become deleted when nothing uses them.

If you ever use a keyword for a specific mailbox it stays there until you 
delete the mailbox (or the indexes).

Aki


Ok, that explains what I figured out. Is this behavior intended? I could
imagine there is a limit of keywords the IMAP server may respond with
after a select mailbox.

What would happen if the list is full and the user needs to change a
keyword?

Is it safe then to delete the index files on sdbox from time to time?

Is there any way you might think of to get the response overwritten? so
no matter what is in the index file the server responds with "a b c"?


--
Cheers
spi

The maximum limit is pretty large, so it's unlikely you end up with that many 
keywords.

It's not safe to delete index files from sdbox, it will reset e.g. unseen flags 
making the mailbox seem like no emails have been read yet.

Aki



Hm, that scares me as after some time users get hit by dozens of
keywords, most of them not in use anymore. That's what happened to me
and that's why I started this discussion.

I understand that the mail client needs to support the definition of
(user) keywords, but it seems to me that there needs to be some 'garbage
collection' process on dovecot to clean up keywords. BTW - how about
other mailbox formats - do they have same issues about collecting keywords?

I am stuck now with that issue. Even tried to alter the IMAP server
response on my IMAP reverse proxy.

Is there anything else you could think of and recommend to solve that
issue? Like rebuilding still existent index files or like I already
asked rewrite the IMAP response?

--
Cheers
spi



Re: pre-define or alter list of IMAP keywords

2022-08-11 Thread spi



Am 11.08.22 um 10:55 schrieb Aki Tuomi:

Currently there are some mails in my inbox.
'doveadm -f flow -v fetch -u spi 'flags uid' mailbox Inbox' shows
flags=\Seen uid=3
  flags=\Seen $Forwarded uid=4
  flags=\Seen NonJunk 3_warten uid=5
  flags=\Seen NonJunk uid=6
  flags=\Seen NonJunk uid=7
  flags=\Seen NonJunk uid=8
  flags=\Seen uid=9
  flags=\Seen NonJunk uid=10
  flags=\Seen NonJunk uid=11
  flags=\Seen NonJunk uid=12
  flags=\Seen NonJunk uid=13
  flags=\Seen NonJunk uid=14
  flags=\Seen NonJunk uid=15
  flags=\Answered \Seen uid=18
  flags=\Seen uid=28
  flags=\Seen uid=29
  flags=\Seen NonJunk 3_warten uid=102


My client receives from dovecot the following list:
b select inbox
  * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $Forwarded 3_warten 
1_aktuell 2_projekt 4_irgendwann)
  * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk 
$Forwarded 3_warten 1_aktuell 2_projekt 4_irgendwann \*)] Flags permitted.


Please seaa for the [1-4]_.* keywords - only 3_warten is used in the inbox, but 
dovecot sends more. I had even a longer list, that's why I deleted the index 
files.
To deal with that there are two options - a fixed list on the client with the 
disadvantage of missing new keywords.
A defined list on the server - with the downside of the user being unable to 
add new keywords.
So I thing both are somehow needed - a current list sent by dovecot and 
pre-defined list omm the client.


--
Cheers
spi

The reason for this is that keywords cannot be currently deleted, and they do 
not become deleted when nothing uses them.

If you ever use a keyword for a specific mailbox it stays there until you 
delete the mailbox (or the indexes).

Aki



Ok, that explains what I figured out. Is this behavior intended? I could
imagine there is a limit of keywords the IMAP server may respond with
after a select mailbox.

What would happen if the list is full and the user needs to change a
keyword?

Is it safe then to delete the index files on sdbox from time to time?

Is there any way you might think of to get the response overwritten? so
no matter what is in the index file the server responds with "a b c"?


--
Cheers
spi



Re: pre-define or alter list of IMAP keywords

2022-08-11 Thread spi


Am 11.08.22 um 10:03 schrieb Aki Tuomi:



Maybe you should consider fixing this issue in FairMail instead? There is no 
supported way to manage keywords at this moment. Modifying the actual IMAP 
responses is very hard.

Aki


Am trying... But still there is the issue with the difference of keywords 
actually used in the mails and the ones in the index file. I had to delete the 
index files to reset that list - and I don't like deleting the index files on 
sdbox.
Is there a way to fix or circumvent that?


Can you show examples of this? All clients should only use the ones provided 
over IMAP connection, not what the index files contain.

Aki



Currently there are some mails in my inbox.

'doveadm -f flow -v fetch -u spi 'flags uid' mailbox Inbox' shows

flags=\Seen uid=3
flags=\Seen $Forwarded uid=4
flags=\Seen NonJunk 3_warten uid=5
flags=\Seen NonJunk uid=6
flags=\Seen NonJunk uid=7
flags=\Seen NonJunk uid=8
flags=\Seen uid=9
flags=\Seen NonJunk uid=10
flags=\Seen NonJunk uid=11
flags=\Seen NonJunk uid=12
flags=\Seen NonJunk uid=13
flags=\Seen NonJunk uid=14
flags=\Seen NonJunk uid=15
flags=\Answered \Seen uid=18
flags=\Seen uid=28
flags=\Seen uid=29
flags=\Seen NonJunk 3_warten uid=102


My client receives from dovecot the following list:

b select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $Forwarded
3_warten 1_aktuell 2_projekt 4_irgendwann)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk
$Forwarded 3_warten 1_aktuell 2_projekt 4_irgendwann \*)] Flags permitted.


Please seaa for the [1-4]_.* keywords - only 3_warten is used in the
inbox, but dovecot sends more. I had even a longer list, that's why I
deleted the index files.

To deal with that there are two options - a fixed list on the client
with the disadvantage of missing new keywords.

A defined list on the server - with the downside of the user being
unable to add new keywords.

So I thing both are somehow needed - a current list sent by dovecot and
pre-defined list omm the client.

--
Cheers
spi


Re: pre-define or alter list of IMAP keywords

2022-08-11 Thread spi


Am 11.08.22 um 09:29 schrieb Aki Tuomi:


Maybe you should consider fixing this issue in FairMail instead? There is no 
supported way to manage keywords at this moment. Modifying the actual IMAP 
responses is very hard.

Aki



Am trying... But still there is the issue with the difference of
keywords actually used in the mails and the ones in the index file. I
had to delete the index files to reset that list - and I don't like
deleting the index files on sdbox.

Is there a way to fix or circumvent that?

--
Cheers
spi


Re: pre-define or alter list of IMAP keywords

2022-08-11 Thread spi

Am 08.08.22 um 11:57 schrieb spi:


I am using Dovecot 2.3.4.1 with sdbox and mostly Thunderbird on Linux
and FairEmail on Android as IMAP clients.

I use a defined set of IMAP keywords to allow different users to mark
and filter their mails based on keywords. That works pretty well but I
stumble across an issue from time to time:

In TB I can pre-define a list of keywords which the user can choose
one from.

FairEmail shows all those keywords Dovecot presents - there is nothing
like the list in TB.

Issue 1: If there are no mails flagged in a folder, Dovecot doesn't
present any keywords and therefore FairEmail shows none - the user has
to remember and type in the correct keyword.

Issue 2: After some time FairEmail shows a huge list of keywords for
the INBOX, even keywords not in use for quite some time. To get rid of
these keywords I deleted the index files on Dovecot (which with sdbox
are not meant to be deleted?). It seems, Dovecot caches the keywords
in the index files.


Question:

1) Is there a way on Dovecot to define a list of keywords Dovecot
presents to the IMAP clients?

2) If not, is there a nicer way to clean the keyword lists from old
entries not assigned to any mail in that folder?


I couldn't find any way to pre-define the list of keywords in dovecot so
far. The issue here seems also, that dovecot sends a list of keywords
after a 'select mailbox' based on what it finds in the index file. And
in my case sometimes the keyword list in the index file differs from the
keywords set in the respective mailbox' mails.

If there is no way to alter this list of keywords - is there any API or
script interface (like lua) with which one could alter the IMAP
responses dovecot is sending? For a selcet inbox the server answers with
FLAGS and PERMANENTFLAGS - might there be a way to alter the
PREMANENTFLAGS response?

Example:

b select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)]
Flags permitted.

--
Cheers
spi



Re: Submission Service Copy To Sent

2022-08-09 Thread spi



Am 09.08.22 um 18:56 schrieb Asai:

Greetings,

We've had a longstanding problem with emails not being copied to the
Sent folder that seems to be a bug with various email clients
(Thunderbird, TypeApp.)

I know that Dovecot has the option to use the Submission service to
copy emails to Sent without using SMTP to do this.

Would this solve the problem we've seen over the years of emails not
being copied to the Sent folder on various clients under certain
(unknown) conditions?



I had the same issue some time ago, If I remember right, with submission
the IMAP client needs to support some additional IMAP features which
most clients currently don't do.

I did it the other way round - my clients send mails by smtp and a
postfix milter script catches the mail on the mail server and copies it
locally to the user's IMAP mailbox - the clients don't upload any sent
mails by IMAP anymore.

Am using mailfromd as milter: https://puszcza.gnu.org.ua/software/mailfromd/

--
Cheers
spi



pre-define or alter list of IMAP keywords

2022-08-08 Thread spi

I am using Dovecot 2.3.4.1 with sdbox and mostly Thunderbird on Linux
and FairEmail on Android as IMAP clients.

I use a defined set of IMAP keywords to allow different users to mark
and filter their mails based on keywords. That works pretty well but I
stumble across an issue from time to time:

In TB I can pre-define a list of keywords which the user can choose one
from.

FairEmail shows all those keywords Dovecot presents - there is nothing
like the list in TB.

Issue 1: If there are no mails flagged in a folder, Dovecot doesn't
present any keywords and therefore FairEmail shows none - the user has
to remember and type in the correct keyword.

Issue 2: After some time FairEmail shows a huge list of keywords for the
INBOX, even keywords not in use for quite some time. To get rid of these
keywords I deleted the index files on Dovecot (which with sdbox are not
meant to be deleted?). It seems, Dovecot caches the keywords in the
index files.


Question:

1) Is there a way on Dovecot to define a list of keywords Dovecot
presents to the IMAP clients?

2) If not, is there a nicer way to clean the keyword lists from old
entries not assigned to any mail in that folder?

--
Cheers
spi