Mail methods refactor
Mail methods refactor
Mail method should be refactored so that:
- We avoid duplicated code in mailAccount/mailGroup/sympaAliasPartage
- We avoid connecting to the mail server when it’s not needed
- Even lazily load quota info to speed-up account edition?
- Support correctly server change (partly done)
- Maybe improve server change with the same method?
- Hide non-supported fields (or check that this is the case already)
Activity
- Côme Chilliet changed milestone to %FusionDirectory 1.4
changed milestone to %FusionDirectory 1.4
- Côme Chilliet added PJ1802-0188 label
added PJ1802-0188 label
- Côme Chilliet marked this issue as related to #6089 (closed)
marked this issue as related to #6089 (closed)
- Côme Chilliet added plugin-mail label
added plugin-mail label
- Côme Chilliet mentioned in commit 2fefbd8f
mentioned in commit 2fefbd8f
- Côme Chilliet mentioned in commit c0c2c5c0
mentioned in commit c0c2c5c0
- Côme Chilliet mentioned in commit ff539731
mentioned in commit ff539731
- Côme Chilliet mentioned in commit 8de54329
mentioned in commit 8de54329
- Author Reporter
Current mail plugin settings:
- Account identification attribute (Which attribute will be used to create accounts.) - fdMailAttribute - mail or uid
- User account template (Override the user account creation syntax. Default is %PREFIX%%UATTRIB%.) - fdMailUserCreation
- Group account template (Override the group account creation syntax. Default is %PREFIX%%UATTRIB%) - fdMailFolderCreation
- Delete mailbox on account deletion (Determines if the mailbox should be removed from your IMAP server after the account is deleted in LDAP.) - fdCyrusDeleteMailbox
- IMAP timeout (Sets the connection timeout for imap actions.) - fdImapTimeout
- Shared prefix (Prefix to add for mail shared folders.) - fdMailSharedPrefix
fdMailAttribute/fdMailUserCreation/fdMailFolderCreation are used by dovecot and cyrus methods to build the account id. The problem is that you cannot set a different value for cyrus and dovecot, and if you have several servers you cannot set different values for each. Also maybe it should be fixed depending if cyrus/dovecot impose a syntax or not. For Renater account id is always mail. For Zimbra it is mail or whatever is put in fdZimbraServerIdAttribute in zimbra service options.
fdCyrusDeleteMailbox is only used by cyrus. Dovecot plugin do not remove mailboxes (at least not through IMAP). Renater and Zimbra have their own setting in their service.
fdImapTimeout is used by dovecot and cyrus.
fdMailSharedPrefix is actually not used in the code.
Edited by Côme Chilliet - Côme Chilliet mentioned in commit 6255767a
mentioned in commit 6255767a
- Côme Chilliet mentioned in commit e9da4fa8
mentioned in commit e9da4fa8
- Côme Chilliet mentioned in commit 501fd690
mentioned in commit 501fd690
- Author Reporter
We should move everything to the email services. We should double check that dovecot and cyrus really need such complicated settings (most likely dovecot do not, and cyrus can use something a bit more direct).
- Côme Chilliet mentioned in commit 82974fe1
mentioned in commit 82974fe1
- Côme Chilliet mentioned in commit 94adffff
mentioned in commit 94adffff
- Côme Chilliet mentioned in commit f282b411
mentioned in commit f282b411
- Côme Chilliet added 2h of time spent at 2021-04-06
added 2h of time spent at 2021-04-06
- bmortier mentioned in issue #6102 (closed)
mentioned in issue #6102 (closed)
- bmortier marked this issue as related to #6102 (closed)
marked this issue as related to #6102 (closed)
- Author Reporter
Since #2456 (comment 24277) dovecot checks for a mailMethodDisabled which if TRUE forbids IMAP connection (mainly to get quota, and trigger automagic creation of account).
This was never added to interface/schema and thus is only settable in the configuration file.
I think we should remove this setting. Dovecot service already have a toggle for argonaut usage (to create mailbox folder on disk). If someone do not want any IMAP connection he should not use dovecot plugin.
- Côme Chilliet mentioned in commit 787a892f
mentioned in commit 787a892f
- Côme Chilliet mentioned in commit 08bb2cf6
mentioned in commit 08bb2cf6
- Côme Chilliet mentioned in commit 78bd52cc
mentioned in commit 78bd52cc
- Côme Chilliet mentioned in commit 722aae71
mentioned in commit 722aae71
- Côme Chilliet mentioned in commit 938dacf1
mentioned in commit 938dacf1
- Côme Chilliet mentioned in commit 302eeace
mentioned in commit 302eeace
- Côme Chilliet mentioned in commit 4e84c797
mentioned in commit 4e84c797
- Côme Chilliet mentioned in commit ecf42003
mentioned in commit ecf42003
- Côme Chilliet mentioned in commit c1e3159e
mentioned in commit c1e3159e
- Côme Chilliet mentioned in commit 39b8925f
mentioned in commit 39b8925f
- Côme Chilliet mentioned in commit 47f8bf75
mentioned in commit 47f8bf75
- Côme Chilliet mentioned in commit 00383fe9
mentioned in commit 00383fe9
- Côme Chilliet mentioned in commit 5e3bd435
mentioned in commit 5e3bd435
- Côme Chilliet mentioned in commit 95648921
mentioned in commit 95648921
- Côme Chilliet mentioned in commit 8786fbfb
mentioned in commit 8786fbfb
- Côme Chilliet mentioned in commit e3343f3f
mentioned in commit e3343f3f
- Côme Chilliet mentioned in commit 2ce7e9bf
mentioned in commit 2ce7e9bf
- Côme Chilliet mentioned in commit 36961bcd
mentioned in commit 36961bcd
- Côme Chilliet mentioned in commit d3c63c28
mentioned in commit d3c63c28
- Côme Chilliet mentioned in commit 40efe13f
mentioned in commit 40efe13f
- Côme Chilliet mentioned in commit fa43a717
mentioned in commit fa43a717
- Côme Chilliet mentioned in commit 48d20f93
mentioned in commit 48d20f93
- Côme Chilliet mentioned in commit a382173f
mentioned in commit a382173f
- Côme Chilliet mentioned in commit 694c7cba
mentioned in commit 694c7cba
- Côme Chilliet mentioned in commit 60671d1f
mentioned in commit 60671d1f
- Côme Chilliet mentioned in commit 580c0fa5
mentioned in commit 580c0fa5
- Côme Chilliet mentioned in commit 25279528
mentioned in commit 25279528
- Côme Chilliet mentioned in commit 37265f28
mentioned in commit 37265f28