Install Postfix to configure SMTP server.
[1] Install Postfix.
[root@futurelinux ~]# dnf install postfix -y
[2] This example shows to configure SMTP-Auth to use Dovecot's SASL function.
[root@futurelinux ~]# vi /etc/postfix/main.cf
# line 95: uncomment and specify hostname
myhostname = mail.futurelinux.org
# line 102: uncomment and specify domain name
mydomain = futurelinux.org
# line 118: uncomment
myorigin = $mydomain
# line 135: change
inet_interfaces = all
# line 138: change it if use only IPv4
inet_protocols = ipv4
# line 183: add
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# line 283: uncomment and specify your local network
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# line 438: uncomment (use Maildir)
home_mailbox = Maildir/
# line 591: add
smtpd_banner = $myhostname ESMTP
# add follows to the end
# limit an email size for 10M
message_size_limit = 10485760
# limit a mailbox for 1G
mailbox_size_limit = 1073741824
# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
[root@futurelinux ~]# systemctl enable postfix
[root@futurelinux ~]# systemctl start postfix
[3] On systems with SELinux active, the service may give NAMESPACE error. To fix this:
[root@futurelinux ~]# vi /usr/lib/systemd/system/postfix.service
# line 12 and 13 comment
#ProtectSystem=true
#PrivateDevices=true
[root@futurelinux ~]# systemctl daemon-reload
[root@futurelinux ~]# systemctl restart postfix
[4] If Firewalld is running, allow SMTP service. SMTP uses 25/TCP.
[root@futurelinux ~]# firewall-cmd --permanent --add-service=smtp
success
[root@futurelinux ~]# firewall-cmd --reload
success