1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-22 22:13:11 +02:00
Commit Graph

865 Commits

Author SHA1 Message Date
Daniel Huber
7dcb2eb006
Add authentication for email relays 2019-03-04 18:54:53 +01:00
Ionut Filip
8d34756023 Increase dovecot mail max userip 2019-02-21 17:15:56 +02:00
Florian Peschka
b9fd29a52f
Add extra newline to main.cf
This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section

see #941
2019-02-19 21:09:50 +01:00
Ionut Filip
0ce0b5ec02 Fix addresses in front 2019-02-18 15:41:22 +02:00
Ionut Filip
4c25c83419 HOST_* and *_ADDRESS variables cleanup 2019-02-18 14:46:48 +02:00
Ionut Filip
f9e3cd3c5d Use corret host_* variables 2019-02-15 16:49:56 +02:00
Ionut Filip
71d63c6e45 Fix redis resolve in imap 2019-02-15 16:20:55 +02:00
Ionut Filip
ef49357eb3 Update redis urls 2019-02-15 16:07:23 +02:00
Ionut Filip
43abbf4d63 Resolve redis and add logging 2019-02-15 15:37:55 +02:00
bors[bot]
211136f9b1 Merge #934
934: Pass optional arguments to domain model r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Passing optional args to domain model when using cli.

### Related issue(s)
Fixes #933

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
2019-02-13 21:58:49 +00:00
bors[bot]
d129733fac Merge #919
919: Install bash in alpine based images. r=mergify[bot] a=firvida

This fixes #918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.

## What type of PR?

bug-fix

## What does this PR do?

### Related issue(s)
- closes #918 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Abel Alfonso Fírvida Donéstevez <abel@merchise.org>
2019-02-13 21:31:25 +00:00
hoellen
62511b723b
Merge branch 'master' into fix-doc-commands-1 2019-02-13 19:31:39 +01:00
Ionut Filip
4d2844c1f5 Fixed arguments passed to domain 2019-02-13 16:43:45 +02:00
Roman Hoellen
1dfef1609a add domain cli to docs 2019-02-13 10:53:40 +01:00
Ionut Filip
cebc64a280 Resolve HOST_WEBMAIL in admin 2019-02-13 11:48:32 +02:00
Roman Hoellen
bc617cf8ec replace _ with - in cli options 2019-02-13 10:30:08 +01:00
Tim Möhlmann
111dae351a
Fix typo in migration file
Fixes #905
2019-02-12 18:17:38 +02:00
Abel Alfonso Fírvida Donéstevez
39444c794e Install bash in alpine based images.
This fix https://github.com/Mailu/Mailu/issues/918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.
2019-02-06 15:01:02 -05:00
bors[bot]
86b4242f82 Merge #886
886: Ipv6 support r=mergify[bot] a=muhlemmer

## What type of PR?

(Feature, enhancement, bug-fix, documentation) -> A bit of everything

## What does this PR do?

Document how to use ipv6nat. This, however triggers some kind of flaky behavior with the Docker DNS resolver, resulting in lookup failures between containers.  So all resolving needs to be done during container startup/configuration.

In order not to pollute every single start.py file, we've created a small library called [Mailu/MailuStart](https://github.com/Mailu/MailuStart). As an addition, this library also defines the template generation function, including its logging facility.

Note: `docker-compose.yml` downgrade is necessary, as IPv6 settings are not supported by the Docker Compose file format 3 😞  

### Related issue(s)
Supersedes  PR #844
- Fixes #827 
- Hopefully helps with #829 and #834

## No backport yet

This PR directly imports MailuStart from git. This makes it a bit more simple to implement on the short term an do some testing and probably some future improvements. When everything is proved stable, we will create a proper PyPi package with versioning and consider back porting.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-02-06 12:56:40 +00:00
Tim Möhlmann
06457e9617
Merge branch 'master' into fix_fetches_create 2019-01-28 12:52:42 +02:00
cr1st1p
9b65a6c862
Merge branch 'master' into admin_create_user_enhancement 2019-01-25 23:36:06 +02:00
Ionut Filip
f8dffe5a19
Resolve hosts in admin 2019-01-25 17:26:45 +02:00
Ionut Filip
004a431e97
Change to mailustart functions 2019-01-25 17:26:45 +02:00
Dario Ernst
34b31727c4 Fix password validator for creating fetched accounts 2019-01-25 15:08:41 +01:00
cristi
a071181c61 Allow to automatically create admin account during startup. 2019-01-25 16:04:20 +02:00
hoellen
fba246e9a1 add wildcard option to cli (alias) 2019-01-24 21:32:22 +01:00
Ionut Filip
9684ebf33f Use mailustart package from git 2019-01-24 14:53:02 +02:00
hoellen
808092c65e
Merge pull request #834 from hoellen/token-ipv6
allow ipv6 addresses for tokens
2019-01-23 21:30:13 +01:00
Tim Möhlmann
e341e0141f
Merge remote-tracking branch 'upstream/master' into token-ipv6 2019-01-22 13:55:56 +02:00
Manuel Vázquez Acosta
dfe5ddb18e
Check if sender address is not null before trying to check the domain. 2019-01-22 05:50:20 -05:00
Tim Möhlmann
fd236e4ea5
Fix syntax error 2019-01-17 18:06:40 +02:00
Tim Möhlmann
7a9685bcb9
Resolve admin during start to work around Docker DNS flaky-ness 2019-01-17 16:40:44 +02:00
nathan-sain
23bad0e042
Set value for SQLALCHEMY_DATABASE_URI in admin DEFAULT_CONFIG to SQLite URI 2019-01-17 07:58:47 -06:00
nathan-sain
db8977e17a
Update SQLite DB file in DEFAULT_CONFIG and DB_TEMPLATES 2019-01-17 00:32:12 -06:00
hoellen
6dea8b422a
Merge pull request #839 from hoellen/fix-create-onupdate-default
fix default value for created_at and updated_at
2019-01-16 12:11:13 +01:00
hoellen
79c4edcaf1
Merge pull request #838 from hoellen/schema-maxUserQuota-1
Change quota columns type to BigInteger
2019-01-16 12:07:50 +01:00
hoellen
54169db7e3
Merge branch 'master' into fix-forward-validation 2019-01-15 18:55:08 +01:00
hoellen
9721df0bc5 fix default value for created_at and updated_at
Use date instead of datetime for created_at and updated_at.
2019-01-15 16:41:58 +01:00
hoellen
cfa7ca3838 Merge branch 'master' into schema-maxUserQuota-1 2019-01-15 16:22:54 +01:00
hoellen
f1e1c96c3b create migration file for changing quota to big integer 2019-01-15 15:32:00 +01:00
Ionut Filip
2d34f0ee52 Fixed auto-forward email validation 2019-01-15 14:03:09 +02:00
hoellen
c8758a6526 allow ipv6 addresses for tokens 2019-01-13 16:45:41 +01:00
hoellen
2af540a1c9 change quota columns to bigint 2019-01-13 16:40:28 +01:00
Dario Ernst
66df7a31b0 Unify and coerce booleans from env used in admin
At some places, the string that DOMAIN_REGISTRATION is got used like a boolean
(an easy misassumption to make while in python and dealing with the config
dict), making `DOMAIN_REGISTRATION=False` act as a truthy value. To stop such
future problems from happening, coerce environment config strings to real
bools.

