Nasıl PHP kullanarak bir web tabanlı e-posta istemcisi yaratırım?

9 Cevap php

Ben (yahoo ve gmail benzer) PHP bir web tabanlı e-posta istemcisi inşa öğrenmek istiyorum.

Herkes bu ile başlamak nasıl biliyor mu?

Ben benim sistem e-posta göndermek ve almak mümkün olmak istiyorum.

9 Cevap

PHP tabanlı olan (if you depend on using PHP, because you already have a server based on a LAMP stack, for instance) bazıları webmail yazılımı çok, zaten var: En açık cevap "don't" olacaktır.

Sadece birkaç isim teklif için tüm PHP tabanlı, bu olanlar bir göz olabilir:

  • SquirrelMail: oldukça eski bir ve gerçekten seksi değil ... Ama yıllarca iş yapıyor
  • Horde IMP: çok iyi biliyorum, ve oldukça güçlü
  • roundcube: Ben denedim olanların listesinin belki de en "seksi" ve "web 2.0"
  • AtMail: Ben bunu hiç kullanmadım, bu yüzden çok fazla diyemeyiz ...

Ben uzun bir süre için listenin üç ilkleri kullandım; roundcube kesinlikle en "user-friendly" oldu, diyebilirim ...

(Googling a bit, you might find many more -- but I think I spoke about the ones that are the most used)


