Qmail ile yedek(ikincil) e-posta Sunucusu Uygulamaları (Mail Hub)

Amacımız bir sunucusunda tutulan herhangi bir domain'e ait e-postaların bu sunucuya ulaşılamadığında başka bir sunucu tarafından geçici olarak alınması ve asıl sunucuya ulaşdığında elinde bulunan e-postaları ona göndermesi.

Sistemi bir örnek ile açıklayalım.

domain olarak Trunix.ORG'u kullanacağız,

trunix.org için dns kayıtları şöyledir. (kayıtlar bind içindir, djbdns kullanan aradakşlar nasıl olsa bind bilirler. IP'ler rasgele seçilmiştir.)

$TTL 86400
@ IN SOA trunix.org root. trunix.org. (
20030424; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)

@ IN NS ns0
@ IN NS ns1

@ IN MX 0 mail0
@ IN MX 1 mail1

www IN A 243.47.56.120

mail0 IN A 243.47.56.121
mail1 IN A 243.47.56.122

ns0 IN A 243.47.56.123
ns1 IN A 243.47.56.124

 


Burada dikkat etmeniz gereken nokta MX kayıtlarıdır...

Birinci sunucumuzun hostname'i mail0'dir yani esas e-posta sunucusu, ikinisi ise mail1'dir, oda yedek olan e-posta sunucusu. Birinci qmail sunucusunda yani mail0'de domainimiz virtualhost yada local domain olarak barındırılıyor olabilir. Biz virtualhost olarak barındırdığımızı farzedelim. trunix.org domaini mail0 isimli makina'da virtualhost olarak bulunsun ve bu domaine ayit birsürü e-posta hesabı kullanılıyor olsun. Şimdi bir kişi bu e-posta hesaplarından birisine e-posta gönderdiği zaman günderen e-posta hesabının bulunduğu sunucu önce dns kayıtlarına bakar, ve ilk önce mail0'a bağlanması gerektiğini eğer bağlanamaz ise (mail0 kapalı olabilir veya sunucu yada internet hattı aşırı yoğun olabilir) mail1'e bağlanması gerektiğini bilir.

mail0'da yapılması gereken bir şey yoktur normal bir qmail kurulumu yetmektedir.

mail1'de yapılabileceklerden bazıları şunlardır. Örneğin, bu domaine yani trunix.org'a ait bütün e-postaları alıp diğer sunucuya ulaşabildiğinde elindeki bütün e-postaları ona teslim eder. Bunun için yapılması gerekenler şunlardır;

artık trunix.org'a gelen e-postaların tamamı mail0 ulaşılamaz ise mail1'e daha sonra mail1'den ulaşılabildiği zaman mail0'a yani kullanıcıların e-postalarının tutulduğu alanlara (Maildir, Mailbox vs.) gelecektir.


Bir diğer yöntem ise bütün e-postalar yerine bazıları için bu işi yapmak, yanlız bu yöntemde eğer sunucuya ulaşılamıyor ise qmail-remote queue kullanmadığı için e-postalar ziyan olabilir zira qmail-remote karşı sunucuya bağlanabilmek için varsayılan değer olan 120 saniye bekliyor ve sonra e-postalar çöpe gidiyor, bunun için /var/qmail/controls/timeoutconnect dosyasını oluşturup içersine 120 den büyük değerler hatta çok büyük değerler yazmalısınız. Bunun için yapılması gerekenler ise şunlardır;


Son yöntem ise bazı e-postalar dışındaki bütün e-postaların mail0 için haznede tutulması ve ulaşıldığında ona iletilmesi. Seçitiğimiz e-postalar için ise başka yerlere yönlendirme yapacağız. Örneğin [email protected] dışındakileri diğer sunucuya yönlendirelim. [email protected]'uda [email protected]'ye yönlendirelim.


Notlar :

- ".qmail" den daha kompleks alias işlemleri için /var/qmail/users/assign'i kullanabilirsiniz.
- dosyalara yazdığınız domainler yerine ip de kullanabilirsiniz, formatı direk IP yada [IP] şeklinde deneyiniz.
- ../qmail/control altıdnaki dosyalarla oynamalar yaparak yukardaki yöntemleri etkileyen etkenleri değiştirebilirsiniz.

13.09.2003(Son Güncelleme)
21.04.2003
ATILIM BOY
aboy ~ enderunix.org
http://www.EnderUNIX.ORG/
aboy ~ trunix.org
http://www.Trunix.ORG/

Copyright (c) 2003 ATILIM BOY Kaynak gosterilmek şartıyla kullanılabilir.
EnderUNIX Software Development Team Member.