Imapd
IMAP Server (biblioteca) para servir correos electrónicos a un cliente de correo electrónico, escrito en PHP puro.
El d en SMTPd significa Daemon. Este script puede ejecutarse en segundo plano como cualquier otro proceso de demonio. No está destinado a ejecutarse como una aplicación web.
¿Por qué este proyecto?
Lo creas o no, el correo electrónico sigue siendo la característica asesina de Internet . Hay toneladas de proyectos para acceder y obtener correos electrónicos de un servidor IMAP/POP3. Pero no hay tantos que proporcionen una interfaz programada para atender correos electrónicos a un cliente de correo electrónico.
Con esta interfaz puede hacer algo como esto para los usuarios de su aplicación:
+--------------+ +-------+ +------------------------+ +------+
| Your PHP App +---> | IMAPd +---> | MUA (like Thunderbird) +---> | User |
+--------------+ +-------+ +------------------------+ +------+
Esto es útil cuando tiene una aplicación de mensajería escrita en PHP pero no hay interfaz gráfica de usuario para ella. Por lo tanto, su interfaz gráfica de usuario puede ser cualquier cliente de correo electrónico. Thunderbird, por ejemplo.
Esquemas de proyectos
El proyecto describe como se describe en mi publicación de blog sobre la colaboración de software de código abierto.
- El objetivo principal de este software es proporcionar una API IMAP del lado del servidor para los scripts PHP.
- Aunque las implementaciones de RFC aún no se completan, deben ser estrictas.
- Pueden ser posibles más características en el futuro. En perspectiva de los protocolos, las características deben ser una implementación de RFC.
- Esta lista está abierta. No dude en solicitar funciones.
Características planificadas
- Implementación completa de RFC 3501.
- Reemplace
ZendMail con una mejor solución.
Instalación
El método de instalación preferido es a través de Packagist y Composer. Ejecute el siguiente comando para instalar el paquete y agréguelo como un requisito para composer.json:
composer require thefox/imapd
Uso
Consulte el archivo example.php para obtener más información.
Implementación de RFC 3501
Implementación completa
- 6.1.2 Comando NOOP
- 6.1.3 Comando de inicio de sesión
- 6.4.1 Comando de verificación
- 6.4.7 Comando de copia
- 7.1.1 Ok Respuesta
- 7.1.2 Sin respuesta
- 7.1.3 Mala respuesta
- 7.1.5 Respuesta de adiós
- 7.4.1 Respuesta de expunción
Implementación incompleta
- 2.3.1.1 Atributo de mensaje de identificador único (UID)
- 2.3.1.2 Atributo de mensaje de número de secuencia de mensajes
- 2.3.2 Atributo de mensaje de banderas
- 6.1.1 Comando de capacidad
- 6.2.2 Comando de autenticación
- 6.2.3 Comando de inicio de sesión
- 6.3.1 Seleccionar comando
- 6.3.6 suscribir comando
- 6.3.7 Comando de suspensión
- 6.3.8 Comando de lista
- 6.3.9 Comando LSUB
- 6.3.11 Comando de adjunto
- 6.4.2 Comando de cierre
- 6.4.4 Comando de búsqueda
- 6.4.5 Comando de búsqueda
- 6.4.6 Comando de la tienda
- 6.4.8 Comando UID
- 7.1.4 Respuesta de preauth
- 7.2.1 Respuesta de capacidad
- 7.2.2 Respuesta de la lista
- 7.2.3 Respuesta de LSUB
- 7.2.5 Respuesta de búsqueda
- 7.3.1 Existe respuesta
- 7.3.2 Respuesta reciente
- 7.4.2 Respuesta de búsqueda
HACER
- Algunas tareas se comentan con
NOT_IMPLEMENTED . Implementar estos. -
@TODO deben completarse las pruebas de rastreador del código PHP antes de lanzar una nueva versión.
Alternativas para ZendMail
- Exorus/php-mime-mail-parser (requiere una extensión de PHP de matrícula EXT)
Enlaces relacionados
- RFC 3501
- El correo electrónico durará para siempre
- El correo electrónico sigue siendo lo mejor en Internet
- Lo creas o no, el correo electrónico sigue siendo la aplicación asesina
- Desarrolladores: ¡Deja de re-aolizar la web!
- Configure su propio servidor de correo electrónico en 5 pasos
Proyectos relacionados
Enlaces de proyectos
- Publicación de blog sobre IMAPD
- Paquete de paquete
- PhPWeekly - Número 7 de agosto de 2014