- IP addresses are used for DNSBL queries, only query each unique IP address once per DNSBL provider
- add support for MXs with IPv6 addresses
fixes#1335
- add support for looking up IPv6 addresses (socket.getaddrinfo)
- add support for International Domain Names in case the DNS reponse contains one, to_unicode() decodes them to a utf8 string
- add logging for potential configuration errors:
- DNS configuration errors (i.e. no MX records)
- server name resolution errors (i.e. resolv.conf doesn't contain a working name server)
- invalid values in MX records
- when looking up an ip address, don't stop on the first failure check all addresses
- update mock results for tests, return a real MX record for mock dns queries
Django automatically renames test databases to 'test_%s' % settings.DATABASES[*]["NAME"], so modoboa_test became test_modoboa_test. There's no point creating the database in `before script` as the test suite creates it.
https://docs.djangoproject.com/en/1.11/topics/testing/advanced/#django.db.connection.creation.create_test_db
- target oldest currently supported database servers, travis currently defaults to PostgreSQL 9.2 which isn't supported anymore.
- move database dependencies out of travis.yml into test_requirements.txt and pin to minimum versions recommended by django.
See https://docs.djangoproject.com/en/1.11/ref/databases/
- use MySQL root user for tests, we already use the root user (postgres) for PostgreSQL.
- fix typo in modoboa/test_settings for DB variable, default should be POSTGRESQL not POSTGRES
- enable MySQL strict mode (on by default on MySQL >= 5.7)
See https://docs.djangoproject.com/en/1.11/ref/databases/#mysql-sql-mode
This is a refactor of moboboa.lib.email_utils.Email, currently it has
trouble parsing messages containing certain attachment types.
For html messages inline images are now base64 encoded and embedded into
the <img> tag rather than being saved to disk.
This only effects modoboa-amavis as modoboa-webmail implements it's own
parser for e-mails as they are retrieved differently using IMAP.
This adds a new external dependency on lxml.
* add option to e-mail errors to ADMINS
Set ADMINS to a list of all the people who get code error notifications.
When DEBUG=False Django emails these people the details of exceptions
raised in the request/response cycle.
* don't choke if settings.py contains utf8 characters
- updated django urls to point to the current version
- renamed MIDDLEWARE_CLASSES to MIDDLEWARE, MIDDLEWARE_CLASSES is depreciated in django >= 1.10
- whitespace and #noqa fixes
- MIDDLEWARE_CLASSES is replaced by MIDDLEWARE
- add MiddlewareMixin to modoboa middlewares
- on_delete will become a required parameter for ForeignKey()
set it to the current default CASCADE
- on_delete will become a required parameter for OneToOneField()
set it to the current default CASCADE
- reverse and reverse_lazy have moved to django.urls
- RadioChoiceInput widget has been removed, replace with HorizontalRadioSelect
conditional_escape is used to prevent double escaping, ImapEmail.viewmail_plain()
in modoboa-webmail overrides this method and escapes content before calling
Email.viewmail_plain(), SQLemail in modoboa-amavis doesn't and can potentially
allow harmful html to be displayed.
* Create rebuild_virtual_env.rst
After upgrading to Ubuntu 17.10 my virtualenv was trashed. I rebuilt it using instructions on pythonanywhere.com but felt that the modoboa documentation should have a file for rebuilding the instance.
* Add rebuild virtual environment documentation
Generic transport editor.
see #1301
* Fixed unit test.
* Added unit tests.
* Fixed unit test.
* Added transport module to test list.
* Moved relay transport backend to appropriate app.
see #1301
* Added missing file.