E-posta gönderildiğinde bir PHP uygulaması çalıştırabilir miyim?

3 Cevap php

Bir sunucu ya da bir e-posta alındığında bir php komut dosyası çalıştırmak için bir komut dosyası yapılandırmak için bir yolu var mı?

Teorik olarak bu vb XMPP veya SMS gibi diğer protokoller, genişletilmiş olabilir

Ne Aklımda olan bir kullanıcı checking-in@example.org bir mesaj gönderebilir ve bu daha sonra bazı zaman gönderilen alır otomatik mesajı (mesajı alakasız ya, yapılması gereken ne yapardın bir komut dosyası tetikleyecektir Diğer hatta diğer kullanıcılar) bir RSS beslemesi olarak görüntüleyebilir, bir veritabanında konuyu saklamak gibi bir sunucu (iletiye ilgili sorunlar) ya sahip gibi oluşur.

Ben en çok liste-hizmet yazılımı (Üyelikten çık) gibi komutlar göndererek bir anlamı var, ama bu bir sunucu komut seviyesinde böyle bir şey olması mümkün olduğunu eğer süreç nasıl karmaşık emin değilim ve biliyorum.

IMAP / SMTP seviyesinde gerçekleşmesi, ya da komut dosyası veya HTTP sunucusu yakın yapılabilir bu ihtiyacı olur?

Sadece bazı bağlam vermek için, ben düşünüyorum şeylerden biri benim iş sitelerinden biri için sunucu ileti tabanlı bir saat. Kullanıcılar, onların planlanan konumda olduğunu / e-posta / Metin im olabilir ve bu yöneticilere giriş yaptıkları için gereken doğrudan bir mesaj göndermek ziyade, bir DB güncelleme olacak bir script tetikleyebilir. Bu sadece bir seçenek (web-tabanlı bir yöntem çalışıyor zaten) olurdu, ama biz mümkün olduğu kadar bağımsız platform / protokolü olarak bunu yapmak istiyorum. Bunu elde edebilirsiniz eğer Ama biz diğer birçok gün için günlük ihtiyaçlar için uygulanması bakabilirsiniz.

Istemeden başka bir yolu olabilir: Bir sunucu komut dosyası app kullanıcıların "keşif" için bir yol var falan bu tür değişiklikleri görmek için ilgili kaynaklara sürekli bir kontrol yapıyor olması gerekiyor?

3 Cevap

Kendi makinenizi kontrol Eğer bir filtre üzerinden boru e-posta için yapılandırabilirsiniz. En basit kurulum, yeni bir hesap ve kurulum a olacaktır. Ileri veya takma

Aşağıdaki örnekler Sendmail için, ancak (tüm?) Unix e-posta programları benzer bir hizmet sunmak.

Setting up an alias (option 1)

Sizin takma dosya için sunucu üzerinde dizinde / etc bak. Satırını ekleyin:

komut: "| / yol / toyourscript / pipe.php"

Using a .forward file (option 2)

Ana ev dizininde bir. Ileri dosyası oluşturun.

"| / Yol / toyourscript / pipe.php"

veya:

myemail@example.com, "| / yol / toyourscript / pipe.php"

Eğer hosting üzerinde iseniz o zaman en barındırma sağlayıcıları da "boru" e-postalar yerine bir posta kutusunda saklayarak bir komut dosyası aracılığıyla belirli bir hesaptan alınan için olasılıkları sağlar. CPanel ayarlarını kontrol edin.

Bir pop3 arabirimi aracılığıyla e-postaları kontrol etmek için bir cron işini kullanın. "Ilginç" bir posta bulunursa, sizin php komut dosyasını çalıştırın.

cron komut çok PHP olabileceğini unutmayın.

Jldupont söylediğim gibi, i'inci kendini php yapmak kolaydır, basit bir cronjob ile continuosly smtp okuma.

Aksi takdirde, örneğin Python, bir daemon kullanabilirsiniz.

Her iki yolu önemli bir şey yapmak için izin: e-posta gönderen bir kullanıcı (? Sağ, bir db olarak kullanıcımız var), ya da yakında bir spambot (nomatter anti-spam kullanmak ne tür, ya da olup olmadığını kontrol edin Daha sonra, checking-in@example.org) spam dolu olacak