705 Commits (cd9992f79cbc399b30e713e9bea5ed98f4371227)

Author SHA1 Message Date
hoellen a59d5dad23 fix edit of fetched acc without changing password 6 years ago
hoellen f08491dc46 fix forced password on user edit 6 years ago
Ionut Filip 2b0a2d561b Fix connection to mysql db 6 years ago
Dario Ernst 291f8a457b Deliver mails to alias-stripped-of-delimeter, even if catchall exists
This fixes delivery to an alias minus recipient delimiter in cases where a
wildcard alias would also match. For example,
* foo@xxx.tld
* %@xxx.tld
Sending to foo+spam@xxx.tld would get eaten by the catchall before this fix.
Now, the order of alias resolution is made clearer.

closes #813
6 years ago
hoellen 732b5fe161 change password field type in fetch creation/edit and add validators. 6 years ago
mergify[bot] 4204facd85
Merge pull request #810 from usrpro/feat-logging
Implement some degree of logging
6 years ago
Tim Möhlmann 049ca9941f
Cleanup syntax and fix typo 6 years ago
Tim Möhlmann 0ac3cf9617
Don't recursivly chown on mailboxes.
This fixes #776.
Recursion is not needed, as the permissions will only need to be set on the first invocation.
6 years ago
Tim Möhlmann 71cda7983e
Merge branch 'master' into feat-logging 6 years ago
Tim Möhlmann 7d01bb2a4d
LOG_LEVEL docs and changelog entry 6 years ago
Tim Möhlmann b04a9d1c28
Implement debug logging for template rendering 6 years ago
Tim Möhlmann b9313488dd
Add logging for tenacity.retry
In the process we found that the previous way of tenacity syntax caused it not to honor any args.
In this commit we've refactored to use the @decorator syntax, in which tenacity seems to behave better.
6 years ago
mergify[bot] 3b5f3af207
Merge pull request #778 from Nebukadneza/fix_recipient_delimiter
Attempt stripping recipient delimiter from localpart
6 years ago
Ionut Filip 9077bf7313 Merge remote-tracking branch 'upstream/master' into feat-psql-support 6 years ago
Tim Möhlmann 5636e7f5a7
Remove to avoid matching webroot 6 years ago
Ionut Filip 953aa04354 Added postgresql-libs to admin 6 years ago
Tim Möhlmann 561e2fda67
Merge remote-tracking branch 'upstream/master' into fix-favicon 6 years ago
hoellen 501ecf13c1 add migration script 6 years ago
Tim Möhlmann a358b5305f
Merge pull request #797 from Mailu/upgrade-pyyaml
Upgrade PyYAML
6 years ago
Tim Möhlmann 4f93e09028
Implement favicon package
Credit to:
- https://stackoverflow.com/a/19590415/1816774
- https://realfavicongenerator.net/
6 years ago
Tim Möhlmann 284d54190a
Upgrade PyYAML to 4.2b4 6 years ago
hoellen dda64fe91e allow to disable aliases or users for domains and don't allow negativ values on domain creation/edit 6 years ago
hoellen 8fe1e788b3 add missing route fixes 6 years ago
Tim Möhlmann 3c7bf58211
Upgrade PyYAML
CVE-2017-18342
Vulnerable versions: < 4.2b1
Patched version: 4.2b1
In PyYAML before 4.1, the yaml.load() API could execute arbitrary code. In other words, yaml.safe_load is not used.
6 years ago
hoellen d5d4d6c337 harden email address validation and fix routes with user_email 6 years ago
Ionut Filip 01ec6e7bf3 Removed undefined function 6 years ago
mergify[bot] d483ef3c2a
Merge pull request #792 from hoellen/admin-broken-links-1
fix broken webmail and logo url in admin
6 years ago
Tim Möhlmann 74fe177297
Merge pull request #785 from TheLegend875/feat-displayed-name
Feature: send auto reply with displayed name
6 years ago
hoellen f617e82c06 fix broken webmail and logo url in admin 6 years ago
Tim Möhlmann 4068c5b751
Versioning for mysqlclient and psycopg2 6 years ago
Tim Möhlmann b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support 6 years ago
Tim Möhlmann 9eaeb80a27
Finalize merge with kaiyou/feat-multiple-db 6 years ago
TheLegend875 999d2a9557 changed default.sieve to send displayed name 6 years ago
TheLegend875 2954d84790 added necessary ui elements 6 years ago
TheLegend875 56f4d4c894 fixed auto-forward 6 years ago
TheLegend875 5bdbbf60d7 fixed display of username when not logged in 6 years ago
Dario Ernst c2d45a47fe Attempt stripping recipient delimiter from localpart
Since postfix now asks us for the complete email over podop, which
includes the recipient-delimiter-and-what-follows not stripped, we need
to attempt to find both the verbatim localpart, as well as the localpart
stripped of the delimited part ….

