«

»

Oca 06 2012

Mailman Kullanıcılarını MySQL’den Güncelleme

Mailman kullanıcılarını uzun süredir elle güncelliyorduk. Uzun zamandır aklımda olan birşeydi bunu otomatikleştirmek. MySQL veritabanından eposta hesaplarının otomatik olarak alınıp, Mailman liste kullanıcılarının güncellenmesi için bir yazı yazayım dedim. Yarın öbürgün gene lazım olacak…

Kullandığımız sunucuda, Mailman'ın 2.1.9 sürümü kullanılıyor:

# /usr/lib/mailman/bin/version
Using Mailman version: 2.1.9

Üsttede görüldüğü gibi, Mailman'ın tüm çalıştırılabilir dosyaları /usr/lib/mailman/bin klasöründe toplanmış durumda.  Farklı bir sürümde veya dağıtımda klasör farklı olabilir. Mailman'ın tüm yönetimsel komutları burada aslında. Aşağıda birkaç örnek var:

list_lists: Tüm listeleri listeler.
list_members <liste_adı>: Bir listenin tüm üyelerini gösterir
sync_members -g=no -w=no -d=no -a=no -f <dosya_adı> <liste_adı>: Listenin üyelerini dosya_adı olarak verilen dosya içindekilere göre günceller. "no" şeklindeki parametreler de her güncellemede kullanıcıların rahatsız olmaması için uyarı epostası almasını engeller.

Bundan sonrası kolay zaten, MySQL'den verileri çek, bir geçici dosyaya yaz, bu dosyayı mailman'a aktar. İşte bunu yapan betik te şöyle bişey:

Bundan sonra yapılacak tek şey, Cron'a görev zamanlaması eklemek.

Bad Behavior has blocked 14 access attempts in the last 7 days.