mailcow / mailcow-dockerized

mailcow: dockerized - 🐮 + 🐋 = 💕
https://mailcow.email
GNU General Public License v3.0
8.25k stars 1.12k forks source link

Add additional fields in existing tables, add additional tables and Integrating the additional fields in mailcow webadmin for mailbox #5890

Open enriluis opened 1 month ago

enriluis commented 1 month ago

Summary

Let me make some introductions, please. I’m planning to migrate my mail server, which I’ve set up manually (using Postfix, Dovecot, Mailscanner, Snappymail webmail, MySQL, Postfixadmin, etc.). My current setup is maintained and up-to-date. I’m looking for similar custom configurations, if possible, to evaluate my potential migration. In Postfixadmin, I had added a custom table and fields to the user database, called “restriction”. This table had the following fields: Local, National, Custom, and International and These restrictive rules work as follows behind in postfix.... smtpd_restriction_classes = National, International, Local, Others National= check_recipient_access regexp:/etc/postfix/rules/National, reject International= check_sender_access regexp:/etc/postfix/rules/International, reject Local = check_recipient_access regexp:/etc/postfix/rules/Local , reject Others = check_recipient_access regexp:/etc/postfix/rules/Others, reject As you know, in the SMTP phases, the smtpd_recipient_restrictions and smtpd_sender_restrictions are used to apply restrictions. I can make this statically in Mailcow, but the goal is to have the ability to manage this through the web admin page and delegate actions to the support team without touching files and configuration. The million-dollar question is: Can you add custom fields to the database and have them appear on the web page? Or can you call them by label, tag, custom attribute, or anything else? This is crucial because you want to group users by departments and use these custom fields to apply rules, such as message size restrictions, where some users can send messages up to 5 MB, while others can send up to 10 or 20 MB. You want to be able to control all of this using these custom characteristics. In postfixadmin i can add custom field to the database and the web this will be really nice if i can do same here. like https://sourceforge.net/p/postfixadmin/wiki/Custom_fields/

Motivation

The ability to add custom fields to the user database and have them accessible through the web admin interface is a crucial feature for many email server administrators. This allows for greater flexibility and control over user-specific settings and restrictions.

In your specific case, the custom "restriction" table with fields like Local, National, Custom, and International provides a way to easily apply different email sending/receiving rules based on the user's location or other factors. For example:

This level of granular control over user permissions and restrictions is valuable for organizations with diverse email usage requirements or specific compliance needs. It allows the admin to delegate management of these rules to the support team without needing to directly edit configuration files or made complex tasks

Being able to add and manage these custom fields through the web interface, rather than having to modify underlying database structures, makes the process much more user-friendly and efficient for the admin team. This is an important consideration when evaluating a migration to a new email server platform.

Additional context

No response