Fixes #755
6 years ago
Tim Möhlmann 19df86f13f
Merge pull request #764 from usrpro/fix-alias-bug
Added regex validation for alias username
6 years ago
Tim Möhlmann 3a5b763018
Option to disable full text search (lucene)
This is a workaround for the bug in issue #751
6 years ago
mergify-bot 983c388150 Merge branch 'master' into 'fix-localpart-chars' 6 years ago
mergify-bot 6cfb74e96c Merge branch 'master' into 'fix-localpart-chars' 6 years ago
Tim Möhlmann af086bbdbe
Include DKIM in VOLUME 6 years ago
hoellen c041a9d45c allow all characters for username in dovecot 6 years ago
Tim Möhlmann 24828615cf
Webmail on root, fixes #757 6 years ago
Ionut Filip 8fc2846924 Added regex validation for alias username 6 years ago
Tim Möhlmann 3c4ee1b31e
Merge pull request #743 from kaiyou/master
Fixes #738 regarding application context
6 years ago
ofthesun9 97b3a85090
Merge pull request #737 from hoellen/fix-alias-match-behaviour
fix alias match behaviour
6 years ago
mergify-bot 09a50b6cfc Merge branch 'master' into 'master' 6 years ago
kaiyou 4060ac2223 Remove some forgotten debugging 6 years ago
kaiyou 087841d5b7 Fix the way we handle the application context
The init script was pushing an application context, which maked
flask.g global and persisted across requests. This was evaluated
to have a minimal security impact.

This explains/fixes #738: flask_wtf caches the csrf token in the
application context to have a single token per request, and only
sets the session attribute after the first generation.
6 years ago
kaiyou b5f51b0e2e Update python dependencies 6 years ago
kaiyou 8707b0fcd7 Use a dictionary of db connection string templates 6 years ago
kaiyou 19f18e2240 Lowercase relays as well as other tables 6 years ago
kaiyou 7e388e472a Handle relay name as an Idna domain 6 years ago
kaiyou 871aa14c9a Lowercase every domain name and email 6 years ago
kaiyou 3df9b3962d Add default columns to the configuration table 6 years ago
kaiyou b88f61f183 Name all constraints when creating them
Prefious commit set the constraint names for existing databases.
New databases can now have named constraints from the ground up.
6 years ago
kaiyou b8282b1d46 Support named constraints for multiple backends
Supporting multiple backends requires that specific sqlite
collations are not used, thus lowercase is applied to all non
case-sensitive columns. However, lowercasing the database requires
temporary disabling foreign key constraints, which is not possible
on SQLite and requires we specify the constraint names.

This migration specific to sqlite and postgresql drops every
constraint, whether it is named or not, and recreates all of them
with known names so we can later disable them.
6 years ago
kaiyou e022513a94 Fix support for postgres and mysql 6 years ago
kaiyou a881a1a839 Revert "Make current migrations work with postgresql"
This reverts commit 9b9f3731f6.
6 years ago
kaiyou 76925e82f3 Revert "Implement CIText as NOCASE alternative in postgresql"
This reverts commit 0f3c1b9d15.
6 years ago
kaiyou f52ae5535c Revert "Created function for returning email type"
This reverts commit 436055f02c.
6 years ago
kaiyou f6520eace6 Merge branch 'feat-psql-support' of https://github.com/usrpro/Mailu into usrpro-feat-psql-support 6 years ago
hoellen 8fe9e695f3 prefer non-wildcard aliases over wildcard aliases 6 years ago
Tim Möhlmann c7dcfee882
Merge pull request #713 from pgeorgi/extend-nginx
nginx: Allow extending config with overrides
6 years ago
hoellen 79768c09f6 fix alias matching behaviour 6 years ago
Tim Möhlmann 6ca8ed437d
Merge pull request #732 from Nebukadneza/add_front_certificate_reload
Add certificate watcher for external certs to reload nginx
6 years ago
Dario Ernst 1aa97c9914 Add certificate watcher for external certs to reload nginx
In case of TLS_FLAVOR=[mail,cert], the user supplies their own certificates.
However, since nginx is not aware of changes to these files, it cannot
reload itself e.g. when the certs get renewed.

To solve this, let’s add a small daemon in the place of
`letsencrypt.py`, which uses a flexible file-watching framework and
reloads nginx in the case the certificates change ….
6 years ago
Tim Möhlmann c00910ca4b
Merge remote-tracking branch 'upstream/master' into extend-nginx 6 years ago
Tim Möhlmann 97d338e68a
Rectify 'endif' placement 6 years ago
Tim Möhlmann 425cdd5e77
Fix syntax errors 6 years ago
Tim Möhlmann 20f1faf6d0
Send 404 when nothing server at '/'
Prevents Nginx welcome screen
6 years ago
Tim Möhlmann 2de4995fec
Don't redirect when webmail is served on '/' 6 years ago
Tim Möhlmann f0906073e3
Merge remote-tracking branch 'upstream/master' into feat-subnet2 6 years ago
mergify[bot] a634c7b72d
Merge pull request #725 from usrpro/fix-outlook2019-smtp
Add login method to smtp_auth under ssl
6 years ago
Tim Möhlmann 8172f3eab8
Move the Mailu Docker network to a fixed subnet.
This will make network configuration and host based authentication
more robust, across different deployment platforms.
The options `RELAYNETS` and`POD_ADDRESS_RANGE` are kept for compatibility.
However, their usage have become optional.
6 years ago
kaiyou b6aaf57be1 Merge branch 'refactor-config' of github.com:kaiyou/mailu into refactor-config 6 years ago
kaiyou d0f07984b0 Merge remote-tracking branch 'upstream/master' into refactor-config 6 years ago
Tim Möhlmann 9dd447e23b
Add login method to smtp_auth under ssl
Fixes #704
6 years ago
Patrick Georgi eac4d553a9 nginx: Allow extending config with overrides
To facilitate this, the default redirect at / can be disabled, even if
the default remains at redirecting to the webmailer.

