mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Added doc and improved serializer
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
modoboa-dmarc
|
||||
=============
|
||||
|
||||
.. _dmarcdoc:
|
||||
|
||||
A set of tools to use DMARC through Modoboa.
|
||||
|
||||
This feature is still in BETA stage, for now it only parses XML aggregated
|
||||
reports and generate visual reports (using c3.js) on a per-domain basis.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
.. note::
|
||||
modoboa-installer can automatically set it up for you.
|
||||
|
||||
Make sure to install the following additional system package according to your distribution:
|
||||
|
||||
+-----------------+
|
||||
| Debian / Ubuntu |
|
||||
+=================+
|
||||
| libmagic1 |
|
||||
+-----------------+
|
||||
|
||||
+------------+
|
||||
| CentOS |
|
||||
+============+
|
||||
| file-devel |
|
||||
+------------+
|
||||
|
||||
|
||||
Integration with Postfix
|
||||
------------------------
|
||||
|
||||
A management command is provided to automatically parse DMARC
|
||||
aggregated reports (rua) and feed the database. The execution of this
|
||||
command can be automated with the definition of a postfix service and
|
||||
a custom transport table.
|
||||
|
||||
First, declare a new service in ``/etc/postfix/master.cf``::
|
||||
|
||||
dmarc-rua-parser unix - n n - - pipe
|
||||
flags= user=vmail:vmail argv=<path to python> <path to modoboa instance>/manage.py import_aggregated_report --pipe
|
||||
|
||||
Define a new transport table inside ``/etc/postfix/main.cf``::
|
||||
|
||||
transport_maps =
|
||||
hash:/etc/postfix/dmarc_transport
|
||||
# other transport maps...
|
||||
|
||||
Create a file called ``/etc/postfix/dmarc_transport`` with the following content::
|
||||
|
||||
<email address your declared in your DNS record> dmarc-rua-parser:
|
||||
|
||||
.. note::
|
||||
You must not declare this email address as an identity (user account or alias), else DMARC reports will be directed to your mailbox and won't be parsed.
|
||||
|
||||
Hash the file using the following command::
|
||||
|
||||
$ postmap /etc/postfix/dmarc_transport
|
||||
|
||||
Finally, reload postfix::
|
||||
|
||||
$ service postfix reload
|
||||
@@ -0,0 +1,14 @@
|
||||
PDF credentials for Modoboa
|
||||
===========================
|
||||
|
||||
.. _pdfc:
|
||||
|
||||
A simple `Modoboa <http://modoboa.org/>`_ extension which provides a
|
||||
way to download PDF documents containing users credentials.
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
All the configuration is done from the admin panel (*Modoboa >
|
||||
Parameters > PDF Credentials*).
|
||||
+21
-9
@@ -16,7 +16,27 @@ Modoboa is a mail hosting and management platform including a modern
|
||||
and simplified Web User Interface designed to work with `Postfix
|
||||
<http://www.postfix.org>`_ and `Dovecot <http://www.dovecot.org>`_.
|
||||
|
||||
It is extensible by nature and comes with a lot of additional extensions:
|
||||
|
||||
It provides built-in features by default :
|
||||
|
||||
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|Name |Description |Documentation |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
+=========================================================+=========================+======================================================+
|
||||
|modoboa-dmarc |A set of tools to use |:ref:`modoboa_dmarc Documentation <dmarcdoc>` |
|
||||
| |`DMARC | |
|
||||
| |<https://dmarc.org>`_ | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|modoboa-pdfcredentials |Generate PDF documents |:ref:`modoboa_pdfcredentials Documentation <pdfc>` |
|
||||
| |containing account | |
|
||||
| |credentials | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|
||||
|
||||
And it is extensible by nature and comes with a lot of additional extensions:
|
||||
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|Name |Description |Documentation |
|
||||
@@ -29,18 +49,10 @@ It is extensible by nature and comes with a lot of additional extensions:
|
||||
| | | |
|
||||
| | | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|`modoboa-dmarc |A set of tools to use |https://github.com/modoboa/modoboa-dmarc |
|
||||
|<https://github.com/modoboa/modoboa-dmarc>`_ |`DMARC | |
|
||||
| |<https://dmarc.org>`_ | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|`modoboa-imap-migration |Migrate mailboxes from an|https://github.com/modoboa/modoboa-imap-migration |
|
||||
|<https://github.com/modoboa/modoboa-imap-migration>`_ |existing server using | |
|
||||
| |IMAP (and offlineimap) | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|`modoboa-pdfcredentials |Generate PDF documents |https://github.com/modoboa/modoboa-pdfcredentials |
|
||||
|<https://github.com/modoboa/modoboa-pdfcredentials>`_ |containing account | |
|
||||
| |credentials | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|`modoboa-pfxadmin-migrate |A tool to migrate from |https://github.com/modoboa/modoboa-pfxadmin-migrate |
|
||||
|<https://github.com/modoboa/modoboa-pfxadmin-migrate>`_ |Postfixadmin | |
|
||||
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
||||
|
||||
@@ -133,6 +133,7 @@ export default {
|
||||
return params.filter(param => this.display(param))
|
||||
},
|
||||
save () {
|
||||
this.formErrors = {}
|
||||
parameters.saveApplication(this.$route.params.app, this.parameters).then(() => {
|
||||
bus.$emit('notification', { msg: this.$gettext('Parameters updated') })
|
||||
}).catch(error => {
|
||||
|
||||
@@ -42,6 +42,19 @@ class PDFCredentialsSettingsSerializer(serializers.Serializer):
|
||||
imap_connection_security = serializers.ChoiceField(
|
||||
choices=CONNECTION_SECURITY_MODES, default="starttls")
|
||||
|
||||
def validate_storage_dir(self, value):
|
||||
"""Check that directory exists."""
|
||||
if value:
|
||||
if not os.path.isdir(value):
|
||||
raise serializers.ValidationError(
|
||||
_("Directory not found.")
|
||||
)
|
||||
if not os.access(value, os.W_OK):
|
||||
raise serializers.ValidationError(
|
||||
_("Directory is not writable")
|
||||
)
|
||||
return value
|
||||
|
||||
|
||||
class GetAccountCredentialsSerializer(serializers.Serializer):
|
||||
"""A serializer for get account credential view."""
|
||||
|
||||
Reference in New Issue
Block a user