Hello.
Sometime in past it has been decided that there will not be any MTA installed by default on Fedora Workstation (not sure about Fedora Server) that is why there are no email from cron anymore.
Postfix is needed to send emails, it is Mail Transport Agent (mail server). Dovecot is needed if you want to access mailboxes from GUI via IMAP (it is an IMAP server), i.e. with Thunderbird which does not support local delivery like Evolution does (to be honest I have not check if there is any plugin or extension for this).
Evolution let you access local mail files so it is not necessary to install Dovecot server if you choose to use Evolution as a GUI email client.
Simple guide for Postfix:
- install postfix:
sudo dnf install postfix
- configure it to accept the mails from localhost only, edit
/etc/postfix/main.cf
and add/change the following, leave the rest as default:myhostname = <your_hostname>
mydomain = localhost #or your domain if you have some configured on a system
myorigin = $mydomain
inet_interfaces = localhost
inet_protocols = ipv4
mynetworks = 127.0.0.0/8
- enable and start postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
- verify it is running and listening
netstat -lt | grep smtp
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
Now you are able to send/receive emails with mailx, mutter, evolution (GUI).
Setup of Evolution to pickup local mails
- open Evolution, if there is no email account configured yet, Welcome page will be prompted; if there are some, go to Preferences -> Mail Accounts and click to Add
- Now the steps would be quite similar, on Identity set your Email Address to
<user>@localhost
, uncheck 'Look up mail server details based on email address' and click Next - on Receiving Email from Server Type dropdown menu select Standard Unix mbox spool file; and for Spool File browse to
/var/spool/mail/<user>
- on Sending Email from Server Type dropdown menu select Sendmail
The rest of the options are up to you but you can skip them. You are ready to send/receive emails from Evolution from your local system mailbox.
Email addresses will be <user>@localhost, so the test email from usera to userb would look like this (using mailx):
usera$ mail -s Test userb@localhost << EOF
Hello world!
EOF
Since everything is running on localhost, it is not necessary to enable anything on firewall.
For more information about the magic around mail server, go through postfix manual available on net.
Let us know how it goes and come back in case of issues.