Linux Email Server Kurulumu: Postfix ve Dovecot Rehberi

z

zafer ak

Yazar

29 December 2025 4 dakika okuma 459 görüntülenme
Linux Email Server Kurulumu: Postfix ve Dovecot Rehberi
Postfix MTA ve Dovecot IMAP/POP3 ile tam özellikli email server kurulumu. SPF, DKIM, DMARC ve spam filtreleme ayarları.

Kendi email sunucunuzu kurmak, tam kontrol ve gizlilik sağlar. Bu rehberde Postfix (SMTP) ve Dovecot (IMAP/POP3) ile tam özellikli bir mail server kuracağız.

Email Server

Gereksinimler

  • VPS veya dedicated server
  • Statik IP adresi
  • PTR (Reverse DNS) kaydı
  • Domain name
  • SSL sertifikası

DNS Kayıtları

# MX kaydı
example.com.    IN    MX    10    mail.example.com.

# A kaydı
mail            IN    A     203.0.113.10

# SPF kaydı
example.com.    IN    TXT   "v=spf1 mx a:mail.example.com -all"

# DKIM kaydı (kurulumdan sonra)
default._domainkey    IN    TXT    "v=DKIM1; k=rsa; p=..."

# DMARC kaydı
_dmarc          IN    TXT   "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Postfix Kurulumu

# Kurulum
sudo apt update
sudo apt install postfix postfix-mysql

# Yapılandırma sihirbazında:
# - Internet Site seçin
# - System mail name: example.com

main.cf Yapılandırması

# /etc/postfix/main.cf
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# Network
inet_interfaces = all
inet_protocols = ipv4

# TLS
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_security_level = may

# SASL Authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

# Restrictions
smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_unauth_destination

# Virtual mailbox
virtual_mailbox_domains = example.com
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
Mail Server Configuration

Dovecot Kurulumu

sudo apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd

Dovecot Yapılandırması

# /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp

# /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail

# /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = plain login

# /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
ssl_min_protocol = TLSv1.2

# /etc/dovecot/conf.d/10-master.conf
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
}

OpenDKIM Kurulumu

# Kurulum
sudo apt install opendkim opendkim-tools

# Key oluşturma
sudo mkdir -p /etc/opendkim/keys/example.com
cd /etc/opendkim/keys/example.com
sudo opendkim-genkey -s default -d example.com
sudo chown opendkim:opendkim default.private

# DNS için public key
cat default.txt

OpenDKIM Yapılandırması

# /etc/opendkim.conf
Syslog          yes
UMask           007
Domain          example.com
KeyFile         /etc/opendkim/keys/example.com/default.private
Selector        default
Socket          inet:8891@localhost
Canonicalization relaxed/simple

# Postfix entegrasyonu (/etc/postfix/main.cf)
milter_protocol = 6
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Email Security

SpamAssassin Kurulumu

# Kurulum
sudo apt install spamassassin spamc

# Etkinleştirme
sudo systemctl enable spamassassin
sudo systemctl start spamassassin

# Postfix entegrasyonu (/etc/postfix/master.cf)
smtp      inet  n       -       -       -       -       smtpd
  -o content_filter=spamassassin

spamassassin unix -     n       n       -       -       pipe
  user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Kullanıcı Ekleme

# Sistem kullanıcısı
sudo useradd -m -s /bin/false vmail
sudo mkdir -p /var/mail/vhosts/example.com
sudo chown -R vmail:vmail /var/mail/vhosts

# Virtual mailbox
echo "[email protected]    example.com/user/" >> /etc/postfix/vmailbox
sudo postmap /etc/postfix/vmailbox

# Dovecot password
sudo doveadm pw -s SHA512-CRYPT

Test

# SMTP test
telnet mail.example.com 25
EHLO test
MAIL FROM: <[email protected]>
RCPT TO: <[email protected]>
DATA
Subject: Test
Test message
.
QUIT

# Mail-tester.com ile spam skoru kontrolü
# mxtoolbox.com ile DNS kontrolü

Sonuç

Kendi email sunucunuz, tam kontrol ve gizlilik sağlar. Ancak bakım ve güvenlik güncellemelerini düzenli yapmanız gerekir. SPF, DKIM ve DMARC yapılandırmalarını doğru yapmak, email teslim edilebilirliği için kritiktir.

İlgili Yazılar