Postfix, posta aktarım aracısı olarak görev yapan popüler, ücretsiz ve açık kaynaklı bir yazılımdır (MTA). Postfix'in görevi e-postaları yönlendirmek ve teslim etmektir. Klasik kullanımın yanı sıra Postfix, yalnızca yerel uygulamalar tarafından e-posta gönderilecek şekilde de yapılandırılabilir.
Postfix'in bu uygulaması, çeşitli durumlarda dağıtılması yararlı bir yöntemdir. Örneğin, düzenli olarak e-posta bildirimleri gönderirken, giden trafiği sınırlı olan üçüncü taraf bir e-posta servis sağlayıcısıyla çalışırken vb. kullanılabilir. Tam teşekküllü herhangi bir SMTP sunucusuyla karşılaştırıldığında Postfix, aynı zamanda gerekli işlevleri de koruyan daha hafif bir alternatiftir.
Bu eğitimde, Ubuntu'da Postfix'in yalnızca gönderim yapan bir SMTP sunucusu olarak nasıl kurulacağını ve yapılandırılacağını inceleyin.
Gereksinimler
Bu kılavuzu takip etmek için aşağıdaki gereksinimleri karşılamanız gerekir:
-
Şunlara sahip olmanız gerekir: düzgün şekilde yapılandırılmış bir Ubuntu sunucusu ve root olmayan bir sudo kullanıcısına erişim.
-
Ayrıca tam kayıtlı bir alan adına da ihtiyacınız vardır. Alan adları hakkında daha fazla bilgiyi Ticari Bir Sertifika Yetkilisinden SSL Sertifikası Yükleme yazımızdan edinebilirsiniz.
-
Son olarak, alan adının sunucunun genel IP adresini gösterdiği bir DNS kaydına ihtiyacınız olacaktır.
Postfix Kurulumu
Ön koşullar karşılandıktan sonra sunucu Postfix'i dağıtmaya hazırdır. Postfix'i kurmanın en basit yolu mailutils paketini kurmaktır. Doğrudan resmi Ubuntu depolarından edinilebilir.
İlk olarak bir terminal başlatın ve APT paket veritabanını güncelleyin:
|
1 |
sudo apt update |

Ardından Postfix'i kurabilirsiniz:
|
1 |
sudo apt install mailutils |

Kurulum işlemi sırasında aşağıdaki yapılandırma penceresi açılacaktır. Varsayılan seçenek Internet Site seçeneğidir. Seçimi onaylamak için imleci bir sonraki bölüme taşımak üzere TAB tuşuna basın. Ardından Enter:

tuşuna basın. Bir sonraki adımda Sistem posta adı (System mail name) istenecektir. Bu, oluşturulma sırasında sunucuya atanan ad olacaktır. Betikte açıklandığı gibi, yerel ana bilgisayarın posta adresi “foo@example.org” ise, Sistem posta adı example.org:

Yapılandırma betiğinin daha sonra aşağıdaki komut kullanılarak herhangi bir zamanda tekrar tetiklenebileceğini unutmayın:
|
1 |
sudo dpkg-reconfigure postfix |
Postfix'i Yapılandırma
Bu adımda Postfix, yalnızca localhost üzerinden e-posta gönderip alacak şekilde yapılandırılacaktır. Bu, Postfix'in loopback arayüzünü dinlemesini gerektirir. Bu, sunucunun dahili iletişim için kullandığı sanal ağ arayüzüdür. Ardından, tercih ettiğiniz metin düzenleyiciyi kullanarak Postfix yapılandırma dosyasını açın:
|
1 |
sudo nano /etc/postfix/main.cf |
Change the value of inet_interface değerini loopback-only olarak değiştirin:

Değiştirmeniz gereken bir diğer yönerge ise mydestination yönergesidir. Bu yönerge, local_transport posta teslim taşıması aracılığıyla teslim edilen alan adlarının listesini tanımlar. Varsayılan değer şuna benzer olacaktır:

