Skip to content

Conversation

@szotsaki
Copy link

Extended the documentation with smaller fixes and added some examples that were hard to come by.

Additionally, added caveats where the implementation doesn't support something in order for other users not to debug it again.

Beware that `*` will not match any mailbox that already has a more
specialized match!

Currently, `*` doesn't match INBOX.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can debug that further in the mailing list why you're seeing that, but this definitely is not generally true, so can't include it in documentation.

saving via Virtual/All folder.

::: warning
Currently, imapsieve scripts that are defined within a virtual mailbox are not being called.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this just restating what the text above is trying to say? "When saving to a virtual mailbox is configured, imapsieve scripts act as if the save was done directly to the physical destination mailbox". Maybe it could be further clarified, but now this sounds like a separate issue, while I think it's the same. I.e. Sieve scripts work only on physical mailboxes, not virtual mailboxes.

Comment on lines +359 to +392
group @namespaces-virtual english {
namespace virtual {
prefix = virtual/
mail_driver = virtual
mail_path = /var/lib/dovecot/virtual/en
mail_index_path = %{home}/index/virtual/en
mailbox All {
auto = no
special_use = \All
}
mailbox Flagged {
auto = no
special_use = \Flagged
}
}
}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is something wrong in group handling here, but if it is documented, it needs to be clearer what is wrong. This is both a too specific example of what doesn't work, and also at the same time it's too wide, like I don't think the mailbox { .. } are relevant. I'll see if I can understand what is going wrong there.

```

::: warning
Currently, indices are not created for namespaces that are defined within groups.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the same bug as above. Something's not working right in group handling.

does not need to be added to the [[setting,sieve_extensions]] setting.

Additional information about using the plugin with virtual mailboxes can be
found at [[link,imapsieve-filters,virtual mailbox plugin]].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[vitepress] Dovecot link missing: imapsieve-filters

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not really familiar with Vitepress builds. I'd like to link to IMAPSieve Filters page. What would be the correct link in this case?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you need to add a link anchor there first, see other pages for examples

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I modified the source. I don't see the CI failing with its check but github interface is bit ambiguous when these checks should run.

Comment on lines 354 to 356
Within one group it's not possible to enumerate different kind of settings, like
`prefix`, `separator`, and multiple `mailboxes`. For these cases, include the
hierarchy one above, like `namespace`. For example:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I definitely saw that namespace elements within a group (like prefix, separator, etc., except for mailbox) are not allowed.

Is my generalisation correct that mixing elements is not supported, or is it supported but some elements are excluded from this support?

@cmouse
Copy link
Contributor

cmouse commented Nov 9, 2025

needs local rebase

@szotsaki
Copy link
Author

Rebase is done

problems that are reported by the Sieve plugin, for example by tracing
the execution and evaluation of commands and tests respectively.

The tool does not parse the userdb database. If virtual users have different
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • "The tool does not perform a userdb lookup." is a more correct way of saying this.
  • "If users have ..." - there's no need to say "virtual" since the same applies to system users as well.

**-t** *start date*
: Skip any mails whose received-timestamp is older than the specified time.
The format follows IMAP4rev1 standard format, e.g. "13-Apr-2007 14:23:05
+0200"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only partially true. Better would be to add a reference to the full syntax possibilities: For the timestamp format, see the DATE SPECIFICATION in [[man,doveadm-search-query,,7]].

Script storages for administrator scripts are defined in
[[setting,sieve_script]] blocks with [[setting,sieve_script_type]]
[[link,sieve_storage_type_before,before]] or
[[link,sieve_storage_type_before,before]] or
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unnecessary whitespace change?


```[dovecot.conf]
namespace {
namespace virtual {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there are a ton of these missing. Fixing them all in #1376

auto = no
special_use = \All
}
[...]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think better not include [...] since there's not necessarily any additional configs, and makes copypasting more difficult.

Beware that `*` will not match any mailbox that already has a more
specialized match!

Currently, `*` doesn't match INBOX.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can debug that further in the mailing list why you're seeing that, but this definitely is not generally true, so can't include it in documentation.

Comment on lines +359 to +392
group @namespaces-virtual english {
namespace virtual {
prefix = virtual/
mail_driver = virtual
mail_path = /var/lib/dovecot/virtual/en
mail_index_path = %{home}/index/virtual/en
mailbox All {
auto = no
special_use = \All
}
mailbox Flagged {
auto = no
special_use = \Flagged
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is something wrong in group handling here, but if it is documented, it needs to be clearer what is wrong. This is both a too specific example of what doesn't work, and also at the same time it's too wide, like I don't think the mailbox { .. } are relevant. I'll see if I can understand what is going wrong there.

```

::: warning
Currently, indices are not created for namespaces that are defined within groups.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the same bug as above. Something's not working right in group handling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants