Kendi posta sunucunuzu dağıtma konusunda kapsamlı rehber
Çalışan bir posta sunucusu kurmak için statik IP'ye sahip özel bir sunucu (VPS) hazırlamanız, Postfix (SMTP) ve Dovecot (IMAP/POP3) ikilisini yüklemeniz ve alan adınızın DNS'ine MX, SPF, DKIM ve DMARC kayıtlarını doğru şekilde eklemeniz gerekir. Bu adımlar olmadan e-postalar spam klasörüne düşer veya hiç teslim edilmez. Aşağıda, Ubuntu 24.04 LTS işletim sistemi için kurulum, yapılandırma ve kritik parametre kontrollerini kapsayan detaylı bir talimat verilmiştir.
Kendi sunucunuz, veriler üzerinde tam kontrol ve büyük sağlayıcılardan bağımsızlık sağlar, ancak IP adresinin güvenliği ve itibarı konusunda dikkatli olmayı gerektirir. Temel kurulum süresi 2–4 saat arasındadır.
Minimum gereksinimler:
- İşletim Sistemi: Ubuntu 24.04 LTS veya Debian 12.
- Kaynaklar: En az 2 GB RAM, 2 CPU çekirdeği, 20 GB SSD.
- Ağ: Statik IPv4 adresi, açık portlar 25, 465, 587, 993, 995.
- Alan Adı: DNS bölgesini düzenleme imkanı olan kendi alan adınız.
Yazılım yığını seçimi ve sistem hazırlığı
Yeni başlayanlar için esneklik ve karmaşıklık arasındaki optimal denge, klasik Postfix + Dovecot ikilisidir. Ücretsizdir, kararlıdır ve devasa bir dokümantasyon tabanına sahiptir. Mail-in-a-Box gibi alternatifler kurulumda daha basittir ("hepsi bir arada" komut dosyası), ancak sorun ortaya çıktığında ince ayar hata gidermede daha zordur.
Sistemi güncelleyerek ve temel paketleri yükleyerek başlayın:
sudo apt update && sudo apt upgrade -y
sudo apt install postfix dovecot-core dovecot-imapd dovecot-lmtpd openssl ca-certificates
Postfix kurulumu sırasında sihirbaz size yapılandırma türünü seçmenizi isteyecektir. "Internet Site" seçeneğini seçin ve alan adınızı (FQDN) girin, örneğin mail.example.com. Bu sunucu adı, e-posta başlıklarında kullanılacaktır.
Zorunlu DNS kayıtlarının yapılandırılması
Posta sunucusu, doğru alan adı bölgesi yapılandırması olmadan çalışmayacaktır. Alan adı kayıt şirketinizin veya DNS barındırma hizmetinizin (örneğin Cloudflare) kontrol paneline gidin ve aşağıdaki kayıtları ekleyin.
| Kayıt Türü | Ana Bilgisayar Adı / Alt Alan Adı | Değer / Veri | Öncelik | Açıklama |
|---|---|---|---|---|
| A | mail | <SunucuIPAdresiniz> | — | Posta alt alan adını IP'ye bağlama |
| MX | @ (veya boş) | mail.example.com | 10 | Posta alımı için sunucuyu belirtme |
| TXT | @ | v=spf1 a mx ip4:<IP_Adresiniz> ~all | — | SPF: Bu IP'den göndermeye izin verme |
| TXT | _dmarc | v=DMARC1; p=quarantine; rua=mailto:[email protected] | — | DMARC: Spam işleme politikası |
| TXT | default._domainkey | v=DKIM1; k=rsa; p=<Genel_Anahtar> | — | DKIM: Dijital imza (daha sonra oluşturulur) |
Son derece önemli: SPF kaydı mevcut IP'nizi içermelidir. Kendi sunucunuzla paralel olarak üçüncü taraf toplu posta hizmetleri (örneğin SendGrid) kullanıyorsanız, bunların mekanizmalarını da include: aracılığıyla SPF'ye eklemeniz gerekir. SPF ve DKIM kayıtlarının olmaması, Gmail ve Outlook'taki alıcılarda e-postaların "Spam" klasörüne düşmesini garanti eder.
Kayıtların uygulanmasını dig MX example.com komutuyla veya MXToolbox gibi çevrimiçi araçlarla kontrol edebilirsiniz. DNS'in tamamen güncellenmesi 15 dakika ile 48 saat arasında sürebilir.
Postfix (SMTP) Yapılandırması
Ana yapılandırma dosyası /etc/postfix/main.cf yolunda bulunur. Aşağıdaki parametrelerin doğru şekilde ayarlandığından emin olarak dosyayı düzenleyin:
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
# TLS Ayarları (Şifreleme)
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtp_tls_security_level = may
# Kimlik Doğrulama
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
# Aktarma Kısıtlamaları
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
Geçerli bir SSL sertifikası yükleme
Varsayılan olarak gelen "snakeoil" (kendinden imzalı) sertifikalar, posta istemcilerinde hatalara neden olacaktır. Ücretsiz Let's Encrypt sertifikasını yükleyin:
sudo apt install certbot
sudo certbot certonly --standalone -d mail.example.com
Sertifikaları aldıktan sonra main.cf içindeki yolları güncelleyin:
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pemsmtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
Hizmeti yeniden başlatın: sudo systemctl restart postfix.
Dovecot Entegrasyonu (IMAP/POP3)
Dovecot, e-postaların depolanmasından ve kullanıcıların postalarına erişmesinden sorumludur.
-
/etc/dovecot/dovecot.confdosyasında şu satırı yorumdan çıkarın:!include conf.d/*.conf -
Postfix'in şifreleri kontrol etmek için Dovecot'u kullanabilmesi için
/etc/dovecot/conf.d/10-master.confdosyasında kimlik doğrulama soketlerini yapılandırın:
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
```
3. `/etc/dovecot/conf.d/10-ssl.conf` dosyasında zorunlu şifrelemeyi etkinleştirin:
```conf
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
```
4. `/etc/dovecot/conf.d/10-auth.conf` dosyasında `plain` ve `login` mekanizmalarının etkin olduğundan ve `!include auth-system.conf.ext` satırının yorumdan çıkarıldığından emin olun (sistem kullanıcıları için) veya ölçeklendirme planlanıyorsa sanal kullanıcıları SQL üzerinden yapılandırın.
Yeniden başlatarak kurulumu tamamlayın: `sudo systemctl restart dovecot`.
## Dijital İmza (DKIM) Yapılandırması
DKIM anahtarlarını oluşturmak için `opendkim` paketini yükleyin:
```bash
sudo apt install opendkim opendkim-tools
sudo usermod -aG postfix opendkim
Anahtarlar için bir dizin oluşturun ve anahtarları üretin:
sudo mkdir -p /etc/opendkim/keys/example.com
cd /etc/opendkim/keys/example.com
opendkim-genkey -b 2048 -d example.com -s default -v
sudo chown opendkim:opendkim default.private
default.txt dosyasının içeriğini (tırnak işaretleri ve başlıklar olmadan) DNS bölgenize default._domainkey seçicisi için bir TXT kaydı olarak ekleyin.
Postfix ile entegrasyonu yapılandırmak için /etc/postfix/main.cf dosyasına şunları ekleyin:
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
Her iki hizmeti de yeniden başlatın: systemctl restart opendkim postfix.
Parametre Kontrol Listesi
Kurulumdan sonra, aktif çalışmaya başlamadan önce sunucuyu mutlaka test edin.
- Port Kontrolü: Güvenlik duvarının trafiğe izin verdiğinden emin olun.
sudo ufw allow 'Postfix'vesudo ufw allow 'Dovecot'. - Bağlantı Testi:
telnet mail.example.com 25komutunu kullanın. Ana bilgisayar adınızı içeren bir banner görmelisiniz. - Teslimat Doğrulaması: Harici bir postaya (Gmail, Yandex) test e-postası gönderin. E-posta başlıklarını kontrol edin (
Orijinali göster):- SPF, DKIM ve DMARC için
passdurumuna sahipAuthentication-Resultsbaşlığının varlığı. - İmzasız bağlantı hakkında uyarı olmaması.
- SPF, DKIM ve DMARC için
- Çevrimiçi Tarayıcılar: mail-tester.com hizmetini kullanın. Orada belirtilen benzersiz adrese bir e-posta gönderin. Puan 9/10'un üzerinde olmalıdır. Hizmet, kara listeler (RBL) veya DNS ayarlarıyla ilgili sorunları vurgulayacaktır.
Güncellemeleri Otomatikleştirme: SSL sertifikalarının otomatik yenilenmesini ayarlamayı unutmayın. Cron'a bir görev ekleyin: 0 0 1 * * certbot renew --quiet.
Kurulum Sırasında Sık Karşılaşılan Hatalar
- Ters DNS (PTR): Birçok VPS sağlayıcısı varsayılan olarak PTR kaydını yapılandırmaz. Barındırma desteğiyle iletişime geçin ve IP'niz için PTR'nin
mail.example.comolarak ayarlanmasını isteyin. PTR olmadan büyük posta hizmetleri genellikle gelen bağlantıları engeller. - 25. Port Engellendi: Bazı bulut sağlayıcıları (AWS, Google Cloud, Oracle) spam ile mücadele amacıyla varsayılan olarak giden 25. portu engeller. Destek bileti üzerinden engel kaldırma talebi gerekmektedir.
- Yanlış Ana Bilgisayar Adı: Yapılandırmadaki
myhostname, SSL sertifikasının verildiği adla eşleşmiyorsa, istemciler güvenlik hatası verecektir. - Açık Aktarma (Open Relay):
smtpd_relay_restrictionskısıtlamaları olmadanrelayhostparametresini asla boş bırakmayın, aksi takdirde sunucunuz spamcılar tarafından kullanılır ve IP'si anında küresel kara listelere girer.
SSS
Yeni bir posta kullanıcısı nasıl oluşturulur?
Sistem kimlik doğrulaması kullanıyorsanız, Linux'ta basitçe bir kullanıcı oluşturun: sudo adduser newuser. Bu hesabın şifresi postaya giriş yapmak için kullanılacaktır. Posta kutusu ilk e-postada otomatik olarak oluşturulacaktır.
Tüm ayarlar doğru olsa da e-postalar neden spama düşüyor? Yeni bir IP adresinin itibarı başlangıçta nötr veya düşüktür. Küçük hacimli toplu postalarla başlayın. Ayrıca, mxtoolbox.com/blacklists üzerinden IP'nizin kara listelerde (Spamhaus, Barracuda) olup olmadığını kontrol edin.
Web arayüzüne ihtiyaç var mı? Bu talimatta yalnızca sunucu tarafı ele alınmıştır. Tarayıcı üzerinden erişim için, yapılandırılmış Dovecot'a bağlanan Roundcube veya SnappyMail gibi bir web istemcisinin kurulması gerekecektir.