In deze howto leg ik uit hoe je een interne mailserver kunt maken. We gebruiken hiervoor Sendmail. Sendmail is een krachtige en zeer snelle opsource mailserver. In de meetste distro's zit standaard sendmail. Een uitleg om sendmail te installeren vind ik dus overbodig. Anders kan je altijd de site van Sendmail, http://www.sendmail.org/ raadplegen.

Installatie:

Check of Sendmail draait met het volgende commando:

ps aux | grep send

Je zou iets van het volgende terug moeten krijgen:

root 330 0.0 1.4 1416 932 ? S 00:07 0:00 sendmail: accepting c

Mocht Sendmail nog niet gestart zijn, start Sendmail dan met (onder Redhat of een systeem met init.d.. moet ik nog aanpassen):

/etc/rc.d/init.d/sendmail start

Mocht Sendmail niet geinstalleerd zijn download dan de laatste versie en installeer deze dan met:

tar zxvf sendmail*.tar.gz

cd <directory>

./configure

make

make install

Configuratie:

Om Sendmail werkend te krijgen moet de configuratie file bewerkt worden. Deze bevindt zich op de lokatie /etc/sendmail.cf

Open sendmail.mc met:

pico /etc/mail/sendmail.mc

Zoek in het bestand de volgende regels op:

Cwlocalhost

Verander Cwlocalhost in een bijpassende naam die je aan je mailserver wilt koppelen. Leuk is om een gratis domainname te registeren bij http://www.dhs.org/

In mijn geval komt er te staan: Cwserver.netwerk.home, maar Cwvoorbeeld.dhs.org is ook een mogelijkheid.

Voer de opties door met het volgende commando.

m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

Verder moet het bestand /etc/mail/access worden aangepast. Hierin staat wie er wel en geen toegang heeft tot de server

pico /etc/mail/access

Mocht je gebruik maken van redhat 7.1 of hoger: ( ga anders door naar de 6.2 sectie )

Redhat 7.1 en hoger accepteren geen connecties van buiten af. Dit heeft redhat gedaan om als er ooit een exploit in Sendmail zit wormen ala Nimba de boel kunnen verzieken. Dit moet dus worden uitgezet. Volg de link hierboven voor meer informatie en lees hier onder wat je moet doen om alles toch aan de praat te krijgen.

edit dan het volgende bestand: /etc/mail/sendmail.mc

pico /etc/mail/sendmail.mc

Verander dan de volgende regels:

Oud: DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
Nieuw: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

Voer de opties door met het volgende commando.

m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

pico /etc/mail/local-host-names

Neem hier je domain in op ( bv netwerk.home )

Download de laatste versie van imap van http://www.rpmfind.net en installeer deze ( rpm -ivh imap*.rpm )

vervolgens geeft je het commando setup en vink je pop3 aan!

Geef daarna het volgende commando:

/etc/init.d/xinetd restart

Sendmail Testen:

Nu sendmail draait gaan het testen. Om de bovenstaande aanpassingen door te voeren moet sendmail worden geherstart met:

/etc/rc.d/init.d/sendmail restart

Als het goed is draait sendmail nu op je server. Start een telnet verbinding naar je server met: telnet <ipserver> smtp

Ik kreeg de volgende informatie:

220 server.netwerk.home ESMTP Sendmail 8.9.3/8.9.3; Mon, 4 Mar 2002 15:35:01 +01
00

met 'quit' kan de verbinding verbroken worden, sendmail draait dus !

Configuratie pop3-server met Redhat 6.2:

We willen dus niet iedere keer met telnet onze mail ophalen. Om te beginnen gaan we een test mailtje sturen. Maak een user aan en stuur een mailtje naar 'user@<ipserver>' of 'user@<hostname-server>'

Verder moeten we kijken in de configuratie file: /etc/inetd.conf of daar alle instellingen goed staan. Open /etc/inetd.conf met:

pico /etc/inetd.conf ( redhat 6.2 )

Zorg dat de volgende regels overeenkomen:

#
pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
imap stream tcp nowait root /usr/sbin/tcpd imapd

initialiseer de nieuwe netwerkinstellingen dan met:

"kill -HUP inetd"

of met

/etc/rc.d/init.d/network restart

Nu moet je de laatste versie van ipop3d installeren: Haal een van de laatste versies van: ftp://ftp.qualcomm.com/eudora/servers/unix/popper/ ( er zijn er meerdere )

Pak deze uit met en compile deze met:

tar zxvf qpopperx*.tar.gz

./configure

make

make install

Kopieer vervolgens het bestand popper naar /usr/sbin/ipop3d

cp popper /usr/sbin/ipop3d

Daarna moet de /etc/mail/access file worden aangepast. De rechten van de pc's die de bak mogen gebruiken moeten hier in worden gezet

open het bestand met:

pico /etc/mailaccess

Zorg dat iets van de volgende regels er in worden gezet:

localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
192.168.0 RELAY
netwerk.home RELAY

Geef daarna het volgende commando in /etc/mail dir geven om de database te updaten:

makemap hash /etc/mail/access.db < /etc/mail/access

En herstart Sendmail nog een keer met:

/etc/rc.d/init.d/sendmail restart

Om te testen of je mail server werkt kan je een mailtje sturen met gebruik makent van het ip van je smtp-server. Of probeer eens vanuit je console het volgende:

mail -s "subject" emailadres
Afsluiten met control-D

------------------------------------

/etc/aliases ( welke messages waar heen moeten )

Zo wordt alle mail doorgestuurd naar een ander emailadres

# Person who should get root's mail
root: jpollman@kulai.org ( haal de # weg ! )

start daarna: newaliases om alles te updaten

------------------------------------

cat /etc/redhat-release | mail -s "Test" user@test.com ( verstuurd de file redhat-release naar user@test.com )

mail -s "test" user@hotmail.com ( verzenden met control-d en gevolgd door enter )

pine ( email editor )

/etc/rc.d/init.d/sendmail restart

/etc/rc.d/init.d/sendmail start

/etc/rc.d/init.d/sendmail stop

/etc/sendmail.cf