Postfix yapılandırmanızın içerisinde belirttiğiniz boyut limitlerine uygun olduğunu düşündüğünüz büyük bir eklentiye sahip emaili gönderdiğinizde, sunucunuzdaki mail logunda büyük bir ihtimalle halen “Dec 14 21:35:59 mail postfix/smtpd[55736]: warning: D9105A1BAD1: queue file size limit exceeded” hata mesajını alıyor olabilirsiniz. Eğer bu durum oluşursa, Postfix’in kendisinden bu hataya ilişkin bir uyarı bildirimi almayacak, aksine gelen kutunuz içerisinde System Administrator’dan gelen ve içerisinde “552 5.3.4 Error: message file too big“ ibaresinin bulunduğu hızlı bir Undeliverable mesajı göreceksiniz, çünkü aslında mesajınız Postfix tarafından hiç işleme alınmamıştır.
Sorunu gidermeye çalışmadan önce, çoğunlukla münferit ayarlara sahip birden fazla bileşenden (Ör: Maia Mailguard, Amavis/SpamAssassin filtering) meydana gelen Postfix kurulumunuzdaki boyut doğrulama sıralamasının arkasındaki mantığı anlamaya çalışmalısınız. Yani, boyut limitini tek bir noktadan kontrol edebileceğiniz düşüncesi ile Postfix main.cf yapılandırma dosyanız içerisinde yer alan “message_size_limit” parametresini değiştirmeniz kafi olmayacaktır.
Aşağıda yer alan sıralamaya ve farklı limit ayar noktaları arasındaki ilişkiye göz atınız;
Postfix >= MySQL > Maia >= SpamAssassin
Sondan başlarsak, SpamAssassin aslında fazla büyük öğelerin reddedilmesi konusunda bir fonksiyona sahip değildir ancak büyük epostaların taranması işlemini yoksayarak sistem kaynaklarının tüketilmesinin önüne geçilmesi konusunda önemli bir role sahiptir. Spam mesajları çoğunlukla boyut olarak küçük olmak durumunda oldukları için amavisd.conf dosyanız içerisinde ($sa_mail_body_size_limit = 256*1024;) ve maia.conf dosyanız içerisinde ($default_max_size = 256*1024;) yer alan varsayılan değerler oldukça uygundur. Bu sayede amavisd-maia, email öğesi 256 KB’den büyük olduğunda SpamAssassin’e çağrı açmayacak ve Maia process-quarantine.pl betiği büyük epostalar üzerine yoğunlaşmak ve rapor etmek üzere SpamAssassin’i tetiklemeyecektir.
İkinci basamak Maia Mailguard (eğer sisteminizde mevcut ise). Kanaatimce, üç sebepten dolayı mesaj boyutu yönetimi işlemlerimizin nihai kontrolünü vermek isteyeceğimiz en iyi yer burasıdır; Birincisi, bir GUI’sinin ve aralarında anında geçiş yapabileceğimiz accept/reject radyo butonunun bulunması. İkincisi, değişikliklerin gerçekleşmesi için herhangi bir servisi yeniden başlatmaya ihtiyaç duymayız. Üçüncüsü, Maia, mesajları mevcut boyut limitini açıklayan kısa bir mesaj ile birlikte direk olarak geri çevirir.
Maia’s System Configuration sayfasında, mail boyutu limitini kabul edilebilir uygun bir değere ayarlayın, mesela 12 MB.
Mail size limit (bytes): [12582912] Oversized items should be... [ ] Accepted [x] Rejected
Kuşkusuz, Maia daha üst seviyedeki MySQL ve Postfix MTA parametrelerini uygun biçimde ayarlamadan önce kontrolü tam anlamıyla ele almayacaktır!
Bir sonraki adım, MySQL. MySQL veritabanı yapılandırmanızda bulunan max_allowed_packet parametresi, Maia sistem yapılandırması sayfasında girdiğiniz değerden daha büyük olmalıdır, my.cnf dosyanızı bulun ve düzenleyin.
# vi /var/db/mysql/my.cnf
[mysqld] max_allowed_packet = 16M
# /usr/local/etc/rc.d/mysql-server restart
Dilerseniz kontrol edin;
# mysql -u root -p mysql> show variables like 'max_allowed_packet';
+--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 16777216 | +--------------------+----------+ 1 row in set (0.00 sec)
Son olarak, Postfix. Burada, aşağı yönde çalışan filtreleme kaynaklarını savunabilmek üzere mail sistemimiz için en üst seviyedeki katı limit yer alacaktır. Postfix main.cf dosyanız içerisinde bulunan message_size_limit (varsayılan: 10240000 byte) parametresini MySQL max_allowed_packet değerine eşit veya daha büyük olacak şekilde (Ör: 20 MB) ayarlayın ve mailbox_size_limit parametresinin düzenlemeye çalıştığımız queue boyutu limiti ile hiçbir alakasının olmadığını unutmayın.
# vi /usr/local/etc/postfix/main.cf message_size_limit = 20971520
Postfix’i yeniden başlatın ve yeni boyut limitini kontrol edin.
# postfix reload # postconf -n | grep size message_size_limit = 20971520
Şimdi doğru limit sıralamasına sahibiz;
Postfix (20 MB) > MySQL (16M) > Maia (12MB) >= SpamAssassin (256KB)
Gerçekleştirdiğimiz bu ayarlarla sisteminiz üzerinden yaklaşık olarak 10 MB. boyutunda epostalar gönderebilirsiniz. Doğrusu, bu nedenle Maia System Configuration sayfasında 12 MB ayarını girmiştik. 10.000.000 byte büyüklüğünde bir dosyanın BASE64 kodlandığında çok daha büyük hale geleceğini hatırınızda tutunuz. Kendinize, örneğin Yahoo hesabınıza bu büyüklükte eklentiye sahip bir test emaili gönderin, emailin tam başlık sayfasını (full header) görüntüleyin ve en alt kısımda yer alan Content-Length değerine bakın. Demek oluyor ki, yukarıda sözü geçen tüm limit değerlerinizi bu boyut farklılığını göz önünde bulundurarak düzenlemeniz gereklidir. Düzenleme işlemlerinizi tamamladıktan sonra Maia’nın mail boyutu limiti ile oynayarak nihai mesaj boyutu üst sınırınızı yukarı (max. MySQL limiti) ve aşağı yönde (min. SpamAssassin limiti) dilediğiniz zaman değiştirebilirsiniz.






RSS feed for comments on this post.