The extensions are within the host scope and are read from
$ROOT/overrides/nginx/*.conf.
6 years ago
mergify[bot] 2d4bac03ad
Merge pull request #723 from usrpro/clean-healthcheck-logs
Admin: Prevent redirects during health checking
6 years ago
mergify[bot] a382f74680
Merge pull request #705 from usrpro/fix-recaptcha
Fix recaptcha
6 years ago
mergify[bot] 37027cfce7
Merge pull request #633 from kaiyou/fix-sender-checks
Improve sender checks
6 years ago
Tim Möhlmann d18cf7cb25
Prevent redirects during health checking 6 years ago
Tim Möhlmann c9df311a0d
Set forward_destination to an empty list
The value of `None` resulted in an error, since a list was expected.
6 years ago
Tim Möhlmann eff6c34632
Catch asterisk before resolve_domain
Asterisk results in IDNA error and a 500 return code.
6 years ago
Ionut Filip 7b8835070d Added tenacity retry fir migrations connection 6 years ago
David Rothera 88c174fb7a Query alternative table for domain matches
At present postfix checks this view for matches in the domain table and is used to accept/deny messages sent into it however it never checks for matches in the alternative table.

Fixes #718
6 years ago
Ionut Filip 436055f02c Created function for returning email type 6 years ago
Tim Möhlmann 47a3fd47b5
Fix DB_FLAVOR condition testing for models.py 6 years ago
Tim Möhlmann 0f3c1b9d15
Implement CIText as NOCASE alternative in postgresql 6 years ago
Tim Möhlmann 9b9f3731f6
Make current migrations work with postgresql 6 years ago
Tim Möhlmann 8bdc0c71af
Allow for setting a different DB flavor 6 years ago
Ionut Filip fed7146873 Captcha check on signup form 6 years ago
Tim Möhlmann 4783e61693
Fix password context
Fixes the following error:
```
admin_1      | [2018-11-09 09:44:10,533] ERROR in app: Exception on /internal/auth/email [GET]
admin_1      | Traceback (most recent call last):
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
admin_1      |     response = self.full_dispatch_request()
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
admin_1      |     rv = self.handle_user_exception(e)
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
admin_1      |     reraise(exc_type, exc_value, tb)
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
admin_1      |     raise value
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
admin_1      |     rv = self.dispatch_request()
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
admin_1      |     return self.view_functions[rule.endpoint](**req.view_args)
admin_1      |   File "/usr/lib/python3.6/site-packages/flask_limiter/extension.py", line 544, in __inner
admin_1      |     return obj(*a, **k)
admin_1      |   File "/app/mailu/internal/views/auth.py", line 18, in nginx_authentication
admin_1      |     headers = nginx.handle_authentication(flask.request.headers)
admin_1      |   File "/app/mailu/internal/nginx.py", line 48, in handle_authentication
admin_1      |     if user.check_password(password):
admin_1      |   File "/app/mailu/models.py", line 333, in check_password
admin_1      |     context = User.pw_context
admin_1      | AttributeError: type object 'User' has no attribute 'pw_context'
```
6 years ago
kaiyou 72e1b444ca Merge alembic migrations 6 years ago
kaiyou 5b769e23da Merge branch 'master' into refactor-config 6 years ago
kaiyou 02995f0a15 Add a mailu command line to flask 6 years ago
kaiyou f9e30bd87c Update the dockerfile and upgrade dependencies 6 years ago
kaiyou 4a7eb1eb6c Explicitely declare flask migrate 6 years ago
kaiyou 2a8808bdec Add the configuration table migration 6 years ago
kaiyou f57d4859f3 Provide an in-context wrapper for getting users 6 years ago
kaiyou f6013aa29f Fix an old migration that was reading configuration before migrating 6 years ago
kaiyou 206cce0b47 Finish the configuration bits 6 years ago
Ionut Filip 1bbf3f235d Using a new class when captcha is enabled 6 years ago
mergify[bot] 12689965bd
Merge pull request #699 from usrpro/fix-admin-bug
Fixed admin_1 errors in the logs
6 years ago
hoellen 680ad4b67a
Catching only ValueError
Co-Authored-By: ionutfilip <ionut.philip@gmail.com>
6 years ago
mergify[bot] e08f3e81d0
Merge pull request #680 from usrpro/feat-startup
Standarize images
6 years ago
Ionut Filip 6dcc33e390 Fixed admin_1 errors in the logs
Fixed errors when trying to log in with an account without domain.
This closes #585
6 years ago
Tim Möhlmann 42e2dbe35d
Standarize image by using shared / similair layers 6 years ago
Tim Möhlmann 5fa2aac569
Fix imap login when no webmail selected 6 years ago
Tim Möhlmann 903bb70c5b
Merge remote-tracking branch 'upstream/master' into standarize-images 6 years ago
Scott 56fb74c502 Fix typo (duplicate self). Fixes #683 6 years ago
Ionut Filip 8a44a44688
Merge branch 'master' into feat-startup 6 years ago
Ionut Filip 1187cac5e1 Finished up switching from .sh to .py 6 years ago
Tim Möhlmann ed81c076f2
Take out "models" path, as we are already in it 6 years ago
Tim Möhlmann aed80a74fa
Rectify decleration of domain_name 6 years ago
Tim Möhlmann 2d382f2d67
Merge branch 'master' into fix-sender-checks 6 years ago
Ionut Filip 0e5606d493 Changed start.sh to start.py 6 years ago
Ionut Filip eb7dfb5771 Cleaning up start.py 6 years ago
Thomas Sänger 603b6e7390
Merge pull request #2 from usrpro/fix-nginx-healthcheck
Fix nginx healthcheck
6 years ago
Tim Möhlmann 81b24f61e8
Merge branch 'master' into feat-healthchecks 6 years ago
Tim Möhlmann a2fea36c79
Increase HEALTHCHECK start time for services that need to wait for host resolving during startup.
In Docker Swarm mode the services listed below can get stuck in their start script, while they
are waiting for other services become available. Now, with HEALTHCHECK enabled, docker does not resolve
names of services that not pass HEALTHCHECK yet. Meaning that if one of the depenend services is not yet
available, it will create a chain of failing services.

The services below retry to resolve 100 time, with an average of 3.5 seconds. Hence, the --start-time
flag is now set at 350 seconds.
- dovecot (imap)
- postfix (smtp)
- rspamd (antispam)
6 years ago
Tim Möhlmann c3e89967fb
Fix front health checking
- Specified seperated /health path in order to allow for healthcheck even if webmail and admin are not seletectd. This also allows healthchecking fom external services like DNS load balancers;
- Make curl not to fail on TLS because localhost is not included in the certificates.
6 years ago
mergify[bot] 90b8c3cc1f
Merge pull request #665 from kaiyou/feat-reply-startdate
Implement a start date filter for autoreply, fixes #362
6 years ago
mergify[bot] bce1487338
Merge pull request #576 from hacor/master
Kubernetes fixed for production
6 years ago
kaiyou 1fcaef7c7e
Merge branch 'master' into fix-sender-checks 6 years ago
Paul Williams 78bd5aea1c enable http2, because it's that easy 6 years ago
hoellen 72d4fa2bc9
remove empty line from merge conflict 6 years ago
hoellen 857ad50509
Merge branch 'master' into feat-reply-startdate 6 years ago
mergify[bot] 4a5c0a6d21
Merge pull request #667 from kaiyou/fix-password-performance
Improve password checking performance
6 years ago
mergify[bot] 80658c30da
Merge pull request #669 from hoellen/fix-webmail-root
Fix nginx conf if webmail is on root path
6 years ago
Hans Cornelis f10416e85a Merged with new PRs 6 years ago
mergify[bot] 118ea0f3fb
Merge pull request #604 from ofthesun9/feature-swarm
Enabling swarm deployment on master branch
6 years ago
mergify[bot] 727970514d
Merge pull request #527 from ofthesun9/feat-fuzzyhashes
Trying to enable fuzzy hashes for rspamd
6 years ago
kaiyou 82069ea3f0 Clean most of the refactored code 6 years ago
kaiyou f40fcd7ac0 Use click for the manager command 6 years ago
kaiyou fc24426291 First batch of refactoring, using the app factory pattern 6 years ago
hoellen d4f32c3e7d remove rewrite if webmail is on root 6 years ago
kaiyou 01fa179767 Update the user password in database when needed 6 years ago
kaiyou 988e09e65e Add a profiler in debug mode for improving performance 6 years ago
kaiyou dba8f1810d Do not check the password another time in Dovecot 6 years ago
kaiyou d5162328ec Allow dovecot to write the source configuration directory for compiling sieve scripts 6 years ago
kaiyou ce0bf3366d Learn fuzzy hashes automatically 6 years ago
kaiyou 0a5dbf6230 Re-enable local dovecot sieve scripts 6 years ago
Hans Cornelis ef55ca525c Deleted conflicting merge files
Signed-off-by: Hans Cornelis <hacornelis@gmail.com>
6 years ago
Hans Cornelis e67a0d464b Deleted old folder 6 years ago
Hans Cornelis 3098343360 Merged conflicts 6 years ago
hacor 4ea12deae7 Added kubernetes to Mailu 6 years ago
kaiyou ed3388ed6e Merge branch 'master' into feat-reply-startdate 6 years ago
kaiyou 7c82be904f Merge branch 'master' of github.com:mailu/mailu 6 years ago
Thomas Sänger a412951a30
simpler healthcheck for postfix 6 years ago
Thomas Sänger 0bc901a722
add healthcheck for dovecot 6 years ago
Thomas Sänger 1fc40bf932
add healthcheck for postfix 6 years ago
Thomas Sänger 39272ab05c
add healthcheck for http services 6 years ago
kaiyou e784556330 Fix an edge case with old values containing None for coma separated lists 6 years ago
kaiyou f647d1a0bc Merge branch 'master' into fix-sender-checks 6 years ago
kaiyou 5ada669f43 Rebase reply startdate on master 6 years ago
mergify[bot] bee81d1a54
Merge pull request #647 from HorayNarea/bcrypt
support bcrypt and use it as default
6 years ago
mergify[bot] 9fd7851cb6
Merge pull request #648 from HorayNarea/apk-no-cache
remove apk-warning about cache
6 years ago
kaiyou 15eb2806bf Merge branch 'master' into feat-reply-startdate 6 years ago
kaiyou 5035975c41 Remove Postfix debugging 6 years ago
kaiyou c6846fd8db Merge branch 'master' into feat-reply-startdate 6 years ago
mergify[bot] a91a54b5f1
Merge pull request #651 from usrpro/fix-certbot
Front: move to Alpine:3.8 and fixing #522
6 years ago
Tim Möhlmann de43060ef8
Move to Alpine:3.8 and fixing #522 6 years ago
Thomas Sänger bdfcc5b530
pin alpine-version for 'none'-image 6 years ago
Thomas Sänger 6aafef88bd
remove apk-warning about cache 6 years ago
Thomas Sänger c8b39c5d4a
support bcrypt and use it as default 6 years ago
kaiyou 10ec2f999a Another (embarrassing) fix for a merge typo 6 years ago
kaiyou 2e1aa079c1 Fix one (hopefully) last merge typo 6 years ago
kaiyou 4b9dbf00a8 Fix yet another merge-time typo 6 years ago
kaiyou e8e133b53d Fix a merge typo in postfix build 6 years ago
kaiyou 00b5ae11db
Merge branch 'master' into feat-abstract-db 6 years ago
ofthesun9 13146be57e Merge branch 'master' into feature-swarm 6 years ago
kaiyou 508e519a34 Refactor the postfix views and implement sender checks 6 years ago
kaiyou 8b189ed145 Separate senderaccess and senderlogin maps 6 years ago
ofthesun9 74796201ec Merge branch 'master' into feature-swarm 6 years ago
kaiyou fc99eb7b34 Re-enable sender access check to prevent source spoofing 6 years ago
kaiyou f3f0b98755 Fix relay restrictions so email gets delivered correctly 6 years ago
Tim Möhlmann 0817629869
Increase attempts as it failed on fresh Swarm host 6 years ago
Tim Möhlmann 716ed16f34
Fix typo 6 years ago
Tim Möhlmann 16469d7282
Upgrade to newer pip version 6 years ago
Tim Möhlmann 1bae5968ad
Import tenacy and fix syntax errors 6 years ago
Tim Möhlmann c457ccfa60
Use tenacity for resolver retries 6 years ago
Tim Möhlmann d6c386651d
Merge branch 'master' into fix-swarm-start 6 years ago
ofthesun9 09d77bc2de Handle the case where the variable REJECT_UNLISTED_RECIPIENT is not set 6 years ago
ofthesun9 cc17962c86 fixes #583 6 years ago
kaiyou 4d70a8737e Expose the data volume for admin container 6 years ago
kaiyou 2cba045013 Explicitely declare required volumes, fixes #568 6 years ago
kaiyou fcad52b145 Implement a start date filter for autoreply, fixes #362 6 years ago
kaiyou 82bb8c2fd9 Merge remote-tracking branch 'github/master' into feat-abstract-db 6 years ago
kaiyou f5668dea51 Handle relays as virtual transports through podop 6 years ago
kaiyou 9890e1fb2a Fix the dovecot configuration path 6 years ago
kaiyou 42c6bdb4df Split the internal blueprint into multiple view files 6 years ago
kaiyou dc4b0d21ea Clean the dovecot configuration dir 6 years ago
kaiyou f9c6c98180 Remove fetchmail dependency to the databse 6 years ago
kaiyou 43b6547e1c Lower the loglevel of podop 6 years ago
kaiyou 542793260b Handle wildcard aliases using podop 6 years ago
kaiyou 0d52364eac Fix alias resolution through podop 6 years ago
kaiyou 6d088504bd Adjust podop debug level based on environment 6 years ago
kaiyou 6ba55ee377 Implement the sieve script name resolution pattern 6 years ago
kaiyou 3c725bf634 Only support generating the default sieve script 6 years ago
kaiyou ca6c0bc8fd Fix the user sieve script generation 6 years ago
kaiyou 4d25083847 Move sieve script generation to the admin container 6 years ago
kaiyou cfeaa189f9 Use proper 404 return codes for missing objects 6 years ago
kaiyou d8365bfbcf Use simpler routes for Dovecot 6 years ago
kaiyou 697caaab81 Update podop access and mail restrictions 6 years ago
kaiyou 7143fb8c47 Implement some basic views for podop 6 years ago
kaiyou 39cd0d5034 Upgrade to alpine 3.8 for smtp and imap 6 years ago
kaiyou 68aa797720 Merge branch 'master' into feat-abstract-db 6 years ago
ofthesun9 f5f09fad6e Reverting the patch for dovecot.conf, as it is not needed 6 years ago
Thomas Sänger 0b885548ab
bind to any protocol 6 years ago
kaiyou 73ca5fb3d3 Provide a more generic skeletton for postfix virtual lookups 6 years ago
ofthesun9 23e288aadc Enabling swarm deployment on master branch:
-Extends the usage of POD_ADDRESS_RANGE
-Provides documentation
6 years ago
kaiyou 5dc9ee9516
Merge pull request #510 from hoellen/spam-trash-fix
Dont flag spam as ham if moved to trash
6 years ago
kaiyou d917f60352
Merge pull request #553 from HorayNarea/compress
add optional Maildir-Compression
6 years ago
kaiyou 64269e08c0
Merge pull request #552 from HorayNarea/master
add full-text search support
6 years ago
kaiyou 313b79538e
Merge pull request #513 from mprihoda/feature/better-ratelimit-error
Return correct status codes from auth rate limiter failure.
6 years ago
Tim Möhlmann cc8e15748b Retry 10 times when resolving fails in start.py scripts 6 years ago
Thomas Sänger 0bdb2a16bc
add optional Maildir-Compression 6 years ago
Thomas Sänger fb62e6b5a2
add full-text search support 6 years ago
kaiyou f506966abc Pin Alpine 3.7 to preserve the Postfix version 6 years ago
Tim Möhlmann 9350bb9b9a Use fixed alpine:3.7 tag to prevent postix upgrade 6 years ago
Pierre Jaury 3dca1a834c Pin alpine 3.7 until we fix the certbot issue, see #522 6 years ago
Pierre Jaury 18fe8cd9f2 Pin alpine:3.7 for Dovecot since extdata was removed from repos, fixes #528 6 years ago
Pierre Jaury 5ad02ae2e5 Use a more uniform 'Save' for most form submits, fixes #523 6 years ago
Pierre Jaury c04e58498d Remove unused postfix sqlite files 6 years ago
Pierre Jaury bb73933e1e Switch postfix to Podop 6 years ago
Pierre Jaury 82e738cc53 Remove the old code of postproxy 6 years ago
Pierre Jaury b5d6b93869 Switch to using Podop in Dovecot 6 years ago
Pierre Jaury 809fe78f82 Add dovecot views to the internal API 6 years ago
Pierre Jaury 28001213d4 Remove the redis-based quota code 6 years ago
Pierre Jaury 76617a3c97 Store the quota status in database 6 years ago
Pierre Jaury 2b2ab864d1 Add support for querying the table in Dovecot proxy 6 years ago
Pierre Jaury 70175f8c28 Add postproxy support for Dovecot dict protocol 6 years ago
Pierre Jaury 262e82a367 Add a postfix socketmap to http proxy 6 years ago
Michal Prihoda f5e7751835 Return correct status codes from auth rate limiter failure. 6 years ago
hoellen ca26264d01 Dont flag spam as ham if moved to trash (fix #474) 7 years ago
kaiyou 75a1bf967c
Merge pull request #502 from hoellen/webmail-messagesize
Use message_size_limit variable from env for webmail client_max_body_size
7 years ago
hoellen c51e1b9eef webmail client_max_body_size with message_size_limit and 8M tolerance 7 years ago
kaiyou 74b72375cb
Merge pull request #493 from MFAshby/user_validation
Made User and UserSignup validation consistent for the local part of
7 years ago
kaiyou 53bf6085dc
Merge pull request #501 from hoellen/webmail-root
Add posibilty to run webmail on root '/'
7 years ago
hoellen 9091e54fda Hide administration header in sidebar for normal users. 7 years ago
hoellen 81a6a7cbf6 Use message_size variable from env for webmail 7 years ago
hoellen a1fb8442e3 Add posibilty to run webmail on root '/' 7 years ago
mfashby 0284b6a8e9 Made User and UserSignup validation consistent for the local part of the email address 7 years ago
Pierre Jaury 14687d09ba Fix announcements for idna domains 7 years ago
Pierre Jaury e543477c2e Revert "Only enable milter for incoming emails"
This reverts commit cfd233039e.
7 years ago
Pierre Jaury cfd233039e Only enable milter for incoming emails 7 years ago
Pierre Jaury 6828231c28 Fix the path of the nginx pid in startup scripts, fixes #483 7 years ago
Pierre Jaury 1b0b3a2b1e Only check login mismatch for authenticated users, fixes #309 7 years ago
Pierre Jaury 1371ba5f5e Add the keep field to fetch forms, fixes #479 7 years ago
Pierre Jaury ea658a174d Fix a typo in the base html template 7 years ago
Pierre Jaury b6c76a5e39 Do not remove openssl when purging build deps, fixes #481 7 years ago
kaiyou a47ba3474c
Merge pull request #448 from romracer/pod-address
Use POD_ADDRESS_RANGE for Dovecot if it exists
7 years ago
kaiyou 3beceb90ec
Merge pull request #429 from mildred/parametrize-hosts
Add various environment variables to allow running outside of docker-compose
7 years ago
kaiyou a9e41960a1
Merge pull request #468 from dtwardow/flex_tls_filenames
TLS using configurable filenames
7 years ago
kaiyou 91e51a24c8
Merge pull request #465 from sanduhrs/feature/463
Remove services status page
7 years ago
Thomas Sänger 7d661ab80d
don't require BootstrapCDN for FontAwesome (GDPR-compliance) 7 years ago
Mildred Ki'Lya 6bb4c6e2f0 Parametrize front address from dovecot 7 years ago
Mildred Ki'Lya ae8c9f5a6b Add various environment variables to allow running outside of docker-compose 7 years ago
Dennis Twardowsky 50f9f379e9 Flexible filenames for TLS via envvars (flavours 'cert' and 'mail' only) 7 years ago
Stefan Auditor 6177571e4d Remove services status localization 7 years ago
Stefan Auditor b541d4c257 Remove services status sidebar link 7 years ago
Stefan Auditor e89b32a3f4 Remove services route 7 years ago
Stefan Auditor ec8e82aaca Remove services status template 7 years ago
kaiyou f55e5e26cd Update messages.po (POEditor.com) 7 years ago
kaiyou 2b96abbef4 Update messages.po (POEditor.com) 7 years ago
kaiyou af38d5ab0c Update messages.po (POEditor.com) 7 years ago
kaiyou fc89b30e8a Update messages.po (POEditor.com) 7 years ago
kaiyou 791fab688a Update messages.po (POEditor.com) 7 years ago
kaiyou c9b0832899 Update messages.po (POEditor.com) 7 years ago
kaiyou fa1b0ac32c Update messages.po (POEditor.com) 7 years ago
kaiyou 75f0791965 Update messages.po (POEditor.com) 7 years ago
kaiyou c91c5c7493 Update messages.po (POEditor.com) 7 years ago
kaiyou 299a654e97 Update messages.po (POEditor.com) 7 years ago
kaiyou 494e52d8f0 Update messages.po (POEditor.com) 7 years ago
kaiyou 3b7014d563 Add dummy spanish and russion languages 7 years ago
kaiyou be0a0b4ac8 Update translation strings 7 years ago
kaiyou 8bad30cd59 Move the domain MX status to the detail page 7 years ago
kaiyou 7f0447514c Finish storing the user quota to redis 7 years ago
kaiyou 80893be68b Add a missing import to dnspython 7 years ago
kaiyou 091369915b Display the user quota in the admin interface 7 years ago
kaiyou e13593f29a Switch to database 2 for rate limiting 7 years ago
kaiyou d1dbba2d3a Add expose instructions in Dockerfiles, fixes #392 7 years ago
kaiyou 62d1a0c104 Add a status field to the domain list 7 years ago
kaiyou bb0d7bf6dc Enforce the nocase collation on the email table 7 years ago
kaiyou 186c30d2ac Have the admin listen on ipv6 7 years ago
kaiyou 35276c3101
Merge pull request #458 from Farthen/master
Dovecot: Add SQL iterate_query to config file.
7 years ago
kaiyou dfaedb76f1
Merge pull request #447 from sanduhrs/feature/446
Add a sqlalchemy custom type for unicode to idna conversion of domain names
7 years ago
farthen f75280e4a3 Dovecot: Add SQL iterate_query to config file.
This allows to use doveadm -A to execute maintenance tasks for all users on the server
7 years ago
kaiyou 9968d708f1 Update the prod requirements 7 years ago
kaiyou 381e76511d Add self-service domain registration 7 years ago
Stefan Auditor c688970b32 Respect user enabled flag in admin authentication 7 years ago
Stefan Auditor d3064579f4 Respect user enabled flag in basic authentication 7 years ago
Stefan Auditor 92f4858323 Respect user.enabled status in internal authentication 7 years ago
Stefan Auditor d2c6cecca6 Remove is_enabled method and use the enabled attribute instead 7 years ago
Stefan Auditor 5bfdd75738 Respect user enabled flag on user.login 7 years ago
Stefan Auditor 78f4fa7db9 Add field to ui for user enabled flag 7 years ago
Stefan Auditor 20d6fbae48 Add enabled flag to user model 7 years ago
Scott 2c2a1ed042 Remove stale link to old auto-forward settings. Fixes #450
Also update a reference to 'smtp' to use HOST_AUTHSMTP
7 years ago
kaiyou a51416a4af
Merge pull request #452 from sanduhrs/feature/449
Add enabled flag to user model
7 years ago
Stefan Auditor e843f7ef1f Respect user enabled flag in admin authentication 7 years ago
Stefan Auditor c8540ddba7 Respect user enabled flag in basic authentication 7 years ago
Stefan Auditor 6fc22e5432 Respect user.enabled status in internal authentication 7 years ago
Stefan Auditor 733b89bff5 Remove is_enabled method and use the enabled attribute instead 7 years ago
Stefan Auditor 3b66fcada7 Respect user enabled flag on user.login 7 years ago
Stefan Auditor 7139a27bf1 Add field to ui for user enabled flag 7 years ago
Stefan Auditor f585197e52 Add enabled flag to user model 7 years ago
Scott e5c25c395f Remove stale link to old auto-forward settings. Fixes #450
Also update a reference to 'smtp' to use HOST_AUTHSMTP
7 years ago
Stefan Auditor 7f5bd98a2e Add parameters to database field 7 years ago
Stefan Auditor 93d5254b3f Add another type decorator for idna email support 7 years ago
Scott 6018995534 Use POD_ADDRESS_RANGE for Dovecot if it exists
This is required to override allow_nets in a Kubernetes environment where pods are not recreated with the same IP address.
7 years ago
Stefan Auditor 792c720c13 Save user email domain_name as idna representation 7 years ago
Stefan Auditor c40e255f3b Reset relay columns to string 7 years ago
Stefan Auditor d9ea64fac7 Import idna library and move code a bit upwards 7 years ago
Stefan Auditor 5a7272ff12 Replace other occurences of domain names with idna 7 years ago
Stefan Auditor 1b666cd25b Add a sqlalchemy custom type for unicode to idna conersion of domain names 7 years ago
kaiyou db0cd8efb4 Fix the client setup page when not logged in 7 years ago
kaiyou e92113bd57
Merge pull request #433 from mildred/delivered-to-hdr
Add original Delivered-To header to received messages
7 years ago
kaiyou b4134b7774 Add a client setup page, fixes #342 7 years ago
kaiyou fa0bda7b69 Merge the auto-forward and antispam settings 7 years ago
kaiyou 3ef4e1f6b7 Add support for recaptcha upon signup 7 years ago
kaiyou e02e47c48e
Merge pull request #416 from calebj/patch-1
Add support for sending from alternative domains
7 years ago
Scott b9e67635f4 Use HOST_ADMIN in "Forwarding authentication server". Fixes #436. 7 years ago
Mildred Ki'Lya 649a4fc9cf Add Delivered-To header to received messages
Postfix, after expanding the alias, is not transmitting the original
envelope recipient email address to dovecot and cannot record it in a
Received: header.

The LMTP DSN extension allows postfix to specify an ORCPT= parameter to
the "RCPT TO:" line (in postfix src/smtp/smtp_proto.c). However, dovecot
does not support the DNS extension on the LMTP endpoint. It has
preliminary support of the ORCPT parameter in latest versions but is is
disabled and not working.

The solution taken was to add a sieve script to parse the Received:
header written by postfix and parse the original RCPT TO address from
it. Then add the header through the "editheader" sieve extension. Later
sieve scripts can take this header to perform further filtering.
7 years ago
Caleb Johnson b58dcfb511
Add support for sending from alternative domains
See Mailu/Mailu#415
7 years ago
AdrienM 29a1548532 Add explicit ssl_protocols in conf 7 years ago
kaiyou dfb5463c94 Relax the frame filtering to allow roundcube to display previews 7 years ago
kaiyou 04278b6cbf Pass the full host to the backend, fixes #372 7 years ago
kaiyou 6c56c8e298 Specify the client max body size in the front, related to #371 7 years ago
Mildred Ki'Lya f538e33dcf Parametrize hosts
Allows to use mailu without docker-compose when hostnames are not set up
by docker itself but provided via a separate resolver.

Use case: use mailu using nomad scheduler and consul resolver instead of
docker-compose. Other servers are provided by the DNS resolver that
resolves names like admin.service.consul or webmail.service.consul.
These names needs to be configurable.
7 years ago
kaiyou d8ebfbe020 Display infinite user quotas correctly, fixes #368 7 years ago
SunMar 6ec0fe7036 Adding options for mail-letsencrypt 7 years ago
kaiyou d98f16333a Display an infinite quota when necessary for users, fixes #345 7 years ago
kaiyou 8d224824ea Display a conditional button for generation dkim keys, fixes #346 7 years ago
kaiyou d0b8de72e4 Do not deny HTTP access upon TLS error when the flavor is mail 7 years ago
kaiyou bfc898c2d8 Move dhparam to /conf 7 years ago
Greg Fitzgerald f1ad2cf4d0 Use a predefined dhparam.pem, This fixes issue #322 7 years ago
kaiyou 7a9d2c9725
Merge pull request #353 from ripkens/patch-1
Added adress verification before accepting mails for delivery
7 years ago
kaiyou acb5d7da38 Use relative redirect for / to the webmail 7 years ago
kaiyou 2dfc91ac4d Use a map for passing x-forwarded-proto along 7 years ago
Marcus Ripkens 7375134474
Update main.cf 7 years ago
Marcus Ripkens 175349a224
Added adress verification before accepting mails for delivery
See https://www.endpoint.com/blog/2015/05/28/postfix-address-verification

Block client until address verifiction is completed and mail will not be rejected by relaying MTA or smarthost.
If verification fails, mail is rejected.
If verification takes too long, mail is temporaryly rejected and sending client will retry later.
7 years ago
kaiyou 42314d3d75 Remove a remaining rebug print() statement 7 years ago
kaiyou a4f46ced49 Properly use x-forwarded-proto with redirects in the webui, related to #347 7 years ago
kaiyou 48d736feef Configure a resolver for the mail server to populate xclient hostnames 7 years ago
rageOS 59766d289e
Fix for relayed Domains 7 years ago
kaiyou 319965a4af Add a format check for the email localpart when signing up 7 years ago
kaiyou 18ae6a4a0f Fix the signup quota 7 years ago