diff --git a/management/templates/aliases.html b/management/templates/aliases.html index 69bc62c4..c43467a0 100644 --- a/management/templates/aliases.html +++ b/management/templates/aliases.html @@ -1,198 +1,201 @@ - +
Aliases are email forwarders. An alias can forward email to a mail user or to any email address.
+- | Alias |
- Forwards To | -
---|
Hostmaster@, postmaster@, and admin@ email addresses are required on some domains.
- - - - - + function aliases_reset_form() { + $("#addaliasEmail").prop('disabled', false); + $("#addaliasEmail").val('') + $("#addaliasTargets").val('') + $('#alias-cancel').addClass('hidden'); + $('#add-alias-button').text('Add Alias'); + is_alias_add_update = false; + } + + function aliases_edit(elem) { + var email = $(elem).parents('tr').attr('data-email'); + var targetdivs = $(elem).parents('tr').find('.target div'); + var targets = ""; + for (var i = 0; i < targetdivs.length; i++) + targets += $(targetdivs[i]).text() + "\n"; + + is_alias_add_update = true; + $('#alias-cancel').removeClass('hidden'); + $("#addaliasEmail").prop('disabled', true); + $("#addaliasEmail").val(email); + $("#addaliasTargets").val(targets); + $('#add-alias-button').text('Update'); + $('body').animate({ scrollTop: 0 }) + } + + function aliases_remove(elem) { + var email = $(elem).parents('tr').attr('data-email'); + show_modal_confirm( + "Remove Alias", + "Remove " + email + "?", + "Remove", + function() { + api( + "/mail/aliases/remove", + "POST", + { + source: email + }, + function(r) { + // Responses are multiple lines of pre-formatted text. + show_modal_error("Remove User", $("").text(r)); + show_aliases(); + }); + }); + } + + +This is an advanced configuration page.
+This is an advanced configuration page.
-It is possible to set custom DNS records on domains hosted here.
+It is possible to set custom DNS records on domains hosted here.
-If your TLD requires you to have two separate nameservers, you can either set up a secondary (aka “slave”) nameserver or, alternatively, set up external DNS and ignore the DNS server on this box. If you choose to use a seconday/slave nameserver, you must find a seconday/slave nameserver service provider. Your domain name registrar or virtual cloud provider may provide this service for you. Once you set up the seconday/slave nameserver service, enter the hostname of their secondary nameserver:
+If your TLD requires you to have two separate nameservers, you can either set up a secondary (aka “slave”) nameserver or, alternatively, set up external DNS and ignore the DNS server on this box. If you choose to use a seconday/slave nameserver, you must find a seconday/slave nameserver service provider. Your domain name registrar or virtual cloud provider may provide this service for you. Once you set up the seconday/slave nameserver service, enter the hostname of their secondary nameserver:
-Use your box’s DNS API to set custom DNS records on domains hosted here. For instance, you can create your own dynamic DNS service.
+ +Send a POST request like this:
+ +curl -d "" --user {email}:{password} https://{{hostname}}/admin/dns/set/qname[/rtype[/value]]+ +
Parameter | Value | +
---|---|
The email address of any administrative user here. | |
password | That user’s password. |
qname | The fully qualified domain name for the record you are trying to set. |
rtype | The resource type. A if omitted. Possible values: A (an IPv4 address), AAAA (an IPv6 address), TXT (a text string), or CNAME (an alias, which is a fully qualified domain name). |
value | The new record’s value. If omitted, the IPv4 address of the remote host is used. This is handy for dynamic DNS! To delete a record, use “__delete__”. |
Note that -d ""
is merely to ensure curl sends a POST request. You do not need to put anything inside the quotes. You can also pass the value using typical form encoding in the POST body.
Strict SPF and DMARC records will be added to all custom domains unless you override them.
+ +# sets laptop.mydomain.com to point to the IP address of the machine you are executing curl on + curl -d "" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/laptop.mydomain.com + + # sets an alias + curl -d "" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/foo.mydomain.com/cname/bar.mydomain.com + + # clears the alias + curl -d "" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/bar.mydomain.com/cname/__delete__ + + # sets a TXT record using the alternate value syntax + curl -d "value=something%20here" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/foo.mydomain.com/txt ++ +
Send a POST request like this:
- -curl -d "" --user {email}:{password} https://{{hostname}}/admin/dns/set/qname[/rtype[/value]]- -
Parameter | Value | -
---|---|
The email address of any administrative user here. | |
password | That user’s password. |
qname | The fully qualified domain name for the record you are trying to set. |
rtype | The resource type. A if omitted. Possible values: A (an IPv4 address), AAAA (an IPv6 address), TXT (a text string), or CNAME (an alias, which is a fully qualified domain name). |
value | The new record’s value. If omitted, the IPv4 address of the remote host is used. This is handy for dynamic DNS! To delete a record, use “__delete__”. |
Note that -d ""
is merely to ensure curl sends a POST request. You do not need to put anything inside the quotes. You can also pass the value using typical form encoding in the POST body.
Strict SPF and DMARC records will be added to all custom domains unless you override them.
- -# sets laptop.mydomain.com to point to the IP address of the machine you are executing curl on -curl -d "" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/laptop.mydomain.com - -# sets an alias -curl -d "" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/foo.mydomain.com/cname/bar.mydomain.com - -# clears the alias -curl -d "" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/bar.mydomain.com/cname/__delete__ - -# sets a TXT record using the alternate value syntax -curl -d "value=something%20here" --user me@mydomain.com:###### https://{{hostname}}/admin/dns/set/foo.mydomain.com/txt -- - +
This is an advanced configuration page.
- -Although your box is configured to serve its own DNS, it is possible to host your DNS elsewhere — such as in the DNS control panel provided by your domain name registrar or virtual cloud provider — by copying the DNS zone information shown in the table below into your external DNS server’s control panel.
- -If you do so, you are responsible for keeping your DNS entries up to date! If you previously enabled DNSSEC on your domain name by setting a DS record at your registrar, you will likely have to turn it off before changing nameservers.
- -QName | -Type | -Value | -
---|
This is an advanced configuration page.
+ +Although your box is configured to serve its own DNS, it is possible to host your DNS elsewhere — such as in the DNS control panel provided by your domain name registrar or virtual cloud provider — by copying the DNS zone information shown in the table below into your external DNS server’s control panel.
+ +If you do so, you are responsible for keeping your DNS entries up to date! If you previously enabled DNSSEC on your domain name by setting a DS record at your registrar, you will likely have to turn it off before changing nameservers.
+ +QName | +Type | +Value | +
---|
Your username and password are the same no matter how you check your mail:
@@ -28,41 +35,45 @@This method is preferred on Android devices but is not available on iOS devices.
+Your mail server is {{hostname}}. Use the following settings when prompted:
+This method is preferred on Android devices but is not available on iOS devices.
-Protocol | Port | Options |
---|---|---|
IMAP | 993 | SSL |
SMTP | 587 | STARTTLS (“always” or “required”, if prompted) |
Your mail server is {{hostname}}. Use the following settings when prompted:
-In addition to setting up your email, you’ll also need to set up contacts and calendar synchronization separately.
-Protocol | Port | Options |
---|---|---|
IMAP | 993 | SSL |
SMTP | 587 | STARTTLS (“always” or “required”, if prompted) |
In addition to setting up your email, you’ll also need to set up contacts and calendar synchronization separately.
-On iOS devices and devices on this compatibility list, set up your mail as an Exchange or ActiveSync server. Use these settings when prompted:
+Server | {{hostname}} |
---|---|
Options | Secure Connection |
On iOS devices and devices on this compatibility list, set up your mail as an Exchange or ActiveSync server. Use these settings when prompted:
+ +Server | {{hostname}} |
---|---|
Options | Secure Connection |
Your device should also provide a contacts list and calendar that syncs to this box when you use this method.
+ +Your device should also provide a contacts list and calendar that syncs to this box when you use this method.
-Your box sets strict email sending policies for your domain names to make it harder for spam and other fraudulent mail to claim to be you. Only this machine is authorized to send email on behalf of your domain names. If you use any other service to send email as you, it will likely get spam filtered by recipients.
+Domain | +Certificate Status | +Actions | +
---|
Domain | -Certificate Status | -Actions | -
---|
There are many places where you can get a free or cheap SSL certificate. We recommend Namecheap’s $9 certificate or StartSSL’s free express lane.
-There are many places where you can get a free or cheap SSL certificate. We recommend Namecheap’s $9 certificate or StartSSL’s free express lane.
+Which domain are you getting an SSL certificate for?
-Which domain are you getting an SSL certificate for?
+ - + +This box can hold your contacts and calendar, just like it holds your email.
+This box can hold your contacts and calendar, just like it holds your email.
-You can edit your contacts and calendar from your web browser.
+For... | Visit this URL |
---|---|
Contacts | https://{{hostname}}/cloud/contacts |
Calendar | https://{{hostname}}/cloud/calendar |
You can edit your contacts and calendar from your web browser.
-Log in settings are the same as with mail: your - complete email address and your mail password.
-For... | Visit this URL |
---|---|
Contacts | https://{{hostname}}/cloud/contacts |
Calendar | https://{{hostname}}/cloud/calendar |
Log in settings are the same as with mail: your + complete email address and your mail password.
-If you set up your mail using Exchange/ActiveSync, - your contacts and calendar may already appear on your device.
-Otherwise, here are some apps that can synchronize your contacts and calendar to your Android phone.
+For... | Use... |
---|---|
Contacts and Calendar | DAVdroid ($3.69; free here) |
Only Contacts | CardDAV-Sync free beta (free) |
Only Calendar | CalDAV-Sync ($2.89) |
If you set up your mail using Exchange/ActiveSync, + your contacts and calendar may already appear on your device.
+Otherwise, here are some apps that can synchronize your contacts and calendar to your Android phone.
-Use the following settings:
+For... | Use... |
---|---|
Contacts and Calendar | DAVdroid ($3.69; free here) |
Only Contacts | CardDAV-Sync free beta (free) |
Only Calendar | CalDAV-Sync ($2.89) |
Account Type | CardDAV or CalDAV |
Server Name | {{hostname}} |
Use SSL | Yes |
Username | Your complete email address. |
Password | Your mail password. |
Use the following settings:
+ +Account Type | CardDAV or CalDAV |
Server Name | {{hostname}} |
Use SSL | Yes |
Username | Your complete email address. |
Password | Your mail password. |
The box makes an incremental backup each night. The backup is stored on the machine itself. You are responsible for copying the backup files off of the machine.
+Many cloud providers make this easy by allowing you to take snapshots of the machine's disk.
+You can also use SFTP (FTP over SSH) to copy files from . These files are encrpyted, so they are safe to store anywhere. Copy the encryption password from also but keep it in a safe location.
+The box makes an incremental backup each night. The backup is stored on the machine itself. You are responsible for copying the backup files off of the machine.
-Many cloud providers make this easy by allowing you to take snapshots of the machine's disk.
-The backup directory currently contains the backups listed below. The total size on disk of the backups is .
+You can also use SFTP (FTP over SSH) to copy files from . These files are encrpyted, so they are safe to store anywhere. Copy the encryption password from also but keep it in a safe location.
-When | -Type | -Size | -Deleted in... | - - - -
---|
The size column in the table indicates the size of the encrpyted backup, but the total size on disk shown above includes storage for unencrpyted intermediate files.
+The backup directory currently contains the backups listed below. The total size on disk of the backups is .
- + if (r.backups.length == 0) { + var tr = $('Add an email address to this system. This will create a new login username/password. (Use aliases to create email addresses that forward to existing accounts.)
+- Passwords must be at least four characters and may not contain spaces. - Administrators get access to this control panel. -
+Email Address | -Actions | -Mailbox Size | -
---|
Add an email address to this system. This will create a new login username/password. (Use aliases to create email addresses that forward to existing accounts.)
-