Postfix, e-posta gönderme ve almada kullanılan bir mail transfer ajanıdır(MTA). Bu dokümanda lokal uygulamalarınız tarafından e-posta gönderimi için Postfix kurulum ve yapılandırmasını anlatacağız.

Neden böyle bir yapılandırma kullanmak isteyebilirsiniz?

Eğer e-posta hizmetlerinizi başka şirketler üzerinden alıyorsanız, kendinize ait ekstra bir e-posta sunucusu kurmanıza, işletmenize gerek yoktur ama bulut üzerinde hizmet verdiğiniz sunucularınız varsa ve bu sunucuların dışarıya iletişim için e-postalar göndermesi gerekiyorsa bu durumda ilgili sunucuların üzerinde sadece dışarı yönlü çalışacak bir e-posta sunucusu yapılandırması yapmanız işlerinizi kolaylaştırabilir.

Bu dokümanda size dışarı e-posta gönderme amaçlı (send-only) SMTP sunucusu olarak Postfix kurulumunu anlatacağız.

Gereksinimler

Öncelikle CloudEOS‘ a kayıt olarak bir adet Ubuntu 16.04 sunucunuzu oluşturmalısınız. Sunucu kurulumunu tamamlandıktan sonra CloudEOS teknik ekibine çağrı açarak dışarı yöne doğru SMTP portunun açılmasını talep etmelisiniz. CloudEOS üzerinde açılan sunucularda dışarı doğru SMTP portu direkt olarak kapalı gelmektedir, bunun amacı kötü niyetli kişilerin spam, dolandırıcılık gibi amaçlarla sunucularımızı kullanmasını engellemek amaçlıdır. Çağrı açıp teknik ekip tarafından gerekli izinin verildiği bilgisini aldıktan sonra, aşağıdaki makaleyi takip ederek sunucumuz içinde yapmamız gereken ayarlamalara geçebiliriz.

Kurulum için deneme.com gibi geçerli bir alan adına sahip olmanız gerekmektedir, bu alan adını dışarı e-posta gönderen sistemin alan adı olarak ayarlayacağız.

Kurulum sırasında sunucunuzun alan adının doğru olduğunu komut satırından hostname komutunu yazarak aşağıdaki şekilde kontrol edebilirsiniz.

# hostname -f
sunucu.deneme.com

Postfix Kurulumu

İlk adımda Postfix kurulumunu anlatacağız. Postfix ve diğer programların kurulumunda e-postaları test etmek için en etkili yöntem mailutils paketlerini kurmaktır.

İlk olarak paket indeksimizi güncelleyeceğiz.

# apt-get update

Daha sonra mailutils’ i kurarak Postfix ve diğer birkaç gerekli programı birlikte kuracağız.

# apt-get install mailutils

Daha sonra karşınıza çıkan ekranda Internet Site seçeneğini seçerek kuruluma devam edeceğiz.

Daha sonraki adımda System mail name kısmına sunucunuzu kurarken belirlediğiniz ismi yazacağız. Eğer sunucu kurarken subdomain.deneme.com olarak belirlediyseniz sadece deneme.com olarak yazmanız yeterlidir.

Postfix Yapılandırılması

Şimdiki adımda istekleri işlemek ve e-posta olarak göndermek için sunucunuz üzerinden, localhost, Postfix yapılandırmasını anlatacağız.

Bunun için aşağıdaki dosyanın içine girip bazı düzenlemeler yapacağız.

# nano /etc/postfix/main.cf

Aşağıdaki alanı dosya içinde bulalım.

...
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
...

Daha sonra üst taraftaki kısmı aşağıdaki şekilde değiştirelim.

...
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
...

Daha sonra aynı dosya içinde mydestination kısmını düzenleyeceğiz. Default olarak aşağıdaki gibi değerleri göreceksiniz.

...
mydestination = $myhostname, example.com, localhost.com, , localhost
...

Bu alanı aşağıdaki şekilde değiştirelim.

...
mydestination = $myhostname, localhost.$mydomain, $mydomain
...

Dosyayı kayıt ederek çıkalım.

Son olarak Postfix’ i yeniden başlatalım.

# systemctl restart postfix

SMTP Sunucusu Testi

Bu adımda external e-posta hesabına e-posta gönderimini ilk adımda mailutils paketinin parçası olan mail komutu ile test edeceğiz.

$ echo "e-posta mesaj alani" | mail -s "Baslik alani" e-posta-adresiniz

Bu adımda başlık ve mesaj kısmını bu şekilde bırakabilir veya tercih ettiğiniz şekilde değiştirebilirsiniz. e-posta-adresiniz kısmında da gmail.com, yahoo.com veya diğer geçerli bir e-posta servis sağlayıcı kullanarak test edebilirsiniz.

Şimdi e-posta adresinizi kontrol ederek gelen kutusunda test mesajınızı görebilirsiniz. Eğer orada göremediyseniz spam klasörünü kontrol etmelisiniz.

Gönderici kısmında mevcut_linux_kullanicisi@deneme.com olarak gönderici ismini göreceksiniz. Buradaki mevcut_linux_kullanicisi, sunucumuzda kullandığımız linux kullanıcısının kullanıcı adıdır. Eğer kullanıcı adını değiştirirseniz gönderici kısmındaki isimde bundan sonraki e-postalarda değişecektir.

Sistem E-postalarını Yönlendirme

En son olarak sistem üzerindeki root kullanıcısından dışarıdaki e-posta hesabınıza e-posta gönderimini sağlayacağımız yönlendirmeyi yapacağız.

Sistem tarafından oluşturulan e-postaları, e-posta adresinize göndermeyi yapılandırmak için /etc/aliases dosyasını düzenleyeceğiz.

# nano /etc/aliases

Default olarak dosya içi aşağıdaki gibidir.

# See man 5 aliases for format
postmaster: root

Daha sonra bu dosyaya aşağıdaki satırı ekleyeceğiz.

# See man 5 aliases for format
postmaster: root
root: e-posta-adresiniz

e-posta-adresiniz kısmını size ait geçerli e-posta adresinizi yazarak dosyayı kayıt edip çıkalım.

Değişikliklerin geçerli olması için aşağıdaki komutu çalıştıralım.

# newaliases

Daha sonra sistemdeki root hesabına test amaçlı bir e-posta gönderelim.

$ echo "e-posta mesaj alani" | mail -s "Baslik alani" root

Şimdi e-posta adresinizi kontrol ederek gelen kutusunda test mesajınızı görebilirsiniz. Eğer orada göremediyseniz spam klasörünü kontrol etmelisiniz.

Bu dokümanda, makalede yazan komutları, çözümleri uygulamak tamamen kullanıcının kendi sorumluluğunda ve insiyatifin de olan bir konudur, mevcut komutların uygulanması ile doğabilecek, oluşabilecek her türlü sorumluluk ve sonuçlar kullanıcının kendisine aittir, CloudEOS’ un bu konuda herhangi bir sorumluluğu bulunmamaktadır.