Postfix är den Mail Transfer Agent (MTA) som är standard i Ubuntu. Det försöker vara snabbt, enkelt att administrera och säkert. Det är kompatibelt med MTA:n sendmail. Den här avdelningen förklarar hur du installerar och konfigurerar postfix. Den förklarar också hur du sätter upp en SMTP-server som använder en säker anslutning (för att skicka e-post säkert).
Kör följande kommando för att installera postfix med SMTP-AUTH och Transport Layer Security (TLS):
sudo apt-get install postfix
Tryck helt enkelt på retur när installationsprocessen ställer frågor - vi kommer att ställa in konfigurationen mer noggrant i nästa steg.
För att konfigurera postfix kör du följande kommando:
sudo dpkg-reconfigure postfix
Användargränssnittet kommer att visas. Välj följande värden på respektive skärm:
Ok
Internetsystem
INGEN
mail.exempel.com
mail.exempel.com, localhost.localdomain, localhost
Nej
127.0.0.0/8
Ja
0
+
alla
![]() |
|
Ersätt mail.exempel.com med din e-postservers värdnamn. |
Nu är det dags att bestämma dig för vilket postlådeformat du vill använda. Som standard kommer Postfix att använda mbox som postlådeformat. Istället för att redigera konfigurationsfilen direkt kan du använda kommandot postconf för att konfigurera alla postfix-parametrar. Konfigurationsparametrarna kommer att sparas i filen /etc/postfix/main.cf
. Om du senare vill konfigurera om en specifik parameter kan du antingen köra kommandot eller ändra den manuellt i filen.
Konfigurera postlådeformatet för Maildir:
sudo postconf -e 'home_mailbox = Maildir/'
![]() |
|
Det här kommer placera ny post i /home/användarnamn/Maildir så du behöver konfigurera din e-postserver till använda samma sökväg. |
Nästa steg är att konfigurera postfix till att använda SASL för SMTP AUTH.
Konfigurera Postfix till att göra SMTP AUTH med SASL (saslauthd):
sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' sudo postconf -e 'inet_interfaces = all'
Öppna filen /etc/postfix/sasl/smtpd.conf
och lägg till följande rader på slutet av filen:
pwcheck_method: saslauthd mech_list: plain login
Sedan, konfigurera ditt digitala certifikat för TLS. Vid frågor, följ instruktionerna och svara noggrant.
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 chmod 600 smtpd.key openssl req -new -key smtpd.key -out smtpd.csr openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt openssl rsa -in smtpd.key -out smtpd.key.unencrypted mv -f smtpd.key.unencrypted smtpd.key openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 sudo mv smtpd.key /etc/ssl/private/ sudo mv smtpd.crt /etc/ssl/certs/ sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/
![]() |
|
Du kan få dina digitala certifikat från en certifierad källa. Alternativt så kan du skapa certifikatet själv. Läs mer på underavdelningen Creating a self Signed Certification för fler detaljer. |
Konfigurera Postfix till att göra TLS-kryptering för både inkommande och utgående post:
sudo postconf -e 'smtpd_tls_auth_only = no' sudo postconf -e 'smtp_use_tls = yes' sudo postconf -e 'smtpd_use_tls = yes' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s' sudo postconf -e 'tls_random_source = dev:/dev/urandom' sudo postconf -e 'myhostname = e-post.exampel.se'
Stäng av chroot-funktionen för SMTP-servern. Lokalisera följande rad i filen /etc/postfix/master.cf
:
smtp inet n - - - - smtpd
och ändra det till:
smtp inet n - n - - smtpd
![]() |
|
När du har kört alla kommandona är SMTP AUTH konfigurerat för postfix. Det självsignerade certifikatet skapas för TLS och det konfigureras av postfix. |
Nu bör filen /etc/postfix/main.cf
se ut så här.
Nu är den initiala konfigurationen av postfix färdig. Kör följande kommandon för att starta postfix-demonen:
sudo /etc/init.d/postfix start
Nu är postfix installerat, konfigurerat och startat. Postfix stödjer SMTP AUTH enligt vad som beskrivs i ulink url="ftp://ftp.isi.edu/in-notes/rfc2554.txt">RFC2554
Paketen libsasl2-2, sasl2-bin och libsasl2-modules är nödvändiga för att aktivera SMTP AUTH genom SASL. Du kan installera dessa program om du inte redan har gjort det.
sudo apt-get install libsasl2-2 sasl2-bin
Några få ändringar är nödvändiga för att det skall fungera korrekt . Eftersom Postfix körs "chrooted" i /var/spool/postfix
, behöver SASL konfigureras för att köras som falsk root (/var/run/saslauthd
blir /var/spool/postfix/var/run/saslauthd
):
sudo mkdir -p /var/spool/postfix/var/run/saslauthd sudo rm -rf /var/run/saslauthd
För att aktivera saslauthd måste du ändra i filen /etc/default/saslauthd
och ändra eller lägg till START-variabeln. För att konfigurera saslauthd för att köras i den falska rooten, lägg till variablerna PWDIR, PIDFILE och PARAMS. Konfigurera till slut MECHANISMS efter eget tycke. Filen bör se ut såhär:
# This needs to be uncommented before saslauthd will be run # automatically START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" PARAMS="-m ${PWDIR}" PIDFILE="${PWDIR}/saslauthd.pid" # You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for PAM support, but may also include # "shadow" or "sasldb", like this: # MECHANISMS="pam shadow" MECHANISMS="pam"
![]() |
|
Om du föredrar kan du använda shadow istället för pam. Det här kommer skicka MD5-hashar av lösenorden, vilket är helt säkert. Användarnamnet och lösenordet som krävs för autentisering kommer att vara serverns systemanvändares användarnamn och lösenord. |
Uppdatera sedan dpkg "tillståndet" för /var/spool/portfix/var/run/saslauthd
. Initieringsskriptet saslauthd använder den här inställningen för att skapa den saknade katalogen med lämpliga rättigheter och ägarskap:
sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
Konfigurationen för SMTP AUTH är färdig. Nu är det dags att starta och testa din installation. Du kan köra följande kommando för att starta SASL-demonen:
sudo /etc/init.d/saslauthd start
För att se om SMTP-AUTH och TLS fungerar som det ska kan du köra följande kommando:
telnet mail.exempel.com 25
När du har blivit ansluten till postfixservern, skriv:
ehlo mail.example.com
Om du bland annat ser följande rader fungerar allt som det ska. Skriv quit för att avsluta.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME