postfix php filtresi


-3

Bir php betiği kullanarak e-posta filtrelemeye çalışıyorum, yapmak istediğim bir dizi kuralla eşleştiğinde e-postayı bir veritabanına işlemek.

Kurallar bir dizi PHP dizgesi kullanılarak yapılacak ve ya str_replace ya da preg_replace kullanın.

Bu öğreticiyi buldum, ancak bunu çalıştırdığımda, posta sunucusu yalnızca e-postaları kabul edebilir, ancak artık giriş yapıp postalarımı kontrol edemiyorum, betiğin her şeyi yuvarladığını ve sunucuyu etkili bir şekilde kara deliklere soktuğunu düşünüyorum, bu yüzden kısmi bir çözüm tamamlanmamış.

http://blog.thecodingmachine.com/content/triggering-php-script-when-your-postfix-server-receives-mail

Yaptığım aşama, betiği çalıştırabilmem, gerektiğinde çalıştırılabiliyor ve veritabanına yazabilmem, ancak daha sonra e-posta gelen kutusuna gelmiyor, ancak aynı zamanda hiç kimse de e-postayı kontrol etmek için giriş yapamamaktadır. komut dosyası, e-posta almak ve hemen çıkmaktan başka bir şeyin yürütülmesini engeller; bu nedenle, bir kural motoruna göre e-postaları bir veritabanına filtrelemek / klonlamak isteyen gerçek bir e-posta sunucusuyla kullanışlıdır.

Şimdi ya yanlış türde bir filtre yazıyorum ya da komut dosyası devre dışı bırakılmışsa, e-postanın girmesi gereken gelen kutusuna devam etmesini sağlayan bir şey eksik. Sanırım kaçırdığım kısım bu.

Lütfen Dikkat: Betik PHP kullanılarak çalıştırılmalıdır, bu nedenle alternatif çözümler istenmez. Bağlantıyı zaten biliyorum: www.postfix.org/FILTER_README.html ve okudum, ancak bunu gerçek bir çalışan PHP betiğine nasıl çevireceğimi bilmiyorum. Her zaman bir noktada takılıp kaldım, bu yüzden bana bu bağlantıyı veren ve okumam gerektiğini söyleyen insanlarla da ilgilenmiyorum.

Söylememin nedeni, burada genellikle bu bağlantıyla biten bir çok soruyu ya da alternatif bir çözümü okuduğumdan, bunların hiçbiri de yardımcı olmadığından, cevabınız bunlardan biriyse, lütfen cevap vermeyin. Bana özel bir sorunumda yardım etmek istemiyorsan ve zamanını boşa harcamak istemiyorsam ilgilenmiyorum.

Yanıtlar:


3

Atıfta bulunduğunuz makale ile ilgili tüm sorunları gözden geçirmek yerine, kovalamacaya atlayacağım.

Teslimat aracı olarak procmail kullanın .

Her tür şeyi yapmanıza olanak sağlayan, e-postaları bir posta kutusuna kopyalamanıza ve komut dosyaları (PHP dahil - sadece stdin'den okuyup stdout'a yazmanıza izin vermeden) aktarmanıza olanak sağlayan çok güçlü bir dildir.

Kurulumu zor değil ve bu gibi işleri kolaylaştırır. Ancak, bunun etrafında karmaşık sistemler kurmayı düşünüyorsanız Martin McCarthy'nin procmail kitabını almak isteyebilirsiniz.


Merhaba, yardımın için teşekkürler, tam olarak istediğim cevaba benziyor
Christopher Thomas

1

Cevabınızı içerdiği için FILTER_README’ye işaret etmeye devam edersiniz. Okudun, ama anlamadın.

Bilerek bağladığınız öğretici, iletilerin teslim edilmesini önler (ve hatta öyle söyler).

Bir filtreden mesaj iletmek için, sendmail (8) komutunu çağırarak onu Postfix'e teslim etmelisiniz. Bu açıkça FILTER_README belgesinde belgelenmiştir ve oradaki örnek komut dosyası bile yapıldığını gösterir.


1

Kodlamanın gerçeği dışında -> thataway ( Stack Overflow'ta ), um ... hayır.

Postfix inanılmaz derecede iyi belgelenmiştir; lütfen harici programlar eklemek için aşağıdaki kaynaklara bakınız:

POSTA TESLİMİNE genel bakış

YEREL TESLİMAT el kitabı , "HARİCİ KOMUTANLI TESLİMAT" bölümü

BORU TESLİMİ kılavuzu - Doom'un İsviçre çakısı bıçağı.

Mutlu "tamir"!


üzgünüm, ama açıkça söyledim bu tür cevapları istemediğimi, şanslı olduğum için 125 puanım yok
Christopher Thomas

Postfix karmaşık bir yazılımdır ve e-posta kesinlikle yeni başlayanlar için değildir. Bunu arzuluyorsanız ve öğrenmek istemiyorsanız, ödersiniz . Profesyonel.
adaptr

Ben profesyonelim Artı e-posta karmaşık değildir. Sadece kılavuzlar insanlar için değil robotlar için yazılmıştır.
Christopher Thomas

Neden mükemmel bir argüman size profesyonel destek için ödemesi gereken!
adaptr

devam eden tartışma için teşekkür ederim, ancak procmail'i kullanmak için yukarıda doğru cevabı zaten aldım. Daha önce de belirttiğim gibi, "RTFM" yanıtları istenmiyor. Bu noktayı oldukça netleştirdiğimi düşündüm.
Christopher Thomas,

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.