closes #830
2019-01-13 10:22:32 +01:00
mergify[bot]
9175b15d49
Merge pull request #826 from Nebukadneza/reverse_user_alias_pref
Reverse the resolution order of user and alias
2019-01-11 16:28:35 +00:00
mergify[bot]
278bcfb13a
Merge pull request #814 from Nebukadneza/fix_delimiter_alias
Deliver mails to alias-stripped-of-delimeter, even if catchall exists
2019-01-11 14:06:35 +00:00
Dario Ernst
276dc3ffda Reverse the resolution order of user and alias
Since it’s common for wildcard~ish systems to prefer concrete objects over
wildcards, and aliases can be broad-wildcards (think catchall, %@xxx.tld), it
may be more intuitive for users that user-names rank higher than aliases. This
makes it impossible for user-names to be unreachable, since they can be
completely overridden by a catchall otherwise.

This changes default behavior, and is not configurable.

closes #815
2019-01-11 11:51:56 +01:00
Tim Möhlmann
8541ae2c46
Fix migration order after merge 2019-01-11 12:49:07 +02:00
mergify[bot]
99cd1d714b
Merge pull request #799 from hoellen/fix-domain-negative-values-1
don't allow negative values on domain creation/edit
2019-01-11 09:57:15 +00:00
Tim Möhlmann
2567646f47
Merge branch 'master' into fix-domain-negative-values-1 2019-01-11 11:32:30 +02:00
Ionut Filip
50343f354e Merge remote-tracking branch 'upstream/master' into feat-psql-support 2019-01-11 11:21:22 +02:00
Dario Ernst
b8d1beed29 Simplify alias-wildcard detection to not consider actual % anymore 2019-01-10 23:06:56 +01:00
Dario Ernst
10d2601963 Unsimplify alias precedence handling
As discussed with hoellen on matrix, since postfix indeed supports including
the recipient delimiter character in a verbatim alias, we should support so too
— and handle its precedence correctly. The clearer and simpler formulation of
the precedence-clauses are credit to @hoellen. Thanks!
2019-01-10 17:30:11 +01:00
mergify[bot]
b4822ad43e
Merge pull request #821 from HorayNarea/fix-remove-fts
remove (broken) FTS
2019-01-10 11:38:37 +00:00
mergify[bot]
161394a774
Merge pull request #817 from hoellen/fix-fetch-passwordfield-1
fix edit of fetched acc without changing password
2019-01-10 11:10:46 +00:00
Thomas Sänger
492f3867d8
remove (broken) FTS 2019-01-10 12:09:08 +01:00
Dario Ernst
ac64a75743 Simplify alias precedence handling; Remove bogus changelog 2019-01-10 10:28:57 +01:00
mergify[bot]
520ebbb97d
Merge pull request #819 from hoellen/move-spam-1
Mark messages as seen when reporting them as spam
2019-01-10 02:08:12 +00:00
hoellen
7247b4b10c
Merge branch 'master' into fix-password-on-user-edit 2019-01-09 21:14:18 +01:00
hoellen
b65d70cf1e mark spam as seen 2019-01-09 20:12:17 +01:00
hoellen
a59d5dad23 fix edit of fetched acc without changing password 2019-01-09 12:52:05 +01:00
hoellen
f08491dc46 fix forced password on user edit 2019-01-09 12:09:14 +01:00
Ionut Filip
2b0a2d561b Fix connection to mysql db 2019-01-09 12:53:59 +02:00
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
2019-01-09 11:41:22 +01:00
hoellen
732b5fe161 change password field type in fetch creation/edit and add validators. 2019-01-08 19:44:27 +01:00
mergify[bot]
4204facd85
Merge pull request #810 from usrpro/feat-logging
Implement some degree of logging
2019-01-08 15:53:31 +00:00
Tim Möhlmann
049ca9941f
Cleanup syntax and fix typo 2019-01-08 05:21:03 +02:00
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.
2019-01-08 05:00:15 +02:00
Tim Möhlmann
71cda7983e
Merge branch 'master' into feat-logging 2019-01-08 01:54:33 +02:00
Tim Möhlmann
7d01bb2a4d
LOG_LEVEL docs and changelog entry 2019-01-08 00:58:01 +02:00
Tim Möhlmann
b04a9d1c28
Implement debug logging for template rendering 2019-01-08 00:38:06 +02:00
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.
2019-01-07 23:49:10 +02:00
mergify[bot]
3b5f3af207
Merge pull request #778 from Nebukadneza/fix_recipient_delimiter
Attempt stripping recipient delimiter from localpart
2019-01-07 19:01:44 +00:00
Ionut Filip
9077bf7313 Merge remote-tracking branch 'upstream/master' into feat-psql-support 2019-01-07 16:29:50 +02:00
Tim Möhlmann
5636e7f5a7
Remove to avoid matching webroot 2019-01-07 14:08:00 +02:00
Ionut Filip
953aa04354 Added postgresql-libs to admin 2019-01-07 14:04:39 +02:00
Tim Möhlmann
561e2fda67
Merge remote-tracking branch 'upstream/master' into fix-favicon 2019-01-07 12:20:06 +02:00
hoellen
501ecf13c1 add migration script 2019-01-06 15:36:57 +01:00
Tim Möhlmann
a358b5305f
Merge pull request #797 from Mailu/upgrade-pyyaml
Upgrade PyYAML
2019-01-06 15:56:18 +02:00
Tim Möhlmann
4f93e09028
Implement favicon package
Credit to:
- https://stackoverflow.com/a/19590415/1816774
- https://realfavicongenerator.net/
2019-01-06 15:49:40 +02:00
Tim Möhlmann
284d54190a
Upgrade PyYAML to 4.2b4 2019-01-06 14:40:29 +02:00
hoellen
dda64fe91e allow to disable aliases or users for domains and don't allow negativ values on domain creation/edit 2019-01-05 13:52:13 +01:00
hoellen
8fe1e788b3 add missing route fixes 2019-01-04 21:18:51 +01:00
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.
2019-01-04 21:52:43 +02:00
hoellen
d5d4d6c337 harden email address validation and fix routes with user_email 2019-01-04 18:05:56 +01:00
Ionut Filip
01ec6e7bf3 Removed undefined function 2019-01-04 16:48:51 +02:00
mergify[bot]
d483ef3c2a
Merge pull request #792 from hoellen/admin-broken-links-1
fix broken webmail and logo url in admin
2019-01-02 17:18:46 +00:00
Tim Möhlmann
74fe177297
Merge pull request #785 from TheLegend875/feat-displayed-name
Feature: send auto reply with displayed name
2019-01-02 19:14:17 +02:00
hoellen
f617e82c06 fix broken webmail and logo url in admin 2019-01-02 14:08:03 +01:00
Tim Möhlmann
4068c5b751
Versioning for mysqlclient and psycopg2 2018-12-31 18:22:24 +02:00
Tim Möhlmann
b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support 2018-12-31 18:20:39 +02:00
Tim Möhlmann
9eaeb80a27
Finalize merge with kaiyou/feat-multiple-db 2018-12-31 18:02:07 +02:00
TheLegend875
999d2a9557 changed default.sieve to send displayed name 2018-12-30 22:06:36 +01:00
TheLegend875
2954d84790 added necessary ui elements 2018-12-30 22:06:36 +01:00
TheLegend875
56f4d4c894 fixed auto-forward 2018-12-30 22:05:33 +01:00
TheLegend875
5bdbbf60d7 fixed display of username when not logged in 2018-12-28 19:30:23 +01:00
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
2018-12-27 16:31:59 +01:00
Tim Möhlmann
19df86f13f
Merge pull request #764 from usrpro/fix-alias-bug
Added regex validation for alias username
2018-12-27 11:54:43 +02:00
Tim Möhlmann
3a5b763018
Option to disable full text search (lucene)
This is a workaround for the bug in issue #751
2018-12-25 13:52:12 +02:00
mergify-bot
983c388150 Merge branch 'master' into 'fix-localpart-chars' 2018-12-21 14:48:36 +01:00
mergify-bot
6cfb74e96c Merge branch 'master' into 'fix-localpart-chars' 2018-12-21 14:25:19 +01:00
Tim Möhlmann
af086bbdbe
Include DKIM in VOLUME 2018-12-20 17:47:15 +02:00
hoellen
c041a9d45c allow all characters for username in dovecot 2018-12-19 16:19:37 +01:00
Tim Möhlmann
24828615cf
Webmail on root, fixes #757 2018-12-19 16:20:24 +02:00
Ionut Filip
8fc2846924 Added regex validation for alias username 2018-12-18 17:06:39 +02:00
Tim Möhlmann
3c4ee1b31e
Merge pull request #743 from kaiyou/master
Fixes #738 regarding application context
2018-12-14 11:09:27 +02:00
ofthesun9
97b3a85090
Merge pull request #737 from hoellen/fix-alias-match-behaviour
fix alias match behaviour
2018-12-13 20:34:09 +01:00
mergify-bot
09a50b6cfc Merge branch 'master' into 'master' 2018-12-13 19:14:20 +01:00
kaiyou
4060ac2223 Remove some forgotten debugging 2018-12-13 15:19:34 +01:00
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.
2018-12-13 14:23:17 +01:00
kaiyou
b5f51b0e2e Update python dependencies 2018-12-13 14:10:43 +01:00
kaiyou
8707b0fcd7 Use a dictionary of db connection string templates 2018-12-10 15:30:53 +01:00
kaiyou
19f18e2240 Lowercase relays as well as other tables 2018-12-10 15:16:30 +01:00
kaiyou
7e388e472a Handle relay name as an Idna domain 2018-12-10 15:16:30 +01:00
kaiyou
871aa14c9a Lowercase every domain name and email 2018-12-10 15:16:30 +01:00
kaiyou
3df9b3962d Add default columns to the configuration table 2018-12-10 15:16:30 +01:00
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.
2018-12-10 15:16:30 +01:00
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.
2018-12-10 15:16:30 +01:00
kaiyou
e022513a94 Fix support for postgres and mysql 2018-12-10 15:16:30 +01:00
kaiyou
a881a1a839 Revert "Make current migrations work with postgresql"
This reverts commit 9b9f3731f6.
2018-12-10 15:03:12 +01:00
kaiyou
76925e82f3 Revert "Implement CIText as NOCASE alternative in postgresql"
This reverts commit 0f3c1b9d15.
2018-12-10 15:01:27 +01:00
kaiyou
f52ae5535c Revert "Created function for returning email type"
This reverts commit 436055f02c.
2018-12-10 14:58:18 +01:00
kaiyou
f6520eace6 Merge branch 'feat-psql-support' of https://github.com/usrpro/Mailu into usrpro-feat-psql-support 2018-12-10 14:50:38 +01:00
hoellen
8fe9e695f3 prefer non-wildcard aliases over wildcard aliases 2018-12-10 08:40:10 +01:00
Tim Möhlmann
c7dcfee882
Merge pull request #713 from pgeorgi/extend-nginx
nginx: Allow extending config with overrides
2018-12-09 21:44:24 +02:00
hoellen
79768c09f6 fix alias matching behaviour 2018-12-09 19:49:23 +01:00
Tim Möhlmann
6ca8ed437d
Merge pull request #732 from Nebukadneza/add_front_certificate_reload
Add certificate watcher for external certs to reload nginx
2018-12-08 20:11:09 +02:00
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 ….
2018-12-07 16:20:42 +00:00
Tim Möhlmann
c00910ca4b
Merge remote-tracking branch 'upstream/master' into extend-nginx 2018-12-07 16:48:50 +02:00
Tim Möhlmann
97d338e68a
Rectify 'endif' placement 2018-12-07 16:44:42 +02:00
Tim Möhlmann
425cdd5e77
Fix syntax errors 2018-12-07 16:29:41 +02:00
Tim Möhlmann
20f1faf6d0
Send 404 when nothing server at '/'
Prevents Nginx welcome screen
2018-12-07 16:10:52 +02:00
Tim Möhlmann
2de4995fec
Don't redirect when webmail is served on '/' 2018-12-07 15:17:04 +02:00
Tim Möhlmann
f0906073e3
Merge remote-tracking branch 'upstream/master' into feat-subnet2 2018-12-07 11:08:28 +02:00
mergify[bot]
a634c7b72d
Merge pull request #725 from usrpro/fix-outlook2019-smtp
Add login method to smtp_auth under ssl
2018-12-06 16:02:35 +00:00
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.
2018-12-06 12:08:22 +02:00
kaiyou
b6aaf57be1 Merge branch 'refactor-config' of github.com:kaiyou/mailu into refactor-config 2018-12-06 10:33:21 +01:00
kaiyou
d0f07984b0 Merge remote-tracking branch 'upstream/master' into refactor-config 2018-12-06 10:23:43 +01:00
Tim Möhlmann
9dd447e23b
Add login method to smtp_auth under ssl
Fixes #704
2018-12-06 01:00:16 +02:00
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.
2018-12-05 23:54:52 +01:00
mergify[bot]
2d4bac03ad
Merge pull request #723 from usrpro/clean-healthcheck-logs
Admin: Prevent redirects during health checking
2018-12-05 18:09:14 +00:00
mergify[bot]
a382f74680
Merge pull request #705 from usrpro/fix-recaptcha
Fix recaptcha
2018-12-05 18:05:22 +00:00
mergify[bot]
37027cfce7
Merge pull request #633 from kaiyou/fix-sender-checks
Improve sender checks
2018-12-05 16:03:24 +00:00
Tim Möhlmann
d18cf7cb25
Prevent redirects during health checking 2018-12-05 17:43:42 +02:00
Tim Möhlmann
c9df311a0d
Set forward_destination to an empty list
The value of `None` resulted in an error, since a list was expected.
2018-12-04 16:22:18 +02:00
Tim Möhlmann
eff6c34632
Catch asterisk before resolve_domain
Asterisk results in IDNA error and a 500 return code.
2018-12-04 15:40:07 +02:00
Ionut Filip
7b8835070d Added tenacity retry fir migrations connection 2018-12-03 15:25:10 +02:00
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
2018-12-02 11:21:42 +00:00
Ionut Filip
436055f02c Created function for returning email type 2018-11-21 13:43:06 +01:00
Tim Möhlmann
47a3fd47b5
Fix DB_FLAVOR condition testing for models.py 2018-11-20 18:18:33 +02:00
Tim Möhlmann
0f3c1b9d15
Implement CIText as NOCASE alternative in postgresql 2018-11-20 14:41:17 +02:00
Tim Möhlmann
9b9f3731f6
Make current migrations work with postgresql 2018-11-19 19:10:38 +02:00
Tim Möhlmann
8bdc0c71af
Allow for setting a different DB flavor 2018-11-14 14:58:54 +02:00
Ionut Filip
fed7146873 Captcha check on signup form 2018-11-09 12:30:49 +02:00
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'
```
2018-11-09 11:45:08 +02:00
kaiyou
72e1b444ca Merge alembic migrations 2018-11-08 21:55:39 +01:00
kaiyou
5b769e23da Merge branch 'master' into refactor-config 2018-11-08 21:43:05 +01:00
kaiyou
02995f0a15 Add a mailu command line to flask 2018-11-08 21:29:30 +01:00
kaiyou
f9e30bd87c Update the dockerfile and upgrade dependencies 2018-11-08 21:29:11 +01:00
kaiyou
4a7eb1eb6c Explicitely declare flask migrate 2018-11-08 20:32:23 +01:00
kaiyou
2a8808bdec Add the configuration table migration 2018-11-08 20:32:06 +01:00
kaiyou
f57d4859f3 Provide an in-context wrapper for getting users 2018-11-08 20:30:41 +01:00
kaiyou
f6013aa29f Fix an old migration that was reading configuration before migrating 2018-11-08 20:30:20 +01:00
kaiyou
206cce0b47 Finish the configuration bits 2018-11-08 20:29:52 +01:00
Ionut Filip
1bbf3f235d Using a new class when captcha is enabled 2018-11-07 09:58:49 +02:00
mergify[bot]
12689965bd
Merge pull request #699 from usrpro/fix-admin-bug
Fixed admin_1 errors in the logs
2018-11-06 18:10:52 +00:00
hoellen
680ad4b67a
Catching only ValueError
Co-Authored-By: ionutfilip <ionut.philip@gmail.com>
2018-11-05 19:36:28 +02:00
mergify[bot]
e08f3e81d0
Merge pull request #680 from usrpro/feat-startup
Standarize images
2018-11-02 17:36:28 +00:00
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
2018-11-02 12:14:23 +02:00
Tim Möhlmann
42e2dbe35d
Standarize image by using shared / similair layers 2018-10-31 19:17:23 +02:00
Tim Möhlmann
5fa2aac569
Fix imap login when no webmail selected 2018-10-31 17:47:05 +02:00
Tim Möhlmann
903bb70c5b
Merge remote-tracking branch 'upstream/master' into standarize-images 2018-10-31 16:22:21 +02:00
Scott
56fb74c502 Fix typo (duplicate self). Fixes #683 2018-10-23 10:47:31 -05:00
Ionut Filip
8a44a44688
Merge branch 'master' into feat-startup 2018-10-23 12:51:32 +03:00
Ionut Filip
1187cac5e1 Finished up switching from .sh to .py 2018-10-23 11:58:36 +03:00
Tim Möhlmann
ed81c076f2
Take out "models" path, as we are already in it 2018-10-23 11:53:52 +03:00
Tim Möhlmann
aed80a74fa
Rectify decleration of domain_name 2018-10-23 11:52:15 +03:00
Tim Möhlmann
2d382f2d67
Merge branch 'master' into fix-sender-checks 2018-10-23 10:58:29 +03:00
Ionut Filip
0e5606d493 Changed start.sh to start.py 2018-10-22 18:01:59 +03:00
Ionut Filip
eb7dfb5771 Cleaning up start.py 2018-10-22 17:02:43 +03:00
Thomas Sänger
603b6e7390
Merge pull request #2 from usrpro/fix-nginx-healthcheck
Fix nginx healthcheck
2018-10-21 22:44:44 +02:00
Tim Möhlmann
81b24f61e8
Merge branch 'master' into feat-healthchecks 2018-10-21 20:58:59 +03:00
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)
2018-10-21 20:49:01 +03:00
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.
2018-10-21 20:45:41 +03:00
mergify[bot]
90b8c3cc1f
Merge pull request #665 from kaiyou/feat-reply-startdate
Implement a start date filter for autoreply, fixes #362
2018-10-20 23:18:06 +00:00
mergify[bot]
bce1487338
Merge pull request #576 from hacor/master
Kubernetes fixed for production
2018-10-20 22:30:38 +00:00
kaiyou
1fcaef7c7e
Merge branch 'master' into fix-sender-checks 2018-10-20 10:18:36 +02:00
Paul Williams
78bd5aea1c enable http2, because it's that easy 2018-10-19 22:46:36 -06:00
hoellen
72d4fa2bc9
remove empty line from merge conflict 2018-10-19 22:13:38 +02:00
hoellen
857ad50509
Merge branch 'master' into feat-reply-startdate 2018-10-19 22:06:56 +02:00
mergify[bot]
4a5c0a6d21
Merge pull request #667 from kaiyou/fix-password-performance
Improve password checking performance
2018-10-19 18:56:26 +00:00
mergify[bot]
80658c30da
Merge pull request #669 from hoellen/fix-webmail-root
Fix nginx conf if webmail is on root path
2018-10-19 15:18:40 +00:00
Hans Cornelis
f10416e85a Merged with new PRs 2018-10-19 13:40:17 +02:00
mergify[bot]
118ea0f3fb
Merge pull request #604 from ofthesun9/feature-swarm
Enabling swarm deployment on master branch
2018-10-19 09:18:34 +00:00
mergify[bot]
727970514d
Merge pull request #527 from ofthesun9/feat-fuzzyhashes
Trying to enable fuzzy hashes for rspamd
2018-10-18 21:59:08 +00:00
kaiyou
82069ea3f0 Clean most of the refactored code 2018-10-18 17:55:07 +02:00
kaiyou
f40fcd7ac0 Use click for the manager command 2018-10-18 16:20:56 +02:00
kaiyou
fc24426291 First batch of refactoring, using the app factory pattern 2018-10-18 15:57:43 +02:00
hoellen
d4f32c3e7d remove rewrite if webmail is on root 2018-10-18 14:27:28 +02:00
kaiyou
01fa179767 Update the user password in database when needed 2018-10-17 21:22:22 +02:00
kaiyou
988e09e65e Add a profiler in debug mode for improving performance 2018-10-17 21:22:15 +02:00
kaiyou
dba8f1810d Do not check the password another time in Dovecot 2018-10-17 21:22:09 +02:00
kaiyou
d5162328ec Allow dovecot to write the source configuration directory for compiling sieve scripts 2018-10-17 18:48:59 +02:00
kaiyou
ce0bf3366d Learn fuzzy hashes automatically 2018-10-17 18:48:28 +02:00
kaiyou
0a5dbf6230 Re-enable local dovecot sieve scripts 2018-10-17 17:41:21 +02:00
Hans Cornelis
ef55ca525c Deleted conflicting merge files
Signed-off-by: Hans Cornelis <hacornelis@gmail.com>
2018-10-17 07:48:52 +02:00
Hans Cornelis
e67a0d464b Deleted old folder 2018-10-17 07:44:21 +02:00
Hans Cornelis
3098343360 Merged conflicts 2018-10-17 07:32:56 +02:00
hacor
4ea12deae7 Added kubernetes to Mailu 2018-10-17 07:22:55 +02:00
kaiyou
ed3388ed6e Merge branch 'master' into feat-reply-startdate 2018-10-16 23:53:43 +02:00
kaiyou
7c82be904f Merge branch 'master' of github.com:mailu/mailu 2018-10-16 23:50:07 +02:00
Thomas Sänger
a412951a30
simpler healthcheck for postfix 2018-10-16 23:12:02 +02:00
Thomas Sänger
0bc901a722
add healthcheck for dovecot 2018-10-16 23:11:20 +02:00
Thomas Sänger
1fc40bf932
add healthcheck for postfix 2018-10-16 22:57:25 +02:00
Thomas Sänger
39272ab05c
add healthcheck for http services 2018-10-16 21:38:12 +02:00
kaiyou
e784556330 Fix an edge case with old values containing None for coma separated lists 2018-10-16 20:47:38 +02:00
kaiyou
f647d1a0bc Merge branch 'master' into fix-sender-checks 2018-10-16 20:41:18 +02:00
kaiyou
5ada669f43 Rebase reply startdate on master 2018-10-16 20:38:18 +02:00
mergify[bot]
bee81d1a54
Merge pull request #647 from HorayNarea/bcrypt
support bcrypt and use it as default
2018-10-16 17:50:44 +00:00
mergify[bot]
9fd7851cb6
Merge pull request #648 from HorayNarea/apk-no-cache
remove apk-warning about cache
2018-10-16 06:35:09 +00:00
kaiyou
15eb2806bf Merge branch 'master' into feat-reply-startdate 2018-10-15 22:10:08 +02:00
kaiyou
5035975c41 Remove Postfix debugging 2018-10-15 22:07:38 +02:00
kaiyou
c6846fd8db Merge branch 'master' into feat-reply-startdate 2018-10-15 21:52:06 +02:00
mergify[bot]
a91a54b5f1
Merge pull request #651 from usrpro/fix-certbot
Front: move to Alpine:3.8 and fixing #522
2018-10-11 14:15:04 +00:00
Tim Möhlmann
de43060ef8
Move to Alpine:3.8 and fixing #522 2018-10-11 14:06:26 +03:00
Thomas Sänger
bdfcc5b530
pin alpine-version for 'none'-image 2018-10-11 03:20:19 +02:00
Thomas Sänger
6aafef88bd
remove apk-warning about cache 2018-10-11 02:57:13 +02:00
Thomas Sänger
c8b39c5d4a
support bcrypt and use it as default 2018-10-10 19:29:23 +02:00
kaiyou
10ec2f999a Another (embarrassing) fix for a merge typo 2018-10-10 11:39:41 +02:00
kaiyou
2e1aa079c1 Fix one (hopefully) last merge typo 2018-10-10 11:24:51 +02:00
kaiyou
4b9dbf00a8 Fix yet another merge-time typo 2018-10-10 09:51:50 +02:00
kaiyou
e8e133b53d Fix a merge typo in postfix build 2018-10-10 08:54:57 +02:00
kaiyou
00b5ae11db
Merge branch 'master' into feat-abstract-db 2018-10-10 08:41:56 +02:00
ofthesun9
13146be57e Merge branch 'master' into feature-swarm 2018-10-07 16:42:25 +00:00
kaiyou
508e519a34 Refactor the postfix views and implement sender checks 2018-10-07 16:24:48 +02:00
kaiyou
8b189ed145 Separate senderaccess and senderlogin maps 2018-10-07 16:23:53 +02:00
ofthesun9
74796201ec Merge branch 'master' into feature-swarm 2018-10-07 08:00:12 +00:00
kaiyou
fc99eb7b34 Re-enable sender access check to prevent source spoofing 2018-10-07 01:52:01 +02:00
kaiyou
f3f0b98755 Fix relay restrictions so email gets delivered correctly 2018-10-07 01:28:22 +02:00
Tim Möhlmann
0817629869
Increase attempts as it failed on fresh Swarm host 2018-10-07 02:10:13 +03:00
Tim Möhlmann
716ed16f34
Fix typo 2018-10-07 01:52:52 +03:00
Tim Möhlmann
16469d7282
Upgrade to newer pip version 2018-10-07 01:40:22 +03:00
Tim Möhlmann
1bae5968ad
Import tenacy and fix syntax errors 2018-10-07 01:39:02 +03:00
Tim Möhlmann
c457ccfa60
Use tenacity for resolver retries 2018-10-07 00:32:05 +03:00
Tim Möhlmann
d6c386651d
Merge branch 'master' into fix-swarm-start 2018-10-06 23:48:32 +03:00
ofthesun9
09d77bc2de Handle the case where the variable REJECT_UNLISTED_RECIPIENT is not set 2018-10-04 18:55:56 +00:00
ofthesun9
cc17962c86 fixes #583 2018-10-04 18:55:56 +00:00
kaiyou
4d70a8737e Expose the data volume for admin container 2018-09-28 17:42:10 +02:00
kaiyou
2cba045013 Explicitely declare required volumes, fixes #568 2018-09-28 17:28:46 +02:00
kaiyou
fcad52b145 Implement a start date filter for autoreply, fixes #362 2018-09-27 22:45:16 +02:00
kaiyou
82bb8c2fd9 Merge remote-tracking branch 'github/master' into feat-abstract-db 2018-09-27 17:06:21 +02:00
kaiyou
f5668dea51 Handle relays as virtual transports through podop 2018-09-27 16:30:20 +02:00
kaiyou
9890e1fb2a Fix the dovecot configuration path 2018-09-27 16:13:02 +02:00
kaiyou
42c6bdb4df Split the internal blueprint into multiple view files 2018-09-27 16:09:38 +02:00
kaiyou
dc4b0d21ea Clean the dovecot configuration dir 2018-09-27 16:01:21 +02:00
kaiyou
f9c6c98180 Remove fetchmail dependency to the databse 2018-09-27 15:54:08 +02:00
kaiyou
43b6547e1c Lower the loglevel of podop 2018-09-27 14:53:58 +02:00
kaiyou
542793260b Handle wildcard aliases using podop 2018-09-27 14:53:23 +02:00
kaiyou
0d52364eac Fix alias resolution through podop 2018-09-27 14:38:10 +02:00
kaiyou
6d088504bd Adjust podop debug level based on environment 2018-09-27 14:37:47 +02:00
kaiyou
6ba55ee377 Implement the sieve script name resolution pattern 2018-09-27 14:10:53 +02:00
kaiyou
3c725bf634 Only support generating the default sieve script 2018-09-27 08:18:22 +02:00
kaiyou
ca6c0bc8fd Fix the user sieve script generation 2018-09-27 08:18:03 +02:00
kaiyou
4d25083847 Move sieve script generation to the admin container 2018-09-27 08:11:26 +02:00
kaiyou
cfeaa189f9 Use proper 404 return codes for missing objects 2018-09-27 08:00:31 +02:00
kaiyou
d8365bfbcf Use simpler routes for Dovecot 2018-09-27 07:55:54 +02:00
kaiyou
697caaab81 Update podop access and mail restrictions 2018-09-26 00:15:24 +02:00
kaiyou
7143fb8c47 Implement some basic views for podop 2018-09-26 00:15:03 +02:00
kaiyou
39cd0d5034 Upgrade to alpine 3.8 for smtp and imap 2018-09-26 00:14:30 +02:00
kaiyou
68aa797720 Merge branch 'master' into feat-abstract-db 2018-09-25 21:46:12 +02:00
ofthesun9
f5f09fad6e Reverting the patch for dovecot.conf, as it is not needed 2018-09-25 18:54:40 +00:00
Thomas Sänger
0b885548ab
bind to any protocol 2018-09-25 06:29:53 +02:00
kaiyou
73ca5fb3d3 Provide a more generic skeletton for postfix virtual lookups 2018-09-24 23:19:06 +02:00
ofthesun9
23e288aadc Enabling swarm deployment on master branch:
-Extends the usage of POD_ADDRESS_RANGE
-Provides documentation
2018-09-24 17:29:31 +00:00
kaiyou
5dc9ee9516
Merge pull request #510 from hoellen/spam-trash-fix
Dont flag spam as ham if moved to trash
2018-09-19 08:50:52 +02:00
kaiyou
d917f60352
Merge pull request #553 from HorayNarea/compress
add optional Maildir-Compression
2018-09-16 20:00:32 +02:00
kaiyou
64269e08c0
Merge pull request #552 from HorayNarea/master
add full-text search support
2018-09-16 19:59:28 +02:00
kaiyou
313b79538e
Merge pull request #513 from mprihoda/feature/better-ratelimit-error
Return correct status codes from auth rate limiter failure.
2018-09-16 19:58:34 +02:00
Tim Möhlmann
cc8e15748b Retry 10 times when resolving fails in start.py scripts 2018-08-08 17:54:15 +03:00
Thomas Sänger
0bdb2a16bc
add optional Maildir-Compression 2018-08-05 19:48:24 +02:00
Thomas Sänger
fb62e6b5a2
add full-text search support 2018-08-05 18:59:57 +02:00
kaiyou
f506966abc Pin Alpine 3.7 to preserve the Postfix version 2018-08-03 08:24:06 +02:00
Tim Möhlmann
9350bb9b9a Use fixed alpine:3.7 tag to prevent postix upgrade 2018-08-03 00:18:39 +03:00
Pierre Jaury
3dca1a834c Pin alpine 3.7 until we fix the certbot issue, see #522 2018-08-01 21:56:29 +02:00
Pierre Jaury
18fe8cd9f2 Pin alpine:3.7 for Dovecot since extdata was removed from repos, fixes #528 2018-08-01 21:29:18 +02:00
Pierre Jaury
5ad02ae2e5 Use a more uniform 'Save' for most form submits, fixes #523 2018-08-01 21:24:13 +02:00
Pierre Jaury
c04e58498d Remove unused postfix sqlite files 2018-07-26 21:57:48 +02:00
Pierre Jaury
bb73933e1e Switch postfix to Podop 2018-07-26 21:57:21 +02:00
Pierre Jaury
82e738cc53 Remove the old code of postproxy 2018-07-26 21:45:33 +02:00
Pierre Jaury
b5d6b93869 Switch to using Podop in Dovecot 2018-07-26 21:41:11 +02:00
Pierre Jaury
809fe78f82 Add dovecot views to the internal API 2018-07-26 21:40:44 +02:00
Pierre Jaury
28001213d4 Remove the redis-based quota code 2018-07-26 21:39:30 +02:00
Pierre Jaury
76617a3c97 Store the quota status in database 2018-07-26 21:38:21 +02:00
Pierre Jaury
2b2ab864d1 Add support for querying the table in Dovecot proxy 2018-07-15 15:35:35 +02:00
Pierre Jaury
70175f8c28 Add postproxy support for Dovecot dict protocol 2018-07-15 15:30:16 +02:00
Pierre Jaury
262e82a367 Add a postfix socketmap to http proxy 2018-07-03 20:13:00 +02:00
Michal Prihoda
f5e7751835 Return correct status codes from auth rate limiter failure. 2018-07-02 21:41:40 +02:00
hoellen
ca26264d01 Dont flag spam as ham if moved to trash (fix #474) 2018-06-29 13:47:55 +02:00
kaiyou
75a1bf967c
Merge pull request #502 from hoellen/webmail-messagesize
Use message_size_limit variable from env for webmail client_max_body_size
2018-06-28 21:29:30 +02:00
hoellen
c51e1b9eef webmail client_max_body_size with message_size_limit and 8M tolerance 2018-06-28 19:23:08 +02:00
kaiyou
74b72375cb
Merge pull request #493 from MFAshby/user_validation
Made User and UserSignup validation consistent for the local part of
2018-06-28 14:16:01 +02:00
kaiyou
53bf6085dc
Merge pull request #501 from hoellen/webmail-root
Add posibilty to run webmail on root '/'
2018-06-28 14:13:40 +02:00
hoellen
9091e54fda Hide administration header in sidebar for normal users. 2018-06-25 21:35:40 +02:00
hoellen
81a6a7cbf6 Use message_size variable from env for webmail 2018-06-25 15:51:20 +02:00
hoellen
a1fb8442e3 Add posibilty to run webmail on root '/' 2018-06-25 15:45:43 +02:00
mfashby
0284b6a8e9 Made User and UserSignup validation consistent for the local part of the email address 2018-06-10 15:15:36 +00:00
Pierre Jaury
14687d09ba Fix announcements for idna domains 2018-06-02 10:59:57 +02:00
Pierre Jaury
e543477c2e Revert "Only enable milter for incoming emails"
This reverts commit cfd233039e.
2018-06-02 10:38:08 +02:00
Pierre Jaury
cfd233039e Only enable milter for incoming emails 2018-06-02 10:33:58 +02:00
Pierre Jaury
6828231c28 Fix the path of the nginx pid in startup scripts, fixes #483 2018-06-02 10:23:33 +02:00
Pierre Jaury
1b0b3a2b1e Only check login mismatch for authenticated users, fixes #309 2018-06-02 10:22:15 +02:00
Pierre Jaury
1371ba5f5e Add the keep field to fetch forms, fixes #479 2018-05-30 00:40:50 +02:00
Pierre Jaury
ea658a174d Fix a typo in the base html template 2018-05-30 00:37:34 +02:00
Pierre Jaury
b6c76a5e39 Do not remove openssl when purging build deps, fixes #481 2018-05-30 00:28:44 +02:00
kaiyou
a47ba3474c
Merge pull request #448 from romracer/pod-address
Use POD_ADDRESS_RANGE for Dovecot if it exists
2018-05-28 23:19:06 +02:00
kaiyou
3beceb90ec
Merge pull request #429 from mildred/parametrize-hosts
Add various environment variables to allow running outside of docker-compose
2018-05-28 23:09:08 +02:00
kaiyou
a9e41960a1
Merge pull request #468 from dtwardow/flex_tls_filenames
TLS using configurable filenames
2018-05-28 23:00:14 +02:00
kaiyou
91e51a24c8
Merge pull request #465 from sanduhrs/feature/463
Remove services status page
2018-05-28 22:57:43 +02:00
Thomas Sänger
7d661ab80d
don't require BootstrapCDN for FontAwesome (GDPR-compliance) 2018-05-22 03:33:27 +02:00
Mildred Ki'Lya
6bb4c6e2f0 Parametrize front address from dovecot 2018-05-08 20:42:07 +01:00
Mildred Ki'Lya
ae8c9f5a6b Add various environment variables to allow running outside of docker-compose 2018-05-08 20:41:02 +01:00
Dennis Twardowsky
50f9f379e9 Flexible filenames for TLS via envvars (flavours 'cert' and 'mail' only) 2018-05-01 14:04:18 +02:00
Stefan Auditor
6177571e4d Remove services status localization 2018-04-23 18:59:46 +02:00
Stefan Auditor
b541d4c257 Remove services status sidebar link 2018-04-23 18:56:48 +02:00
Stefan Auditor
e89b32a3f4 Remove services route 2018-04-23 18:55:37 +02:00
Stefan Auditor
ec8e82aaca Remove services status template 2018-04-23 18:55:13 +02:00
kaiyou
f55e5e26cd Update messages.po (POEditor.com) 2018-04-22 12:19:35 +02:00
kaiyou
2b96abbef4 Update messages.po (POEditor.com) 2018-04-22 12:15:40 +02:00
kaiyou
af38d5ab0c Update messages.po (POEditor.com) 2018-04-22 12:15:38 +02:00
kaiyou
fc89b30e8a Update messages.po (POEditor.com) 2018-04-22 12:15:36 +02:00
kaiyou
791fab688a Update messages.po (POEditor.com) 2018-04-22 12:15:33 +02:00
kaiyou
c9b0832899 Update messages.po (POEditor.com) 2018-04-22 12:15:31 +02:00
kaiyou
fa1b0ac32c Update messages.po (POEditor.com) 2018-04-22 12:15:28 +02:00
kaiyou
75f0791965 Update messages.po (POEditor.com) 2018-04-22 12:15:26 +02:00
kaiyou
c91c5c7493 Update messages.po (POEditor.com) 2018-04-22 12:15:24 +02:00
kaiyou
299a654e97 Update messages.po (POEditor.com) 2018-04-22 12:15:22 +02:00
kaiyou
494e52d8f0 Update messages.po (POEditor.com) 2018-04-22 12:15:20 +02:00
kaiyou
3b7014d563 Add dummy spanish and russion languages 2018-04-22 12:13:25 +02:00
kaiyou
be0a0b4ac8 Update translation strings 2018-04-22 12:10:39 +02:00
kaiyou
8bad30cd59 Move the domain MX status to the detail page 2018-04-22 10:15:09 +02:00
kaiyou
7f0447514c Finish storing the user quota to redis 2018-04-21 17:19:44 +02:00
kaiyou
80893be68b Add a missing import to dnspython 2018-04-21 16:37:30 +02:00
kaiyou
091369915b Display the user quota in the admin interface 2018-04-21 15:48:07 +02:00
kaiyou
e13593f29a Switch to database 2 for rate limiting 2018-04-21 15:07:04 +02:00
kaiyou
d1dbba2d3a Add expose instructions in Dockerfiles, fixes #392 2018-04-21 14:46:01 +02:00
kaiyou
62d1a0c104 Add a status field to the domain list 2018-04-21 13:56:20 +02:00
kaiyou
bb0d7bf6dc Enforce the nocase collation on the email table 2018-04-21 13:25:48 +02:00
kaiyou
186c30d2ac Have the admin listen on ipv6 2018-04-21 12:55:14 +02:00
kaiyou
35276c3101
Merge pull request #458 from Farthen/master
Dovecot: Add SQL iterate_query to config file.
2018-04-21 11:48:22 +02:00
kaiyou
dfaedb76f1
Merge pull request #447 from sanduhrs/feature/446
Add a sqlalchemy custom type for unicode to idna conversion of domain names
2018-04-21 11:46:43 +02:00
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
2018-04-19 00:44:50 +02:00
kaiyou
9968d708f1 Update the prod requirements 2018-04-18 20:34:21 +02:00
kaiyou
381e76511d Add self-service domain registration 2018-04-18 20:34:21 +02:00
Stefan Auditor
c688970b32 Respect user enabled flag in admin authentication 2018-04-16 08:57:35 +02:00
Stefan Auditor
d3064579f4 Respect user enabled flag in basic authentication 2018-04-16 08:57:35 +02:00
Stefan Auditor
92f4858323 Respect user.enabled status in internal authentication 2018-04-16 08:57:35 +02:00
Stefan Auditor
d2c6cecca6 Remove is_enabled method and use the enabled attribute instead 2018-04-16 08:57:35 +02:00
Stefan Auditor
5bfdd75738 Respect user enabled flag on user.login 2018-04-16 08:57:35 +02:00
Stefan Auditor
78f4fa7db9 Add field to ui for user enabled flag 2018-04-16 08:57:35 +02:00
Stefan Auditor
20d6fbae48 Add enabled flag to user model 2018-04-16 08:57:35 +02:00
Scott
2c2a1ed042 Remove stale link to old auto-forward settings. Fixes #450
Also update a reference to 'smtp' to use HOST_AUTHSMTP
2018-04-16 08:57:35 +02:00
kaiyou
a51416a4af
Merge pull request #452 from sanduhrs/feature/449
Add enabled flag to user model
2018-04-15 23:15:20 +02:00
Stefan Auditor
e843f7ef1f Respect user enabled flag in admin authentication 2018-04-15 19:53:24 +02:00
Stefan Auditor
c8540ddba7 Respect user enabled flag in basic authentication 2018-04-15 14:02:15 +02:00
Stefan Auditor
6fc22e5432 Respect user.enabled status in internal authentication 2018-04-15 13:43:30 +02:00
Stefan Auditor
733b89bff5 Remove is_enabled method and use the enabled attribute instead 2018-04-15 13:42:19 +02:00
Stefan Auditor
3b66fcada7 Respect user enabled flag on user.login 2018-04-15 13:00:38 +02:00
Stefan Auditor
7139a27bf1 Add field to ui for user enabled flag 2018-04-15 11:35:37 +02:00
Stefan Auditor
f585197e52 Add enabled flag to user model 2018-04-15 11:23:58 +02:00
Scott
e5c25c395f Remove stale link to old auto-forward settings. Fixes #450
Also update a reference to 'smtp' to use HOST_AUTHSMTP
2018-04-14 16:48:08 -05:00
Stefan Auditor
7f5bd98a2e Add parameters to database field 2018-04-14 13:02:00 +02:00
Stefan Auditor
93d5254b3f Add another type decorator for idna email support 2018-04-14 13:00:29 +02:00
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.
2018-04-13 20:04:49 -05:00
Stefan Auditor
792c720c13 Save user email domain_name as idna representation 2018-04-13 08:13:26 +02:00
Stefan Auditor
c40e255f3b Reset relay columns to string 2018-04-12 22:21:28 +02:00
Stefan Auditor
d9ea64fac7 Import idna library and move code a bit upwards 2018-04-12 21:35:38 +02:00
Stefan Auditor
5a7272ff12 Replace other occurences of domain names with idna 2018-04-12 20:30:19 +02:00
Stefan Auditor
1b666cd25b Add a sqlalchemy custom type for unicode to idna conersion of domain names 2018-04-12 19:07:48 +02:00
kaiyou
db0cd8efb4 Fix the client setup page when not logged in 2018-04-11 22:45:04 +02:00
kaiyou
e92113bd57
Merge pull request #433 from mildred/delivered-to-hdr
Add original Delivered-To header to received messages
2018-04-11 21:53:30 +02:00
kaiyou
b4134b7774 Add a client setup page, fixes #342 2018-04-11 21:45:17 +02:00
kaiyou
fa0bda7b69 Merge the auto-forward and antispam settings 2018-04-11 21:28:36 +02:00
kaiyou
3ef4e1f6b7 Add support for recaptcha upon signup 2018-04-11 21:08:59 +02:00
kaiyou
e02e47c48e
Merge pull request #416 from calebj/patch-1
Add support for sending from alternative domains
2018-04-11 20:37:23 +02:00
Scott
b9e67635f4 Use HOST_ADMIN in "Forwarding authentication server". Fixes #436. 2018-04-07 12:40:32 -05:00
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.
2018-04-03 22:19:13 +01:00
Caleb Johnson
b58dcfb511
Add support for sending from alternative domains
See Mailu/Mailu#415
2018-03-19 17:54:04 -05:00
AdrienM
29a1548532 Add explicit ssl_protocols in conf 2018-03-19 08:36:03 +00:00
kaiyou
dfb5463c94 Relax the frame filtering to allow roundcube to display previews 2018-02-11 22:56:26 +01:00
kaiyou
04278b6cbf Pass the full host to the backend, fixes #372 2018-02-06 18:56:41 +01:00
kaiyou
6c56c8e298 Specify the client max body size in the front, related to #371 2018-01-28 10:35:55 +01:00
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.
2018-01-24 22:54:41 +01:00
kaiyou
d8ebfbe020 Display infinite user quotas correctly, fixes #368 2018-01-16 20:03:07 +01:00
SunMar
6ec0fe7036 Adding options for mail-letsencrypt 2018-01-04 16:23:28 +01:00
kaiyou
d98f16333a Display an infinite quota when necessary for users, fixes #345 2017-12-17 15:13:47 +01:00
kaiyou
8d224824ea Display a conditional button for generation dkim keys, fixes #346 2017-12-17 15:11:08 +01:00
kaiyou
d0b8de72e4 Do not deny HTTP access upon TLS error when the flavor is mail 2017-12-17 15:09:10 +01:00
kaiyou
bfc898c2d8 Move dhparam to /conf 2017-12-17 14:47:02 +01:00
Greg Fitzgerald
f1ad2cf4d0 Use a predefined dhparam.pem, This fixes issue #322 2017-12-17 14:47:02 +01:00
kaiyou
7a9d2c9725
Merge pull request #353 from ripkens/patch-1
Added adress verification before accepting mails for delivery
2017-12-17 14:41:28 +01:00
kaiyou
acb5d7da38 Use relative redirect for / to the webmail 2017-12-04 22:42:12 +01:00
kaiyou
2dfc91ac4d Use a map for passing x-forwarded-proto along 2017-12-04 22:19:17 +01:00
Marcus Ripkens
7375134474
Update main.cf 2017-12-04 22:04:22 +01:00
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.
2017-12-04 22:02:33 +01:00
kaiyou
42314d3d75 Remove a remaining rebug print() statement 2017-12-04 21:55:40 +01:00
kaiyou
a4f46ced49 Properly use x-forwarded-proto with redirects in the webui, related to #347 2017-12-04 21:16:08 +01:00
kaiyou
48d736feef Configure a resolver for the mail server to populate xclient hostnames 2017-12-04 20:28:54 +01:00
rageOS
59766d289e
Fix for relayed Domains 2017-12-04 19:57:51 +01:00
kaiyou
319965a4af Add a format check for the email localpart when signing up 2017-12-03 19:37:36 +01:00
kaiyou
18ae6a4a0f Fix the signup quota 2017-12-03 17:53:33 +01:00
kaiyou
e85eada522 Fix the login view when no next page is provided 2017-12-03 17:53:12 +01:00
kaiyou
def0a8b89d Fix the signup domain list with non infinite mailbox max count 2017-12-03 17:52:54 +01:00
kaiyou
2662abedef Enable self-service account signup 2017-12-03 12:01:25 +01:00
kaiyou
3b79e5196a Add a default quota setting for new accounts 2017-12-03 12:01:03 +01:00
kaiyou
6d71fa96ad Add a signup field to domains 2017-12-03 12:00:44 +01:00
kaiyou
4761646616 Make sure stale pid files are dealt with, fix #341 2017-12-03 11:28:26 +01:00
kaiyou
743eb81908 Fix the Webdav behavior with Radicale, related to #334 2017-11-30 22:03:42 +01:00
kaiyou
328001a417
Merge pull request #329 from HorayNarea/patch-1
Disable ssl_session_tickets, see https://wiki.mozilla.org/Security/Server_Side_TLS#TLS_tickets_.28RFC_5077.29
2017-11-21 22:16:25 +01:00
kaiyou
c545b8d110 Honor feature limitations for imap and pop3 2017-11-21 20:46:32 +01:00
kaiyou
3e464b0b70 Update messages.po (POEditor.com) 2017-11-20 00:17:44 +01:00
kaiyou
952a50665b Update messages.po (POEditor.com) 2017-11-20 00:17:42 +01:00
kaiyou
d4441b6815 Move nl and sv loca to LC_MESSAGES 2017-11-20 00:15:33 +01:00
kaiyou
ab34ce4e8e Add dummy files for pl and it loca 2017-11-20 00:12:39 +01:00
kaiyou
2f4758a445 Update messages.po (POEditor.com) 2017-11-20 00:11:34 +01:00
kaiyou
e368c200b1 Update messages.po (POEditor.com) 2017-11-20 00:11:31 +01:00
kaiyou
f3ae318132 Perform webdav authentication in nginx, fixes #330 2017-11-20 00:09:19 +01:00
kaiyou
17b184e5c8 Implement a basic authentication API 2017-11-20 00:08:48 +01:00
kaiyou
8920982213 Properly pass the request uri to the authentication backend 2017-11-18 16:40:01 +01:00
kaiyou
97dd9ed77c Fix a missing variable in the nginx config 2017-11-18 15:22:38 +01:00
Thomas Sänger
d61ba8e651
disable ssl_session_tickets 2017-11-15 12:34:00 +01:00
kaiyou
eb32871904 Force nginx to run dns queries at runtime 2017-11-13 21:40:22 +01:00
Thomas Sänger
ad7c5e48c5
automatically set nginx-worker based on CPU-count 2017-11-12 23:21:00 +01:00
kaiyou
059cbb37a4 Update messages.po (POEditor.com) 2017-11-11 15:21:28 +01:00
kaiyou
e9f4719a40 Update messages.po (POEditor.com) 2017-11-11 15:21:26 +01:00
kaiyou
112cff3621 Update messages.po (POEditor.com) 2017-11-11 15:21:24 +01:00
kaiyou
f30a09f182 Update messages.po (POEditor.com) 2017-11-11 15:21:22 +01:00
kaiyou
826d212a75 Update messages.po (POEditor.com) 2017-11-11 15:21:19 +01:00
kaiyou
72029ca220 Update messages.po (POEditor.com) 2017-11-11 15:21:17 +01:00
kaiyou
aa9a065d5b Update messages.po (POEditor.com) 2017-11-11 15:14:30 +01:00
kaiyou
2e370e3731 Update messages.po (POEditor.com) 2017-11-11 15:14:27 +01:00
kaiyou
ebddc7bec2 Add dummy translations for swedish and dutch 2017-11-11 15:12:14 +01:00
kaiyou
f362ecdb19 Fix the missing trailing space on /webmail, fixes #304 2017-11-10 16:04:40 +01:00
kaiyou
652ca769dc Allow authentication from webmail directly, fixes #308 2017-11-10 15:54:41 +01:00
kaiyou
28eff398d1 Send a vacation response only until the end date, fixes #218 2017-11-10 15:39:16 +01:00
kaiyou
011e1fa52d Add an end of vacation field, related to #218 2017-11-10 15:25:30 +01:00
kaiyou
fb42797ab7 Use SITENAME and WEBSITE properly in the admin ui 2017-11-10 15:00:51 +01:00
kaiyou
872271cb47 Clean the configuration variable list 2017-11-10 14:56:55 +01:00
kaiyou
1a3f85fbc2 Make the rspamd webui available, fixes #157 2017-11-10 14:49:36 +01:00
kaiyou
ac0c339aa8 Implement welcome emails, fixes #107 2017-11-10 11:56:43 +01:00
kaiyou
570e90acbc Move email send features to the User model 2017-11-10 11:55:58 +01:00