• No results found

O plugin móvel MDDE para Android foi desenvolvido com atenção a todos os requisitos funcionais estipulados, à excepção da opção de actualizar a aplicação, pelo que estão presentes na implementação as seguintes funcionalidades:

• envio de mensagens com e sem MDDE;

• possibilidade de composição de mensagens na aplicação, iniciadas interna ou externa- mente (i.e. a partir de aplicações com conteúdo multimédia);

• servidor SMTP local para a intercepção de mensagens de clientes de e-mail externos; • configuração dos servidores e modos de funcionamento da aplicação;

• automatização dos modos de envio e do arranque do servidor local; • mecanismos de validação das definições da aplicação.

Para o envio de mensagens, como previsto, a decisão de implementação tomada foi dispo- nibilizar o envio tanto a partir da própria aplicação como através de outros clientes de correio electrónico instalados no dispositivo. Desta forma, permite-se que sejam criadas mensagens na própria aplicação tanto para envio com como sem MDDE, e de igual modo à funcionalidade presente no plugin Desktop já existente, também existe a possibilidade de usar um qualquer

cliente de e-mail configurável, para que o processo de adaptação à utilização no dispositivo móvel seja minimamente intrusiva. Foi também desenvolvida uma funcionalidade de captura de Intents com conteúdo multimédia, de modo a permitir que uma aplicação externa seja capaz de iniciar a composição de uma mensagem no plugin móvel com o conteúdo pretendido em anexo.

É descrito, de seguida, o modo como foram abordadas as questões de envio de mensagens para a solução implementada.

Servidor SMTP local

Como previsto e especificado em 5.3.1, foi desenvolvido um servidor SMTP local, res- ponsável por interceptar mensagens de correio electrónico a serem enviadas com o sistema MDDE, de forma análoga à desempenhada pelo plugin Desktop. Para que um e-mail seja enviado por um qualquer cliente no dispositivo móvel, apenas é necessário alterar as configu- rações de envio deste mesmo cliente de forma a que o servidor SMTP de envio seja o 127.0.0.1 (i.e. “localhost”) e a porta do servidor configurada de acordo com a porta onde este estiver a correr (porta 2525, por predefinição). Este servidor SMTP local, por defeito, é executado no arranque do OS, sendo que pode ser parado/recomeçado a qualquer altura de forma a libertar recursos do sistema ou conforme este seja ou não necessário.

Quando é recebido um e-mail no servidor SMTP local, este é processado de forma a ser gerado um pedido MDDE, após ser confirmada (por GUI iniciada pelo servidor local) a intenção de enviar a mensagem correspondente via MDDE. Uma vez que a autenticação de um pedido MDDE perante o servidor proxy MDDE é baseada em factores inerentes à própria mensagem e relativa estrutura (nomeadamente: cabeçalhos da mensagem original, estrutura do pedido e respectiva assinatura digital), durante o tratamento de mensagens interceptadas pelo servidor SMTP local apenas é analisado o endereço do remetente, que deverá corresponder ao endereço definido nas configurações de envio do plugin. Por este motivo, qualquer tentativa de autenticação de um cliente de correio electrónico perante o servidor SMTP local é ignorada, sendo que para o caso de o utilizador pretender enviar o respectivo e-mail sem recorrer ao serviço MDDE, são usadas as configurações SMTP para envio sem MDDE definidas no plugin.

Envio através da aplicação

Os dispositivos móveis, apesar de cada vez mais se aproximarem das capacidades de pro- cessamento de computadores pessoais, continuam a ser dispositivos que necessitam de uma boa gestão de recursos para providenciarem um equilíbrio aceitável entre desempenho e au- tonomia. Por este motivo, a funcionalidade de enviar mensagens com MDDE através de um servidor SMTP local pode ser uma solução um pouco pesada para um dispositivo móvel, pelo que o ideal é também disponibilizar uma alternativa para o envio de mensagens com MDDE, através da composição de mensagens na aplicação.

Para o efeito de envio através da aplicação, é disponibilizada uma GUI com funcionalida- des idênticas às de composição num qualquer cliente de e-mail, onde podem ser definidos os campos de Destinatário, CC, BCC, o Assunto, o Corpo da mensagem e respectivos Anexos. De modo a integrar da melhor forma o funcionamento da aplicação com o OS, estão definidos filtros de Intents, que são activados quando uma outra aplicação no dispositivo móvel pre- tende enviar qualquer tipo de conteúdo multimédia (e também a partir de URLs “mailto”), sendo então apresentada a opção de compor uma nova mensagem no plugin com esses mesmos dados — como exemplificado na imagem do centro na figura 6.8. Com isto em conta, pode-se afirmar que, na prática, é disponibilizada na aplicação uma extensão como cliente de correio electrónico, destituído de capacidades de recepção e leitura de e-mails.

Validação de configurações

Tal como referido no início deste sub-capítulo, foi implementada a funcionalidade de vali- dação das configurações da aplicação. Esta funcionalidade realiza um diagnóstico ao plugin, através de diferentes testes que permitem identificar configurações conflituosas e problemas de conectividade, e descobrir assim a causa de problemas que possam surgir durante a utilização da aplicação. Assim sendo, o utilizador pode realizar as seguintes operações (individualmente ou em simultâneo):

• Testar ligação — Verifica se o dispositivo está conectado à Internet (independente- mente de qual a ligação utilizada para o efeito);

• Testar servidores SMTP — Tenta efectuar uma ligação aos servidores configurados na aplicação (i.e. o Proxy MDDE e o servidor SMTP para envio sem MDDE) e caso a ligação seja bem sucedida, interpreta a resposta obtida de forma a verificar se estes são

efectivamente servidores SMTP;

• Testar credenciais de assinatura — Utiliza o Smart Card para realizar uma assina- tura digital sobre dados gerados aleatoriamente e valida a mesma através do certificado do utilizador, sendo por isso requiridas as credenciais da applet (ou seja, o PIN). No caso de não existir conectividade à Internet, é apresentada uma mensagem a indicar o mesmo ao utilizador, tanto para o primeiro teste como para o segundo (uma vez que se não houver uma ligação activa não é possível testar os servidores SMTP). Para o segundo teste, se algum dos (ou até ambos) servidores falharem, é descrito esse mesmo problema e indi- cado que o servidores não puderam ser alcançados ou que não são servidores SMTP válidos. Relativamente às falhas que podem ocorrer durante o teste das credenciais de assinatura, é possível que o cartão não esteja presente, as credenciais estejam erradas, a assinatura não possa ser realizada (por não estar definida uma chave privada na applet, por exemplo) ou que falhe a validação da assinatura realizada (por não existir um certificado digital ou por a chave pública deste não corresponder à chave privada usada para assinatura). Em qualquer um dos casos, e tal como nos restantes testes da aplicação, é indicada a causa do problema ocorrido.