If you using sendmail before, please remove it to avoid smtp port taken up by sendmail
# yum remove sendmail
you can check and configure which to use for the main MTA
# alternatives --config mta
Open and edit the postfix config
# vim /etc/postfix/main.cf.
Normally
In /etc/postfix/main.cf , you need to change
Let say if your
Make sure also
postfix
server could be used directly out of the box. However to make sure you have more control on it, a few tuning needed to be done.In /etc/postfix/main.cf , you need to change
myhostnam
, mydomain
and myorigin
. for example,
myhostname=mail.gabby.com mydomain=gabby.com #Normally this will need not to be done, as the postfix server will use your system domain name. myorigin=$myhostname
Let say if your
$myhostname
is mail.gabby.com, your email sending from this host will have gab@mail.gabby.com appear in the email 'From' if you're logging in as gab. If you're logging in as root, the recipient will get an email from root@mail.gabby.commydestination=localhost, localhost.$mydomain, $myhostname
this is to tell the postfix
, if it receives an email end with @localhost, @localhost.offgamers.lan, @my-proxy.offgamers.lan,
he will not deliver that email 'out' from that box, and it will deliver
locally which mean no 'sending' will be done. This is important to
prevent infinite loop of the email sent out from this box. mynetworks_style=host
relay_domains=
to prevent this box from receiving other email server to relay out
emails and it will not sending relay email to other email server as
well. This help stopping this box become a relay zombie for spamming.Becareful that if that mail server is used by REMOTE client to post mail, then the
mynetworks_style
need to put as
mynetworks_style=subnet
inet_interfaces=all
if the REMOTE client is in the same subnet, to surf for as a small LAN mail server for the subnet.You also need to change
/etc/syslog.conf
, frommail.* -/var/log/maillogto
mail.* /var/log/maillogto prevent Asynchronous log writing as this email server only used by the local box hence the traffic is not heavy till need to use an Asynchronous log writing. That is only vital for a production mail server.Restart syslogd to have the result updated
# /etc/init.d/syslog restart
If you are using hostname same with the email, your postfix will send to gab locally instead of sending to gab@mail.gabby.com
to solve this, you need to remove the $myhostname from mydestionation
mydestination=localhost, localhost.$mydomain
but by doing this, all your root email will not be send to you locally and will send out to root@mail.gabby.com. in order to deliver the email locally for root users you need set up virtual aliases as follow:
# vim /etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual
# vim /etc/postfix/virtual
root root@localhost
after done, execute this command
# postmap /etc/postfix/virtual