Şimdi, have to Eğer şirket için bir Webmail'i, diyelim ki, kurmak ise: kesinlikle use some already existing software:

  • an existing software would be quite "good" already :
    • , "this could be done better", veya "that is not user-friendly", ya da ... sen noktası olsun dedi çok insan demektir, bunu kullanarak birçok kişi Bütün bu mevcut yazılım daha iyi :-) yaptı
    • Birçok kişi böyle bir uygulamayı kırmaya çalıştık olacak - ki uzun bir zaman yazacağım muhtemelen daha güvenli bir uygulama anlamına gelir, güvenlik düzeltmeleri çok demektir ...
  • an existing open-source application will represent hundreds of days of work
    • Eğer zaman zaten bir şey üzerinde çalışıyoruz miktarı bu tür harcamak için gerçekten hazır mısınız?
    • Bir şirket için çalışıyoruz eğer: şirket bir yıl için ödemeye hazır mı? or even probably more ? zaten bir şey üzerinde çalışıyoruz?
    • Bana inanmıyor musun? Bu blog-yazı okuyun: {[(0)];} Bu stackoverflow hakkında, ama bu (stackoverflow daha yeni olması dışında - and probably had less code-contributors ; but that's just a wild guess ^^), bir webmail yazılımı için tam olarak aynı olacaktır

As a sidenote : if your company wants you to build a clone of gmail, you won't (same thing : how many people worked on gmail ? How many programmers does your company have ? How much can your company spend on this ? )...
And for just a couple dollars each year, your company could have a "professionnal" Google account for each one of it's employes, btw...


Hala / a LA * (M) * P yığını kullanarak özel el yapımı webmail yazmak zorunda istiyorsanız, tüm bu sonra, en azından aşağıdaki bilmeniz gerekir:

  • PHP programm nasıl
  • IMAP temelleri (even if you use a library / framework, such a big application will require you to know some stuff about the underlying protocols, or won't ever understand "why" or "how" something went wrong)
  • HTML / CSS / JavaScript (with some knowledge of AJax -- come on, it's 2009 !)
  • So your application is easier to maintain (and adding/reworking/modifying stuff and correcting bugs is possible), you will probably want to use some Framework, and follow some design patterns and best practices
    • Örnek olarak, sizin gibi Altyapıları bir göz atabilirsiniz symfony, ya da Zend Framework
    • Evet, geliştirmek ve uygulama Çerçevesi olmadan ve / veya MVC olmadan ... Ama .. olabilir ergh ...

Bütün bunlar göz önüne alındığında bir sorun (If you are not quite good at all this already, and/or don't have much experience, it could take at least a couple of years to acquire that... Considering programming and web-developping is your full-time activity), sen, örneğin, IMAP kullanarak bir posta sunucusuna erişmesini hakkında tkinking başlayabilirsiniz değildir.

There are several possibilities here.
I would have a look, at least, before choosing, at these two :


Uygulama oldukça yapılır sonra, (hopefully !) en az üç şey demektir, kullanıcıları almaya başlayacaktır:

  • Bug-raporları; Bu urgent kullanıcıları için hemen hemen her zaman - gibi "OMG I don't understand nothing works anymore, I gotta get my mail RIGHT NOW!"
  • Evrimler İstekler için: Kullanıcıların her zaman "I saw that in gmail on my personnal account ; how is it we don't have that too with our corporate account ? It's the tool we use to work !" gibi daha fazla şeyler istiyorum
  • "This is too slow, I can't work !"; o zaman, / uygulama geliştirilen tasarlanmış zaman ölçeklenebilirlik ve optimizasyon düşündüm dua!

Burada, yine, bununla başa çıkmak için hazır mısınız?


Sanırım yeterince söyledi düşünüyorum; şimdi, düşünmek için zamanı: Eğer gerçekten / sıfırdan böyle bir uygulama geliştirmek gerekiyor istiyorsun?

Özgür biraz zaman varsa, maybe you could participate in an already existing, open-source, project ? Yani her biri için karlı olabilir ;-)


Finally, one last thing : if you want to work on such a project just for fun, to know what it's like, and to learn more about web-development, then DO !
(It's, in my opinion, probably the only reason that would justify working on this, btw)


Anyway, good luck ! And/or have fun !

  1. Web yığını öğrenin: HTML, javascript, php, mysql ...
  2. Birkaç küçük projeler Yazın
  3. Daha tecrübeli insanlardan öğrenmek için bir yere işe almak
  4. OOP bilgi, tasarım desenleri, en iyi uygulamaları vb
  5. Eğer birkaç yıl boyunca öğrendiklerini uygulamak

Eğer noktası 5 geçerseniz, birini inşa etmek için nasıl bileceksiniz.

Sen PHP IMAP fonksiyonları kullanarak oldukça kolay basit bir tane yapabiliriz ama sormak varsa o zaman sizin için biraz karmaşık olabilir.

Eğer önceden oluşturulmuş birini kullanarak kabul var:

This tutorial bunu kapsar.

BÜYÜK bir soruydu!

Your main options are
1. Directly integrating your code with an existing mail server
2. Using IMAP and SMTP to talk to an existing mail server

Hiç gerekirse posta sunucularını değiştirmek çünkü Sayı 2 en basittir.

Eğer gitmek gibi ve evet düşünün bir şey daha var

(: Gmail örnek) POP üzerinden erişilebilir bir e-posta hesabı kurun. Sonra (POP, IMAP muhtemelen daha kolaydır) POP protokolü üzerinden e-posta almak için PHP IMAP fonksiyonlarını kullanın (http://us2.php.net/imap). Posta göndermek için, PHP Posta işlevleri (http://us2.php.net/mail) kullanabilirsiniz.

If you're not using an external mail service (like Gmail) you will need to configure your own server to store and send email. Here is a tutorial for using Postfix (for sending mail) and Dovecot (for accessing mail via IMAP). This tutorial also explains setting up a webmail system in SquirrelMail. You could do this, or, if you really want to develop your own system you could write a PHP application to access your mail.

İyi Şanslar!

En açık cevap "great" olmalıdır.

Ben katılıyorum. Biz sıkışmış akım sözde-en-seksi arayüzü ile, biz farklı bir şey ihtiyacımız açıktır. Bilmiyorum: düşünenler için ben tekerleği icat etmek gibi! Ben sadece yeni bir web sitesi yüklü ve ben sonuçtan çok memnunum. Ben temelde özgür geliştiricilerin çalışma saatleri 1000'ler kullanılan ve daha önce yapılmış olan yeniden icat şey, 1000 kat daha nefret ediyorum. Ben bir web sitesi şu anda ne olurdu% 10 ile geleceğini ve 10 kat daha uzun harcamak olurdu. Düzeni harika, işlevsellik harika. Ben kimlik, sosyal ağ, bir yüz-kitap türü var, bana ve dosyaları saklamak için ailem için özel alan, gündem, fotoğraf ve video desteği, youtube entegrasyonu, facebook entegrasyonu, ... Ben daha fazla olacak, ben oyunları ekleyeceğim , vb hemen hemen tüm ücretsiz (I facebook-tip-of-sosyal ağında yaklaşık 100 usd geçirdim vermedi). Nasıl: joomla. Açık kaynak, eklentileri yükler. Geliştirici çalışmaları, binlerce, tasarımcılar bunu yapmak mümkün asla, vb test çalışması 100'ler kendimi, ne şimdiye kadar ödemek mümkün olacaktır. Ama ücretsiz, bu yüzden gerek yoktu. Ve bu arada: joomla tek birçok açık kaynak CMS olduğunu.

Ne bulamıyorum "seksi" olduğunu uygun bir web tabanlı e-posta istemcisi ve cms sistemi içinde düzgün entegre olduğu. Ben buldum ve benim harika web sitesi içine takmak için, bir roundcube sarıcı aldım. Ama maalesef bu çok eski görünümlü-bok-posta WebClient sadece doğru değil. Bu yavaş, etkileşim, bunu mobil cihazlar ile çalışmak için pahalı şablonları satın aptalca ihtiyaç vardır. Bu eski görünüyor Lütfen sadece uygun does't.

Joomla ücretsiz bir sürü şey ile gelir, eklentileri, kimlik, adres defterleri, çoklu dil, şablonlar, mobil cihaz desteği, size uygun bir web sitesi için gereken TÜM. Sadece birlikte (yazılım geliştirme) tüm tutkal biraz çaba gerekiyor.

Şimdi benim posta sunucusu ile etkileşim için bir eklenti üzerinde çalışacak, o zaman ben bu hiçbir zaman yaptık.

Yeniden icat etmeyin, ama ne depresif alamadım.