Mailserver - Installatie Sep. 2014
Dit betreft een installatie van de volgende pakketen op een VPS:
- Postfix als mailserver
- Docecot als mail delivery agent
- SASL voor SMTP-authenticatie
- Squirrelmail voor webmail.
Postfix
Installatie
sudo apt-get install postfix
System mail name
example.com
Zie uitleg bij DNS hiervoor.
Controleren op binnengekomen e-mail
cd /home/vmail sudo su
Daarna verder bladeren naar uiteindelijk
/home/vmail/example.com/info/new
Met info het aangemaakte e-mailadres. Hier staat als het goed is de mailfile.
Verder...
... Zie https://www.transip.nl/forum/post/prm/1500 voor details.
Dovecot
Dovecot wordt gebruikt als mail delivery agent. Dus het programma dat er voor zorgt dat e-mail overgefietst kan worden van de mailserver naa de client (bv. Thunderbird):
sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d
Ik heb geen self-signed SSL certifcate gekozen.
Backup maken van de oorspronkelijke configuratie:
sudo mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig
Nieuw configuratiebestand aanmaken:
sudo nano /etc/dovecot/dovecot.conf
Met dit als inhoud:
auth_verbose = yes disable_plaintext_auth = no base_dir = /var/run/dovecot/ info_log_path = /var/log/dovecot.info log_path = /var/log/dovecot log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = maildir:/home/vmail/%d/%n auth default { mechanisms = plain cram-md5 passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/users } user = root socket listen { client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. path = /var/spool/postfix/private/auth-client mode = 0660 user = postfix group = postfix } } } protocols = imap pop3 service auth { executable = /usr/lib/dovecot/auth user = root } service imap-login { chroot = login executable = /usr/lib/dovecot/imap-login user = dovecot } service imap { executable = /usr/lib/dovecot/imap } service pop3-login { chroot = login executable = /usr/lib/dovecot/pop3-login user = dovecot } service pop3 { executable = /usr/lib/dovecot/pop3 } ssl = no userdb { args = /etc/dovecot/users driver = passwd-file } valid_chroot_dirs = /var/spool/vmail protocol pop3 { pop3_uidl_format = %08Xu%08Xv }
Herstart Dovecot:
service dovecot restart
Dit gaf de volgende melding, die ik vooralsnog negeer:
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.9" (uid=1002 pid=4612 comm="stop dovecot ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init") start: Rejected send message, 1 matched rules; type="method_call", sender=":1.10" (uid=1002 pid=4606 comm="start dovecot ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Test
De gemakkelijkste manier om te testen bleek voor mij te zijn door het e-mailadres toe te voegen aan Thunderbird:
Instellingen Thunderbird
- Inlognaam: E-mailadres
- Wachtwoord: Zoals opgegeven tijdens de configuratie.
Thunderbird achterhaalde zelf de volgende instellingen:
- IMAP - Poort 143, geen SSL/TSL
- SMTP - smtp.example.com, poort 587, STARTTLS, gewoon wachtwoord
Ik kreeg een foutmelding tav. SSL/TSL. Dat kan goed kloppen. De handleiding zegt dat je voor SMTP verificatie nodig hebt. Ik denk dat daarmee STARTTLS bedoeld wordt, want poort 587. SSL/TLS gaat over een andere poort.
Resultaten
- Mail kwam prima aan in Thunderbird
- Verzenden lukte niet: Ik kreeg een relay-niet-toegestaan-foutmelding mbt. het ontvangende e-mailadres.
Squirrelmail
Webmail (Squirrelmail) aan de praat krijgen
Verzenden lukte niet. Daarom Squirrelmail geïnstalleerd
sudo apt-get install squirrelmail sudo /usr/sbin/squirrelmail-configure
Via het interactieve menu de optie dovecot activeren. Daarna:
cd / sudo cp /etc/squirrelmail/apache.conf /etc/apache2/conf-enabled/squirrelmail.conf sudo /etc/init.d/apache2 restart
Via Squirrelmail kan ik prima verzenden. Interessant. Misschien heeft dit er mee te maken dat ik SASL niet heb geïnstalleerd.
Oorzaak (achteraf)
Ik had SASL niet geïnstalleerd. Da's nodig voor authenthicatie bij SMTP.
SASL
sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth-client' sudo echo "mech_list: cram-md5" > /etc/postfix/sasl/smtpd.conf
Deze laatste regel stuitte op een Permission denied-foutmelding. Oplossing:
sudo su root sudo echo "mech_list: cram-md5" > /etc/postfix/sasl/smtpd.conf exit
Gelukt
Nu kan ik vanuit Thunderbird ook e-mail verzenden. Goed gedaan.
Bronnen
- https://www.transip.nl/forum/ - Forum
- https://www.transip.nl/forum/post/prm/1500 - Installatie mailserver
- https://www.linode.com/docs/email/running-a-mail-server