Değerini aşağıdaki gibi değiştirin:
|
1 |
mydestination = localhost.$mydomain, localhost, $myhostname |

Alan adınızın aslında bir alt alan adı olması ve e-postaların ana alan adından gönderilmiş gibi görünmesini istemeniz durumunda, Postfix yapılandırmasının sonuna aşağıdaki yönergeyi ekleyin. Bu, alt alan adını e-posta adresinden kaldıracaktır:
|
1 |
masquerade_domains = <main_domain> |

Değişikliklerin geçerli olması için Postfix'i yeniden başlatın:
|
1 |
sudo systemctl restart postfix |
SMTP Sunucusunu Test Etme
Yapılandırma işleminin başarıyla tamamlandığını varsayarsak, şimdi test etme zamanı. Bunu yapmak için, Postfix'in mail komutunu kullanarak harici bir e-posta hesabına e-posta gönderip gönderemediğini kontrol edin. Bu komut, mailutils paketinin bir parçasıdır:
|
1 |
echo "Test email body" | mail -s "Subject line" <email_address> |
Mesaj belirtilen e-posta adresine ulaşmalıdır. Bu noktada, gönderilen tüm e-postalar şifrelenmemiştir. Servis sağlayıcıları genellikle bu tür e-postaları spam olarak işaretler, bu nedenle e-postanın ulaşıp ulaşmadığını kontrol etmek için spam bölümünü kontrol ettiğinizden emin olun.
Eğer mail komutu bir hata bildirirse veya e-posta uzun bir süre sonra ulaşmadıysa, Postfix yapılandırmasını tekrar kontrol edin ve sunucu adı ile ana bilgisayar adının (hostname) düzgün ayarlandığından emin olun. Bu yapılandırmayla, e-postalar aşağıdaki adresten gönderilmiş gibi görünecektir:
|
1 |
<username>@<domain> |
Burada kullanıcı adı, mail komutunu çalıştıran sunucu kullanıcısının kullanıcı adı olacaktır.
Sistem E-postalarını Yönlendirme
E-posta sunucusunun düzgün şekilde yapılandırıldığını ve çalıştığını başarıyla doğruladık. Şimdi, root için e-postaları yönlendirecek şekilde yapılandırılması gerekiyor. Sunucuya gönderilen sistem tarafından oluşturulan tüm mesajlar harici bir e-posta adresine yönlendirilecektir. E-posta alıcıları için, /etc/aliases dosyası alternatif adların listesini içerir. Tercih ettiğiniz metin düzenleyiciyi kullanarak açın:
|
1 |
sudo nano /etc/aliases |
Varsayılan olarak şu şekilde görünecektir:

Dosyanın sonuna aşağıdaki satırı ekleyin:
|
1 |
root: <email_address> |

Bu, root adresine gönderilen e-postaların bir e-posta adresine yönlendirileceğini belirtir. Değişikliğin geçerli olması için aşağıdaki komutu çalıştırın. Bu komut, mail komutunun kullandığı takma ad veritabanını yeniden oluşturacaktır:
|
1 |
sudo newaliases |
![]()
Ardından, değişikliğin başarılı olup olmadığını test etmeniz gerekir. Şuraya bir test e-postası gönderin: root:
|
1 |
echo "Test root email body" | mail -s "Subject line" root |
E-posta belirtilen e-posta adresine ulaşmalıdır. Henüz herhangi bir şifreleme yapılandırılmadığı için spam klasörünü kontrol etmeyi unutmayın.
SMTP Şifrelemesini Etkinleştirme
E-postaları şifrelenmemiş biçimde göndermek riskli bir adımdır. Güvenliği sağlamak için SMTP şifrelemesinin etkinleştirilmesi gerekir. Bunu başarmak için, alan adınız için Let’s Encrypt üzerinden ücretsiz bir TLS sertifikası talep edeceğiz.
Ubuntu için bu işi yapan araç Certbot aracıdır. Neyse ki, doğrudan resmi Ubuntu deposunda mevcuttur. Aşağıdaki komutla Certbot'u yükleyin:
|
1 |
sudo apt install certbot |

