Let's try step by step
1.- Open a console on your Fedora machine (xterm, konsole, whatever).
2.- Execute the following command:
telnet localhost 25
3.- If you get something similar to this:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 bla-bla-bla more text here ... SMTP maybe more text here
then your local mail server accepts mail via SMTP. Type 'QUIT' and press Enter to close de the connection.
4.- If you get something similar to this:
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
then your mail server doesn't accept mail via SMTP. Maybe it accepts it via the 'sendmail' command (this works even if you are using a mail server other than sendmail, like postfix, exim, etc.)
5.- If your mail server accepted mail via SMTP, let's see if it can deliver it to the rest of the world. You have to type the bold text parts below. The rest is what the server sends you in response to your commands. Please, type it
exactly like it's shown below ('<' and '<' included). I will be using the destination address 'elloco_delacolina@yahoo.es' to test this. Please, use an address you can read (to see if the mail arrives there or not
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 barad-dur.escomposlinux.org ESMTP Postfix (Debian/GNU)
HELO test.org
250 barad-dur.escomposlinux.org
MAIL FROM:<your-own-mail-address@your-domain>
250 Ok
RCPT TO:<elloco_delacolina@yahoo.es>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
This is a test message.
. <--------- This is a dot ('.') followed by an ENTER
250 Ok: queued as 1AA9FF8014
QUIT
221 Bye
Wait a few minutes and see if there is a new message for the address you typed above. If yes, you have a perfectly working local SMTP server
If not, we have to find out where did the message go.
You can use the 'mailq' command to show the mailserver queue. This queue holds the sent emails until they are sent to their final destination. If the mail server cannot send them for a know reason, using 'mailq' shows a little message noting the reason (DNS failure, cannot connect to destination server, address unknow, etc.).
6.- If your server didn't accept mail via SMTP in the first place, you can try to send it with something like this (the sendmail command is located at /usr/sbin in my Debian GNU/Linux, it can be located at /usr/lib on other Unices/Linuxes)
$ /usr/sbin/sendmail elloco_delacolina@yahoo.es
This is just some text for the message body
. <---- This is again a dot ('.') followed by an ENTER
Now wait a few minutes and see if the message has arrived or not. If not, see again what 'mailq' tells you.
If your mailserver is able to send emails to outside addresses, then you can configure moodle to use it (via SMTP or not, depending on what your local mail server allows you).
But remember, even if your local mailserver is working correctly (and you have everything correctly setup in moodle), you
still have to make sure your moodle cron jobs are running periodically. Because mail is sent from the cron jobs (if Im not mistaken).
Saludos. Iñaki.