Bir alias (takma ad) herhangi bir hesaba (ya da hesaplara) takma ad
vermemizi sağlar. Örneğin gelistiriciler@magmalinux.org
adresine
gönderilen e-postaları senem@magmalinux.org
ve lale@magmalinux.org
adreslerine göndermek istediğimizi varsayalım. Bu durumda gelistiriciler; senem ve mehmet için alias olur. Alias
eklemek
için /etc/courier/aliases/system
dosyasını açıp, aşağıdaki gibi bir
satır ekliyoruz:
gelistiriciler: senem, lale
Bir alias birden fazla kişiye işaret edebileceği gibi, tek bir kişiye de işaret edebilir (Örneğin tek bir geliştiriciniz olduğunu düşünün ya da insankaynaklari departmanınızda tek bir çalışanınız).
/etc/courier/aliases/system dosyasında her değişiklik yaptıktan sonra, değişikliğin geçerli olması için:
# makealiases
komutunu çalıştırmamız gerekiyor.
Dikkat!!! Eğer sisteminizde aliasın yanında gelistiriciler isminde gerçek bir hesap varsa bu hesap hiçbir e-posta alamayacak. Eğer bu hesabın da e-posta almasını istiyorsanız yukarıdaki satırı şu şekilde değiştirin:
gelistiriciler: gelistiriciler, senem, lale
Yeri gelmişken postmaster aliasımızı da tanımlayalım. /etc/courier/aliases/system dosyasına göz attığınızda "postmaster:" ile başlayan bir satır göreceksiniz. Bu postmaster aliasının bir hesaba işaret etmesi gerekiyor. Sisteminizdeki postmaster, senem hesabı ise, bu satır
postmaster: senem
şeklinde olmalı. Değişikliğin geçerli olması için "makealiases" ı çalıştırmayı unutmuyoruz.
(Postmaster: Mail Sunucusunun yöneticisi olup, hata durumlarında Mail Sunucumuz bu kullanıcıya e-mail gönderir.)
Alias tanımlarken, domainlerini belirtmediğiniz hesaplar için
/etc/courier/defaultdomain
dosyasındaki domain kullanılır (Yani
yukarıdaki örneklerde senem,
senem@magmalinux.org
olarak
değerlendirilecek. Çünkü magmalinux.org, defaultdomain dosyamızda
belirttiğimiz domain).
Yapmamız tek gereken şey, aptitude ile sqwebmail i kurmak, başka hiçbir ayar yapmamıza gerek yok:
# aptitude install sqwebmail
Kurulum işlemi bittikten sonra webden hesabınıza erişmek için tarayıcınızla http://alanadiniz/cgi-bin/sqwebmail adresine gidin (Bizim örneğimizde http://www.magmalinux.com/cgi-bin/sqwebmail).
Eğer oluşturulmamışsa /etc/courier/maildroprc dosyasını oluşturun ve aşağıdaki satırları ekleyin:
import USER
if ($LOGNAME ne "")
{
xfilter 'spamc -u "$LOGNAME"'
}
else
{
xfilter 'spamc -u "$USER"'
}
Eğer SpamAssassin'iniz başka bir sunucuda çalışıyorsa (Courier'la aynı sunucu yerine uzaktaki bir sunucu) /etc/courier/maildroprc dosyanıza yukarıdaki yerine aşağıdaki gibi olmalıdır:
import USER
if ($LOGNAME ne "")
{
xfilter 'spamc -d spam.magmalinux.com -u "$LOGNAME"'
}
else
{
xfilter 'spamc -d spam.magmalinux.com -u "$USER"'
}
Son olarak /etc/courier/courierd dosyasını açıp, DEFAULTDELIVERY değişkenini aşağıdaki biçimde değiştirin:
DEFAULTDELIVERY="| /usr/bin/maildrop"
Bu değişken kısaca, gelen e-postanın SMTP sunucu tarafından Maildir'e bırakılması yerine, courier-maildrop tarafından Maildir'e bırakılması gerektiğini söyler.
Yaptığımız değişikliklerin geçerli olması için courier-mta'mızı yeniden başlatalım:
# /etc/init.d/courier-mta restart
SpamAssassin'i aktif etmek için /etc/default/spamassassin dosyasındaki ENABLED değişkenini 1 yapalım:
ENABLED=1
Yaptığımız bu değişiklikten sonra spamassassin servisini yeniden başlatıyoruz:
# /etc/init.d/spamassassin restart
Sonuçları görmek için, kendinize bir e-posta gönderin ve sistem
logunu
(/var/log/syslog) takip edin.
Syslog'da
spamd: mkdir /nonexistent: Permission denied at /usr/share/perl5/Mail/SpamAssassin.pm
şeklinde bir hata ile karşılaşıyorsanız, SpamAssassin ev dizini (home) olmayan nobody kullanıcısı olarak çalışıyordur. Bu yüzden nobody kullanıcısının /etc/passwd dosyasında yazılı ev dizinini yaratmaya çalışıyor ve “Erişim engellendi” hatası alıyorsunuz.
Sorunu çözmek için 1. yol, /etc/default/spamassassin
dosyasında OPTIONS değişkenine
" -x
--virtual-config-dir=/var/cache/spamassassin " ekleyin.
2.yol /etc/default/spamassassin dosyasında OPTIONS değişkenine “-u mail ” ekleyin (Biz burda mail kullanıcısı seçtik. Ev dizini var olan bir başka kullanıcı da seçebilir ya da sadece spamassassin için “spamd” isminde özel bir kullanıcı da yaratabilirsiniz).
courier-mlm paketi bize e-posta listesi yaratma, yönetme işleri için büyük kolaylık sağlar. İşe ilk olarak, tüm e-posta listelerinin bulunacağı dizini yaratarak başlayalım:
# mkdir /var/lists
# chown mail:mail /var/lists
Şimdi de magma-users isminde ilk e-posta listemizi yaratalım
(ADDRESS
parametresindeki adres, e-posta listesindeki kullanıcıların
e-postalarını göndereceği adres):
# couriermlm create /var/lists/magma-users ADDRESS=magma-users@magmalinux.org
Bu komut /var/lists/magma-users adlı bir dizin oluşturup, bu dizin içinde e-posta listemiz için bazı dosyaları otomatik yaratacak. Bu dosyalardan bazıları:
help.tmpl
dosyası magma-users-help@magmalinux.org
adresine gönderilen
herhangi bir e-postaya karşılık, dönecek cevabın şablonudur. E-posta
listesine üyelik, üyelikten ayrılma ve e-posta listesi hakkında
bilgiler vardır. Bu dosyayı kendimize uygun bir şekilde
değiştirebiliriz.
sub.tmpl dosyası, e-posta listesine üyelik için isteğe karşılık gönderilen cevabın şablonudur.
sub2.tmpl dosyası, başarılı bir üyelikten sonra üyeye gönderilecek e-postanın içeriğinin şablonudur.
unsub.tmpl dosyası, e-posta listesine üyelikten çıkma isteğine karşılık gönderilen cevabın şablonudur.
Şimdi magma-users MySQL passwd tablomuzda magma-users kullanıcısı
oluşturalım:
# mysql -u mail -p --default-character-set=utf8
mysql> use mail;
Database changed
mysql> INSERT INTO `passwd` (`id`, `name`, `home`)
VALUES ( 'magma-users@magmalinux.org ',
'Magma Users',
'/var/lists/magma-users'
);
Kullanıcı hesabımızı MySQL'e ekledikten sonra, bu hesaba gelen e-postaları couriermlm ye iletmemiz gerekiyor. Bunun için magma-users kulllanıcısı home dizininde (/var/lists/magma-users/) .courier dosyası oluşturup (Dosya isminin başındaki noktaya dikkat), dosyanın içine şunları yazıyoruz:
| couriermlm msg /var/lists/magma-users
Satırın başındaki "|" karakterine dikkat. Bu karakter Courier'a harici bir komut çalıştıracağını söyler.
magma-users-help@magmalinux.org, magma-users-subscribe@magmalinux.org gibi
adreslere gelen e-postaları kabul etmek için, home dizini
(/var/lists/magma-users/) altında .courier-default dosyası oluşturup,
dosyanın içine şu satırı yazıyoruz:
| couriermlm ctlmsg /var/lists/magma-users
Son olarak magma-users-owner@magmalinux.org
adresine gönderilen
e-postalar için, home dizininde .courier-owner oluşturup, dosyanın
içine şu satırı yazıyoruz (Örneğin e-posta listesinin yöneticisi dogan
ise):
senem@magmalinux.org
Yarattığımız bu dosyaların sahibini mail kullanıcısı yapmak için:
# chown mail:mail -R /var/lists/magma-users
komutunu çalıştırıyoruz
Bazı E-posta listesi yönetimi için otomatik yapılması gereken işleri
(bekleyen üyelik doğrulamasına gelmeyen cevapların temizlenmesi gibi)
cron servisine vereceğiz. Bunun için önce her saat yapılması gereken
işler için /etc/cron.hourly/ dizininde couriermlm isminde bir dosya
yaratalım ve içine şunları yazalım:
#!/bin/sh
couriermlm hourly /var/lists/magma-users
Günlük işler için /etc/cron.daily/ dizininde couriermlm isminde bir dosya yaratalım ve içine şunları yazalım:
#!/bin/sh
couriermlm daily /var/lists/magma-users
Cron için yarattığımız bu betiklere çalıştırılabilir hakkı verelim:
# chmod +x /etc/cron.hourly/couriermlm
# chmod +x /etc/cron.daily/couriermlm
couriermlm komutu söz dizimi
# couriermlm [komut] [dizin] [secenekler]
şeklindedir. Buradaki dizin e-posta listemizin dizini (Bizim örneğimizde /var/lists/magma-users) Couriermlm komutlarına göz atalım:
sub: kendisine parametre olarak verilen e-posta adresini posta listesine ekler. Örnek kullanım:
# couriermlm sub /var/lists/magma-users hakan@magmalinux.com
unsub: kendisine parametre olarak verilen e-posta adresini posta listesinden siler. Örnek kullanım:
# couriermlm unsub /var/lists/magma-users hakan@magmalinux.com
lsub: e-posta listesindeki e-posta adreslerini listeler. Örnek kullanım:
# couriermlm lsub /var/lists/magma-users
export: üye veritabanını standart çıktıya yazar. Örnek kullanım:
# couriermlm export /var/lists/magma-users >magma-users-uyelik.db
import: export komutu ile üretilmiş üye veritabandaki bilgileri kendi veritabanına kaydeder. Örnek:
# couriermlm import /var/lists/magma-users <magma-users-uyelik.db
couriermlm aracının set komutu ile birtakım posta listesi seçenekleri ayarlanabilir. Kullanım şekli:
# couriermlm set maillist_home secenek=deger secenek=deger ...
Bu seçeneklerin neler olduğuna bakalım:
ADDRESS: E-posta listesinin genel adresi (kullanıcıların e-posta gönderdiği adres).
CASESENSITIVE: 1 ise e-posta adresinin kullanıcı adı kısmı büyük/küçük harf duyarlı, 0 ise büyük/küçük harf duyarsız (alan adı kısmı her durumda büyük/küçük harf duyarsız). Dikkat! Bu seçeneği aktif bir liste üzerinde değiştirirken dikkatli olun. Seçeneği 1 olarak ayarladığınız taktirde e-posta adresinin kullanıcı adı kısmında büyük harf içeren kullanıcılar listeden e-posta alamayacaklar. Bu seçeneği değiştirmeden önce, listenizdeki her e-posta adresinin sadece küçük harflerden oluştuğuna emin olun.
KEYWORD: E-posta listesine gönderilen her e-postanın başlığına eklenecek metin ( [ ] karakterleri arasına eklenir).
POST: E-posta listesine kimlerin e-posta gönderip göndermeyeceğini belirler. Üç değerden biri olabilir. “subscribers”, sadece üyeler listeye e-posta gönderebilir, “all” herkes listeye e-posta gönderebilir, “mod”, sadece üyeler listeye e-posta gönderebilir ama gönderilen e-postaların posta listesine dağıtılması için yönetici onayı gerekir. Örnek:
POSTARCHIVE: E-posta listesini kimlerin okuyup okuyamayağacını belirler. “all” herkes okuyabilir, “subscribers” sadece üyeler okuyabilir anlamındadır. Varsayılan değer “all”.
# couriermlm set /var/lists/magma-users POST=subscribers POSTARCHIVE=all
PURGEARCHIVE: E-posta listesi arşivinin kaç günde bir temizleneceğini belirler. Varsayılan değer 0'dır. E-postalar hiç silinmeyecek anlamına gelir.
REPORTADDR: bu seçeneğe verilen e-posta adresine günlük e-posta listesi ile ilgili rapor gönderilir (üye olanlar, üyelikten çıkanlar gibi).
SIMPLECONFIRM: Normalde üyelik başvurusu için gönderilen e-posta doğrulamasına kullanıcının başlığa “Yes” yazıp cevaplaması gerekir. Eğer bu seçenek 1 e ayarlanmışsa, kullanıcının başlığa “Yes” yazmasına gerek kalmaz (Bu seçeneği değiştirdikten sonra kullanıcıya üye olması için ne yapması gerektiğini anlatan sub.tmpl, help.tmpl ve unsub.tmpl yi değiştirmeyi unutmayın).
SUBSCRIBE: Bu seçeneğin değeri “all” ya da “mod” olabilir. “all” herkesin üye olabileceği, “mod” ise üyelik için yönetici onayı gerektiği anlamına gelir.
| Önceki | Üst Ana Başlık | Sonraki |
| Courier Yapılandırma Dosyaları | Sorunun Kaynağını Tespit Etmek |