2018-10-17 14:38:51 +02:00
{% call macros.panel("info", "Step 2 - Initial configuration") %}
2018-10-18 16:23:25 +02:00
< p > Before starting some variables must be set< / p >
2018-10-16 15:12:42 +02:00
< div class = "form-group" >
< label > Root path: < / label >
2018-10-17 14:11:55 +02:00
<!-- Validates path -->
< input class = "form-control" type = "text" name = "root" value = "/mailu" required pattern = "^/[-_A-Za-z0-9]+(/[-_A-Za-z0-9]*)*" >
2018-10-16 15:12:42 +02:00
< / div >
2018-10-19 10:57:02 +02:00
< p > In the next sections we need to set the postmaster address. This is a combination from the < i > postmaster< / i > local part and the < i > main mail domain< / i > .
The < i > main mail domain< / i > is also used as < / i > "server display name"< / i > . This is the way the SMTP server identifies himself when connecting to others.
The Postmaster will get an e-mail address < postmaster> @< main_domain> . This address will receive the DMARC "rua" and "ruf" reports.
Or in plain english: if receivers start to classify your mail as spam, this postmaster will be informed.< / p >
2018-10-16 15:12:42 +02:00
< div class = "form-group" >
2018-10-19 10:57:02 +02:00
< label >
Main mail domain and server display name.
< / label >
2018-10-17 14:11:55 +02:00
<!-- Validates domain name -->
< input class = "form-control" type = "text" name = "domain" placeholder = "e.g. mailu.io"
required pattern="^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$">
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-group" >
2018-10-19 10:57:02 +02:00
< label > Postmaster local part< / label >
2018-10-17 14:11:55 +02:00
< input class = "form-control" type = "text" name = "postmaster" value = "admin" required >
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-group" >
2018-10-19 10:57:02 +02:00
< label > Choose how you wish to handle security (TLS) certificates< / label >
2018-10-16 15:12:42 +02:00
< br / >
2018-10-18 16:23:25 +02:00
< select class = "btn btn-primary dropdown-toggle" name = "tls_flavor" >
2018-10-16 15:12:42 +02:00
{% for tlsflavor in ["letsencrypt", "cert", "notls", "mail", "mail-letsencrypt"] %}
< option value = "{{ tlsflavor }}" > {{ tlsflavor }}< / option >
{% endfor %}
< / select >
< / div >
< div class = "form-group" >
< label > Authentication rate limit (per source IP address)< / label >
2018-10-17 14:11:55 +02:00
<!-- Validates number input only -->
< p > < input class = "form-control" style = "width: 7%; display: inline;" type = "number" name = "auth_ratelimit_pm"
value="10" required >/minute;
< input class = "form-control" style = "width: 7%; display: inline;;" type = "number" name = "auth_ratelimit_ph"
value="1000" required >/hour< / p >
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-check form-check-inline" >
< label class = "form-check-label" >
< input class = "form-check-input" type = "checkbox" name = "disable_statistics" value = "True" >
Opt-out of statistics
< / label >
< / div >
< div class = "form-group" >
< label > Website name< / label >
2018-10-17 14:11:55 +02:00
< input class = "form-control" type = "text" name = "site_name" value = "Mailu" required >
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-group" >
< label > Linked Website URL< / label >
2018-10-17 14:11:55 +02:00
<!-- Validates url with or without https:// -->
< input class = "form-control" type = "url" name = "website" value = "https://mailu.io" required
pattern="^(https?://)?([a-zA-Z0-9]([a-zA-ZäöüÄÖÜ0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$">
2018-10-16 15:12:42 +02:00
< / div >
2018-10-19 10:45:55 +02:00
< p > The admin interface is the main Mailu-specific bit, it provides tools to
manage your email domains, users, etc.< / p >
< div class = "form-group" >
2018-10-26 15:50:59 +02:00
< input type = "checkbox" name = "admin_enabled" value = "true" id = "admin" >
< label > Enable the admin UI (and path to the admin UI)< / label >
< input class = "form-control" type = "text" name = "admin_path" id = "admin_path" style = "display: none" >
2018-10-19 10:45:55 +02:00
< / div >
2018-10-26 15:50:59 +02:00
< script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" > < / script >
< script type = "text/javascript" language = "javascript" >
$(document).ready(function() {
if ($('#admin').prop('checked')) {
$("#admin_path").show();
$("#admin_path").attr("value", "/admin");
}
$("#admin").change(function() {
if ($(this).is(":checked")) {
$("#admin_path").show();
$("#admin_path").attr("value", "/admin");
} else {
$("#admin_path").hide();
$("#admin_path").attr("value", "");
}
});
});
< / script >
2018-10-16 15:12:42 +02:00
{% endcall %}