Sunucuda UFW'nin yapılandırılmış olduğu varsayılırsa, alan adı doğrulamasının gerçekleşebilmesi için 80 portunun açık olması gerekir. Etkinleştirmek için aşağıdaki komutu çalıştırın:
|
1 |
sudo ufw allow 80 |

Şimdi, bir sertifika oluşturmak için Certbot'u çalıştırın. Bu, Certbot'a 4096 bitlik bir RSA anahtarı ile sertifika düzenlemesini söyler. Doğrulama, 80 (HTTP) portu üzerinden gerçekleşecektir:
|
1 |
sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d <domain> |
Çıktı şuna benzer olacaktır:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Kaydediliyor hata ayıklama günlüğü şuraya /var/log/letsencrypt/letsencrypt.log Eklentiler seçildi: Kimlik Doğrulayıcı standalone, Yükleyici Yok Alınıyor bir yeni sertifika Gerçekleştiriliyor the aşağıdaki sınamalar: http-01 sınaması için '<domain>' Bekleniyor için doğrulama... Temizleniyor up sınamalar ÖNEMLİ NOTLAR: - Tebrikler! Sizin sertifikanız ve zinciriniz have been kaydedildi konumuna: /etc/letsencrypt/live/<domain>/fullchain.pem Sizin anahtar dosyanız has been kaydedildi konumuna: /etc/letsencrypt/live/<domain>/privkey.pem Sertifikanızın süresi will sona erecek tarihinde 2020-07-11. Almak için elde etmek bir yeni veya düzenlenmiş sürümünü of bu sertifikanınin the gelecekte, sadeceçalıştırıncertbot tekrar. İçin etkileşimsiz-olarak yenilemek *tümünü* of sertifikalarınızın certificates, çalıştırın "certbot renew" - Eğer siz beğeniyorsanız Certbot, lütfen düşünün desteklemeyi bizim çalışmamızı ile: Bağış yaparak to ISRG / Let's Encrypt: https://letsencrypt.org/donate Bağış yaparak to EFF: https://eff.org/donate-le |
Anahtar aşağıdaki dizinde saklanacaktır:
|
1 |
/etc/letsencrypt/live/<domain> |
Sertifikanız oluşturulduğuna göre, Postfix yapılandırma dosyasını bir metin düzenleyicide açın:
|
1 |
sudo nano /etc/postfix/main.cf |
Şu bölümü bulun: TLS parametreleri:

Bundan sonra, şu yönergelerin değerini değiştirin: smtpd_tls_cert_file ve smtpd_tls_key_file:

Ardından, dosyayı kaydedip kapatın. Değişikliklerin geçerli olması için Postfix'i yeniden başlatın:
|
1 |
sudo systemctl restart postfix |
Son olarak, hedef e-posta adresine tekrar bir test e-postası gönderin:
|
1 |
echo "This is email body" | mail -s "Email subject line" <email> |
E-posta artık diğer e-postalar gibi normal görünmelidir. E-postanın teknik bilgilerini kontrol ederseniz, şifrelenmiş olarak görünecektir.
Son Düşünceler
Tebrikler! Postfix tarafından desteklenen, yalnızca gönderim yapan bir e-posta sunucusunu başarıyla yapılandırdınız. E-posta işlemleri de uygun bir şifreleme anahtarı kullanılarak güvenli hale getirilmiştir.
E-posta aktarımını optimize etmenin diğer yolları için bu öğreticiye göz atın: Google'ın SMTP Sunucusunu Kullanmanın En İyi Yolları.
Keyifli kullanımlar!
Yorumlar
Henüz yorum yapılmamış. İlk siz olun.