Vpopmail domainlerinize gelen mailleri okumanız için “.qmail-default” veya “.qmail” dosyasında bir script çalıştırabilirsiniz. Bu dosya vpopmail ile oluşturulmuş domain dizini altında bulunmakta. (Örn. “/home/vpopmail/domains/mydomain/” dizini altında..)
.qmail-default dosyası temel olarak şu yapıda olur:
| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Eğer user@mydomain.com adresini catch all olarak tanımlamak istiyorsanız şu şekilde bir .qmail-default dosyasına ihtiyacınız var (eğer qmailadmin kullanıyorsanız arayüz kullanarak catch all vb işlemleri yapabiliyorsunuz):
| /home/vpopmail/bin/vdelivermail '' user@mydomain.com
Gelelim kendi hazırladığımız bir scripti nasıl çalıştıracağımıza. Bunun için dosyamıza şöyle bir satır eklememiz gerekiyor.
| /script/yolu
Bu şekilde bir satır eklediğiniz de, mydomain.com hesaplarına mail geldiğinde scriptiniz çalışacaktır.
Gelelim Php ile gelen mailleri okumaya. Ben gelen mailleri direk alıp bir dosyaya yazdırıyorum:
// php://stdin girdi parametresi ile girdileri okuyoruz. $oku = fopen("php://stdin", "r"); if(!$oku) // okuma basarisiz mi diye kontrol ettiriyoruz { // basarisiz ise hata yazdiriyoruz. file_put_contents('/home/deneme.txt',"###HATA###",FILE_APPEND); } $icerik = $oku; // email içeriğini değişkene atıyoruz. fclose($oku); // İçeriği dosyaya yazdırıyoruz. file_put_contents('/home/deneme.txt',$icerik,FILE_APPEND);
Artık elimizde tüm mail bilgilerini (header,body vs..) bir dosyaya aktaran php script’imiz mevcut.
Burda dikkat edilmesi gereken hususlar şunlar:
- Php scriptimiz çalıştırılabilir olmalı.
- Scriptimizin başında #/usr/bin/php ibaresi olmalı (vpopmail scripti bu parametre ile çalıştırıcak)
- Deneme.txt dosyamız yazılabilir izinlere sahip olmalı.
