You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document aims to provide the reader with a detailed understanding of the various components of an email system, including the installation and basic configuration of one.
9
+
This document aims to provide the reader with a detailed understanding of the various components of an email system, including its installation and basic configuration.
10
10
11
11
All commands in this document are executed using **root(uid=0)**.
12
12
@@ -20,7 +20,7 @@ All commands in this document are executed using **root(uid=0)**.
20
20
21
21
!!! info
22
22
23
-
Without a database, Postfix and Dovecot can still work for a small installation.
23
+
Postfix and Dovecot can still work for a small installation without a database.
24
24
25
25
### Install and configure `bind`
26
26
@@ -62,7 +62,7 @@ zone "rockylinux.me" IN {
62
62
63
63
!!! question
64
64
65
-
**What is a DNS zone?** A DNS zone is aportion of the DNS namespace that's hosted on a DNS server. A DNS zone contains resource records, and a DNS server responds to queries for records in that namespace. A DNS server can have multiple DNS zones. Simply put, a DNS zone is analogous to a book catalog.
65
+
**What is a DNS zone?** A DNS zone is a portion of the DNS namespace hosted on a DNS server. A DNS zone contains resource records, and a DNS server responds to queries for records in that namespace. A DNS server can have multiple DNS zones. Simply put, a DNS zone is analogous to a book catalog.
66
66
67
67
First, initialize BIND:
68
68
@@ -120,7 +120,7 @@ dns.rockylinux.me. 86400 IN A 192.168.100.7
120
120
121
121
### Install and configure MySQL
122
122
123
-
First, lets now install MySQL from source:
123
+
First, install MySQL from the source:
124
124
125
125
```bash
126
126
Shell(192.168.100.5) > groupadd mysql && useradd -r -g mysql -s /sbin/nologin mysql
@@ -142,7 +142,7 @@ Shell(192.168.100.5) > cd /usr/local/src/mysql-8.0.33 && mkdir build && cd build
@@ -231,7 +231,7 @@ Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(1,1,
231
231
Mysql >insert into virtual_aliases(id,domain_id,source,destination) values(2,1,'all@mail.rockylinux.me','leeo@mail.rockylinux.me');
232
232
```
233
233
234
-
The password entries for the relevant email users are not shown here, as it requires the use of`doveadm pw -s SHA512-crypt -p twotestandtwo` command. See [here](#ap1)
234
+
The password entries for the relevant email users are not shown here, as it requires using`doveadm pw -s SHA512-crypt -p twotestandtwo` command. See [here](#ap1)
235
235
236
236
#### Knowledge of SHA512 (SHA-2)
237
237
@@ -294,7 +294,7 @@ You need to know these binary executable files:
294
294
295
295
!!! tip
296
296
297
-
You can specify the default MTA using the `alternatives -config mta` command if you have more than one MTA on your server.
297
+
If your server has more than one MTA, you can specify the default MTA using the `alternatives -config mta` command.
The explanation of these parameters is as follows:
340
340
341
-
*`compatibility_level = 2`: Enable compatibility with Postfix 2.x configurations.
341
+
*`compatibility_level = 2`: Enables compatibility with Postfix 2.x configurations.
342
342
*`data_directory = /var/lib/postfix`. The Postfix cache directory.
343
343
*`myhostname = host.domain.tld`: **Important:** You need to change it to the hostname under your domain name.
344
344
*`mydomain = domain.tld`: **Important:** You need to change it to your domain name.
345
345
*`myorigin = $myhostname` and `myorigin = $mydomain`: **Important:** parameters that have been commented out. The main function is to complement the sender's mail suffix. `$` represents a reference parameter variable.
346
346
*`inet_interfaces = localhost`: The interfaces to listen to. This value is usually changed to "all".
347
-
*`inet_protocols = all`: Enable IPv4, and IPv6 if an address is found.
347
+
*`inet_protocols = all`: Enables IPv4, and IPv6 if an address is found.
348
348
*`mydestination = \$myhostname, localhost.\$mydomain, localhost`: Indicates the mail server's destination hosts.
349
349
*`unknown_local_recipient_reject_code = 550`: The error code returned when receiving an email to an unknown destination or rejecting an email.
350
-
*`mynetworks =`: Set which networks we should accept emails from.
351
-
*`relay_domains = $mydestination`: Set which domains we should relay emails from.
350
+
*`mynetworks =`: Sets which networks we should accept emails from.
351
+
*`relay_domains = $mydestination`: Sets which domains we should relay emails from.
352
352
*`alias_maps = hash:/etc/aliases`: List of our email server's aliases.
353
-
*`alias_database = hash:/etc/aliases`: The database to be used by aliases.
353
+
*`alias_database = hash:/etc/aliases`: The database is to be used by aliases.
354
354
*`home_mailbox = Maildir/`: **Important**: Out local mailbox location.
355
355
*`debug_peer_level = 2`: Level of log records.
356
356
*`setgid_group = postdrop`: The Unix group for managing Postfix queues.
@@ -584,8 +584,8 @@ The file description is as follows:
584
584
*`dovecot.conf` is the main Dovecot configuration file.
585
585
586
586
* Load other configuration files via `!include conf.d/*.conf`.
587
-
* The numeral prefix of the subconfiguration file is to facilitate human understanding of its parsing order.
588
-
* Due to historical reasons, some config files are still separate, which are typically named `*.conf.ext`.
587
+
* The numeral prefix of the sub-configuration file facilitates human understanding of its parsing order.
588
+
* Due to historical reasons, some config files are still separate, typically named `*.conf.ext`.
589
589
* In the configuration file, you can use variables divided into **Global variables** and **User variables**, starting with `%`. See [here](https://doc.dovecot.org/configuration_manual/config_file/config_variables/#config-variables).
590
590
591
591
*`10-auth.conf`: Authentication configuration.
@@ -598,12 +598,12 @@ The file description is as follows:
598
598
#### Some important configuration file parameters
599
599
600
600
*`protocols = imap pop3 lmtp submission`: List of protocols to be used.
601
-
*`listen = *, ::`: A commaseparated list of IPs or hosts where to listen in for connections. `*` listens in all IPv4 interfaces, `::` listens in all IPv6 interfaces.
601
+
*`listen = *, ::`: A comma-separated list of IPs or hosts where to listen in for connections. `*` listens in all IPv4 interfaces, `::` listens in all IPv6 interfaces.
602
602
*`disable_plaintext_auth = yes`: Whether to turn off plaintext authentication.
603
603
*`auth_mechanisms = `: The type of authentication mechanism to be used. Multiple values can be specified and separated by spaces. Values: plain, login, digest-md5, cram-md5, ntlm, rpa, apop, anonymous, gssapi, otp, skey, gss-spnego.
604
604
*`login_trusted_networks= `: Which IP networks are allowed to use Dovecot. It can be a single IP address, a network segment, or both. As an example: `login_trusted_networks = 10.1.1.0/24 192.168.100.2`
605
605
*`mail_location = `: For an empty value, Dovecot attempts to find the mailboxes automatically (looking at `~/Maildir`, `/var/mail/username`, `~/mail`, and `~/Mail`, in that order). However, auto-detection commonly fails for users whose mail directory hasn’t yet been created, so you should explicitly state the full location here, if possible.
606
-
*`mail_privileged_group = `: This group is enabled temporarily for privileged operations. Currently, this is used only with the INBOX when either its initial creation or dotlocking fails. Typically, this is set to `mail` to access `/var/mail`.
606
+
*`mail_privileged_group = `: This group is enabled temporarily for privileged operations. This is used only with the INBOX when its initial creation or dotlocking fails. Typically, this is set to `mail` to access `/var/mail`.
607
607
608
608
#### Modify multiple files
609
609
@@ -661,7 +661,7 @@ userdb {
661
661
662
662
!!! warning
663
663
664
-
Don't write the above grammar on one line, such as this: `userdb {driver = sql args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n}`. Otherwise, it won't work.
664
+
Don't write the above grammar in one line, such as `userdb {driver = sql args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n}`. Otherwise, it won't work.
665
665
666
666
Edit the `/etc/dovecot/dovecot-sql.conf.ext` file with the following contents:
0 commit comments