IMAPD
Servidor IMAP (biblioteca) para servir e -mails a um cliente de email, escrito em Pure PHP.
O d em SMTPd significa Daemon. Esse script pode ser executado em segundo plano como qualquer outro processo daemon. Não é para correr como aplicativo web.
Por que este projeto?
Acredite ou não, o email ainda é o recurso assassino da Internet . Existem muitos projetos para acessar e buscar e -mails de um servidor IMAP/POP3. Mas não há tantos fornecendo uma interface programaticamente para servir e -mails a um cliente de email.
Com esta interface, você pode fazer algo assim para os usuários do seu aplicativo:
+--------------+ +-------+ +------------------------+ +------+
| Your PHP App +---> | IMAPd +---> | MUA (like Thunderbird) +---> | User |
+--------------+ +-------+ +------------------------+ +------+
Isso é útil quando você tem um aplicativo de mensagens escrito no PHP, mas nenhuma interface gráfica do usuário para ele. Portanto, sua interface gráfica do usuário pode ser qualquer cliente de email. Thunderbird, por exemplo.
Esboços do projeto
O projeto descreve conforme descrito em meu post sobre a colaboração de software de código aberto.
- O principal objetivo deste software é fornecer uma API IMAP do lado do servidor para scripts PHP.
- Embora as implementações da RFC ainda não tenham sido concluídas, elas devem ser rigorosas.
- Mais recursos podem ser possíveis no futuro. Na perspectiva dos protocolos, os recursos devem ser uma implementação da RFC.
- Esta lista está aberta. Sinta -se à vontade para solicitar recursos.
Recursos planejados
- Implementação completa do RFC 3501.
- Substitua
ZendMail por uma solução melhor.
Instalação
O método preferido de instalação é via Packagist e Composer. Execute o seguinte comando para instalar o pacote e adicione -o como um requisito ao Composer.json:
composer require thefox/imapd
Uso
Consulte example.php Arquivo Para obter mais informações.
Implementação RFC 3501
Implementação completa
- 6.1.2 Comando Noop
- 6.1.3 Comando de logout
- 6.4.1 Verifique o comando
- 6.4.7 Comando de cópia
- 7.1.1 Resposta OK
- 7.1.2 Sem resposta
- 7.1.3 Resposta ruim
- 7.1.5 Resposta de tchau
- 7.4.1 Resposta de Excunge
Implementação incompleta
- 2.3.1.1 ATRIBUIÇÃO DE MENSAGEM DE MENSAGEM DE IDENTIMENTO DE
- 2.3.1.2 Atributo da mensagem do número da sequência de mensagens
- 2.3.2 Sinalizadores Atributo da mensagem
- 6.1.1 Comando de capacidade
- 6.2.2 Comando autentique
- 6.2.3 Comando de login
- 6.3.1 Selecione comando
- 6.3.6 Comando de inscrição
- 6.3.7 Comando de cancelamento de inscrição
- 6.3.8 Comando da lista
- 6.3.9 Comando LSUB
- 6.3.11 Anexar comando
- 6.4.2 Comando Fechar
- 6.4.4 Comando de pesquisa
- 6.4.5 Comando buscar
- 6.4.6 Comando da loja
- 6.4.8 Comando UID
- 7.1.4 RESPOSTA DE PREAUTH
- 7.2.1 Resposta da capacidade
- 7.2.2 Resposta da lista
- 7.2.3 LSUB Resposta
- 7.2.5 Resposta da pesquisa
- 7.3.1 Existe resposta
- 7.3.2 Resposta recente
- 7.4.2 Resposta de busca
PENDÊNCIA
- Algumas tarefas são comentadas com
NOT_IMPLEMENTED . Implementar estes. -
@TODO devem ser completos nos testes de sniffer de código PHP antes de lançar uma nova versão.
Alternativas para ZendMail
- Exorus/Php-Mime-Mail-Parser (requer extensão PHP de mai-mailparse)
Links relacionados
- RFC 3501
- O e -mail vai durar para sempre
- O e -mail ainda é a melhor coisa na internet
- Acredite ou não, o email ainda é o aplicativo assassino
- Desenvolvedores: Pare de re-colar a web!
- Configure seu próprio servidor de e -mail em 5 etapas
Projetos relacionados
Links do projeto
- Postagem do blog sobre IMAPD
- Pacote packagist
- PhpWeekly - Edição 7 de agosto de 2014