Imapd
IMAP Server (Perpustakaan) untuk melayani email ke klien email, ditulis dalam php murni.
d dalam SMTPd adalah singkatan dari Daemon. Skrip ini dapat berjalan di latar belakang seperti proses daemon lainnya. Ini tidak dimaksudkan untuk berjalan sebagai aplikasi web.
Mengapa proyek ini?
Percaya atau tidak, email masih menjadi fitur pembunuh dari internet . Ada banyak proyek untuk mengakses dan mengambil email dari server IMAP/POP3. Tetapi tidak banyak yang menyediakan antarmuka terprogram untuk melayani email ke klien email.
Dengan antarmuka ini Anda dapat melakukan hal seperti ini untuk pengguna aplikasi Anda:
+--------------+ +-------+ +------------------------+ +------+
| Your PHP App +---> | IMAPd +---> | MUA (like Thunderbird) +---> | User |
+--------------+ +-------+ +------------------------+ +------+
Ini berguna ketika Anda memiliki aplikasi pesan yang ditulis dalam PHP tetapi tidak ada antarmuka pengguna grafis untuk itu. Jadi antarmuka pengguna grafis Anda dapat berupa klien email. Thunderbird misalnya.
Garis besar proyek
Proyek ini menguraikan seperti yang dijelaskan dalam posting blog saya tentang kolaborasi perangkat lunak open source.
- Tujuan utama dari perangkat lunak ini adalah untuk menyediakan API IMAP sisi server untuk skrip PHP.
- Meskipun implementasi RFC belum selesai, mereka harus ketat.
- Lebih banyak fitur dapat dimungkinkan di masa depan. Dalam perspektif protokol, fitur harus berupa implementasi RFC.
- Daftar ini terbuka. Jangan ragu untuk meminta fitur.
Fitur yang direncanakan
- Implementasi RFC 3501 penuh.
- Ganti
ZendMail dengan solusi yang lebih baik.
Instalasi
Metode instalasi yang disukai adalah melalui Packagist dan Composer. Jalankan perintah berikut untuk menginstal paket dan menambahkannya sebagai persyaratan untuk composer.json:
composer require thefox/imapd
Penggunaan
Lihat file example.php untuk informasi lebih lanjut.
Implementasi RFC 3501
Implementasi Lengkap
- 6.1.2 Perintah NOOP
- 6.1.3 Perintah Logout
- 6.4.1 Periksa perintah
- 6.4.7 Perintah Salin
- 7.1.1 Respons OK
- 7.1.2 Tidak ada tanggapan
- 7.1.3 Respons Buruk
- 7.1.5 Bye Respons
- 7.4.1 Respons Penghapusan
Implementasi yang tidak lengkap
- 2.3.1.1 Atribut Pesan Pengidentifikasi Unik (UID)
- 2.3.1.2 Atribut Pesan Urutan Nomor Pesan
- 2.3.2 Atribut Pesan Bendera
- 6.1.1 Perintah Kemampuan
- 6.2.2 Perintah Otentikasi
- 6.2.3 Perintah Login
- 6.3.1 Pilih Perintah
- 6.3.6 Perintah Berlangganan
- 6.3.7 Perintah berhenti berlangganan
- 6.3.8 Perintah Daftar
- 6.3.9 Perintah LSUB
- 6.3.11 Perintah Tambahkan
- 6.4.2 Tutup Perintah
- 6.4.4 Perintah Pencarian
- 6.4.5 Ambil perintah
- 6.4.6 Perintah Toko
- 6.4.8 Perintah UID
- 7.1.4 Respons Prauth
- 7.2.1 Respons Kemampuan
- 7.2.2 Daftar Respons
- 7.2.3 Respons LSUB
- 7.2.5 Respons pencarian
- 7.3.1 ada respons
- 7.3.2 Respons Terbaru
- 7.4.2 Ambil respons
Todo
- Beberapa tugas dikomentari dengan
NOT_IMPLEMENTED . Menerapkan ini. -
@TODO harus menyelesaikan tes sniffer kode PHP sebelum merilis versi baru.
Alternatif untuk ZendMail
- exorus/php-mime-mail-parser (membutuhkan ekstensi php ext-mailparse)
Tautan terkait
- RFC 3501
- Email akan bertahan selamanya
- Email masih merupakan hal terbaik di internet
- Percaya atau tidak, email masih merupakan aplikasi pembunuh
- Pengembang: Berhenti mengayuh kembali web!
- Siapkan server email Anda sendiri dalam 5 langkah
Proyek terkait
Tautan proyek
- Posting blog tentang imapd
- Paket Packagist
- Phpweekly - Edisi 7 Agustus 2014