# Resolução de Problemas do &kmail;

## O KMail não envia correio

Alguns utilizadores poderão descobrir que o correio não sai, e que parece que falta o &SMTP;, ainda que na página de Configuração pareça estar tudo correcto. Foi relatado que isto se resolve se abrir a aplicação akonadiconsole e adicionar o Agente de Despacho do Correio.

Se o computador foi desligado de forma repentina no modo de suspensão (⪚ por um corte de energia), algumas vezes o correio simplesmente fica na pasta de correio a enviar sem ser enviado de facto, mas também sem gerar qualquer mensagem de erro. Isto pode ser devido ao facto de que o Agente de Despacho do Correio esteja marcado como desligado no ficheiro de configuração, durante a suspensão, e não tenha sido alterado de volta devido ao estoiro. Edite o seguinte ficheiro:

`~/.config/akonadi/agent_config_akonadi_maildispatcher_agent`

e mude

    [Agent]
    Online=false

para

    [Agent]
    Online=true

## Início limpo após uma migração sem sucesso

No caso de uma migração do &kmail; 1 para o &kmail; 2 tiver falhas, ou caso você tenha problemas esquisitos a seguir à mesma, poderá tentar fazer uma importação limpa dos seus dados, em vez de migrar a configuração existente. Tenha em atenção que isso necessita de mais configurações manuais, pelo que faça isso apenas se realmente estiver confiante com a configuração das suas contas do &kmail;, porque poderá gerar uma enorme quantidade de tráfego de rede para os recursos de &imap;.

1. Pare o Akonadi e as aplicações relacionadas

   saia do &kmail;/&kontact;/&korganizer;, e execute este comando:

   ``akonadictl stop``

   Certifique-se que não está nenhum processo do Akonadi ou do MySQL em execução:

   ``ps ux | grep mysql``

   ``ps ux | grep akonadi``

   Não deverão mostrar nada mais para além do processo grep em si.

2. Remova a antiga base de dados e configuração do Akonadi

   Apague as seguintes pastas

   - `~/.local/share/akonadi`

   - `~/.config/akonadi`

   Apague também os ficheiros que começam por akonadi da pasta `~/.kde4/share/config`

3. Reinicie o servidor do Akonadi

   ``akonadictl start``

4. Adicione as contas de volta

   Agora é a altura de adicionar de novo a sua conta. Poderá usar o &kmail; (&kontact;) para tal, ou então poderá usar a ferramenta akonadiconsole.

   No &kmail;: Configuração Configurar o KMail Contas e use o Adicionar.

   Se usar o &imap;, adicione um novo Servidor de e-mail por &imap;. Se quiser o modo desligado (para que possa ler o correio sem estar ligado), active-o na página Avançado. Certifique-se que verifica se está inscrito em todas as suas pastas importantes.

   Poderá já ver um recurso de Pasta local. Este aponta para uma pasta 'maildir' local. Poderá modificar este para apontar para as suas pastas existentes ou poderá adicionar um novo recurso para o correio local.

   Ao adicionar um recurso 'maildir', poderá optar entre a Pasta de Correio do &kmail; ou a Maildir. A menos que tenha uma pasta mista que contenha ambos os formatos, deverá escolher a opção Maildir. Para os ficheiros 'mbox' independentes, como o que existe em `/var/spool/mail`, poderá configurar uma pasta MBox nova.

   Adicione também as contas de POP3. No caso de ter várias pastas locais configuradas, escolha na página Avançado a pasta de destino onde serão colocadas as mensagens de e-mail acabadas de transferir.

   Para todas as contas, configure o intervalo de verificação do correio. Para as pastas locais, desactive o intervalo de verificação e desactive também a opção Incluir na verificação manual do correio das Opções de recepção.

   Adicione as contas de envio (SMTP).

5. Corrija os seus filtros, identidades e pastas favoritas

   Se tiver a filtragem do lado do cliente (o que é comum com o correio POP3), vá a Configuração Configurar os Filtros e corrija a pasta de destino dos filtros, porque provavelmente estão errados. Caso contrário, as mensagens poderão acabar em pastas que não está à espera.

   O filtro de lixo (pelo menos na versão 4.7.3. e posterior) não funciona como seria de esperar, na medida em que a regra que o assistente cria não envia o lixo para a pasta definida por si.

   A solução alternativa para isto é alterar as condições de lixo e lixo provável (se o filtro de lixo que usa as suportar), vendo os campos de estado do cabeçalho `X-Spam-Status` para procurar Em qualquer lado do cabeçalho por X-`o seu filtro de lixo`-Classification: SPAM ou unsure. Procure nos filtros que o assistente cria e copie a parte do contém. Um exemplo para o Spambayes: X-Spambayes-Classification: spam e X-Spambayes-Classification: unsure.

   Terá também de verificar a configuração da identidade e definir as pastas de correio 'enviado', 'rascunhos' e 'modelos', por forma a apontar para as pastas correctas. Para o fazer, vá a Configuração Configurar o KMail Identidades, modifique a identidade, vá à página Avançado e modifique as definições de pastas mencionadas acima.

   Verifique também se as suas Pastas Favoritas são de facto as que escolheu anteriormente.

6. Iniciar uma verificação de correio

   Inicie uma verificação de correio para as suas contas. Sugere-se que o faça por cada conta individual.

   Faça primeiro para o &imap;, caso o tenha.

   A seguir deve verificar (importar) o seu correio local. Uma solução será fazer uma verificação completa de uma vez, com a opção Ficheiro Verificar o Correio em, e seleccione a conta local; a outra opção é carregar sobre cada uma das pastas, o que deverá iniciar a verificação das mesmas (em alternativa, carregue com o botão direito sobre o nome da pasta e seleccione Actualizar a Pasta).

   A importação inicial poderá ser lenta e poderá consumir muita memória, especialmente no caso de ter pastas com quantidades enormes de correio. Nesse caso, recomenda-se uma verificação pasta-a-pasta. No caso de a verificação (completa ou individual) terminar e a utilização da memória continuar alta, poderá reiniciar o servidor do Akonadi — como visto acima — ou apenas o agente 'maildir', caso use o `akonadiconsole`. Não se preocupe; esta utilização alta de memória é apenas para a importação inicial.

   Inicie uma verificação do correio para os recursos de POP3.

Esperemos que, após estes passos, tenha uma experiência muito melhor do &kmail;.

## As Pastas Locais são adicionadas várias vezes

Em alguns casos, poderá acabar com uma conta 'maildir' que aponta para um determinado local (do tipo `$HOME/Mail`), mas poderá ver à mesma uma pasta Pastas Locais na lista de pastas com as sub-pastas Recebido/A Enviar/Lixo/Rascunhos/&etc;, continuando o &kmail; a adicionar mensagens aí, especialmente as mensagens enviadas.

O problema é que certas pastas estão marcadas como pastas especiais (do sistema) e, caso não as tenha, o &kmail; não poderá funcionar correctamente. Essa é a razão pela qual tenta criar de novo essa pasta.

Nesta altura, não existe uma forma simples de alterar isto na interface para todos os tipos de pastas especiais. Aqui está o que poderá fazer:

1. A pasta de correio 'enviado', 'rascunhos' e 'modelos' pode ser configurada para cada identidade. Para o fazer, vá a Configuração Configurar o KMail Identidades, modifique a identidade, vá à página Avançado e modifique as definições de pastas mencionadas acima.

2. A pasta de correio 'recebido' predefinida pode ser configurada para cada conta POP3. Para o fazer, vá a Configuração Configurar o KMail Identidades, modifique a identidade, vá à página Avançado e mude a Pasta de destino.

3. Para as contas de IMAP, poderá configurar a pasta do Lixo. Faça como indicado acima. O nome da opção é a Pasta do lixo.

4. A parte mais problemática é a pasta A enviar. Primeiro, localize o `specialmailcollectionsrc` na sua pasta de configuração do &kde; `$HOME/.kde4/share/config` ou algo semelhante). Contém algo do tipo:

`[SpecialCollections] DefaultResourceId=akonadi_maildir_resource_0`

Agora inicie o akonadiconsole; na página Agentes, localize a sua conta local onde deseja ter a sua pasta A Enviar, carregue nela e aponte o identificador que aparece na parte inferior (`akonadi_maildir_resource_XXX` ou algo do género). Coloque esse identificador no ficheiro `specialmailcollectionsrc` apresentado acima, substituindo o existente.

Depois disso, reinicie o akonadi (podê-lo-á fazer no akonadiconsole, Servidor Reiniciar o Servidor ou a partir da linha de comandos com:

`akonadictl restart`

Agora remova as Pastas Locais que não deseja usar mais.

Se continuar a aparecer de novo e o Agente de Despacho de Correio continuar a estoirar, é necessário fazer mais uma coisa no akonadiconsole. Vá à página Navegador, procure a caixa de saída que deseja usar, carregue com o botão direito nela, vá a Propriedades da Pasta, Atributos, indique `SpecialCollectionAttribute` e depois Adicionar, faça duplo-click sobre o Valor, perto de SpecialCollectionAttribute e escreva `outbox`. Adicione também outro atributo, cujo nome terá de ser ENTITYDISPLAY e o valor igual a `("outbox" "mail-folder-outbox" "" ())` (pode simplesmente colar a partir daqui). Reinicie o akonadi e deverá então ser capaz de remover a conta de pastas locais indesejada.

## Você obtém o erro 'Incapaz de obter o item da infra-estrutura ao entrar na pasta de IMAP'

Existe um conjunto de razões possíveis para isto e é algo que a equipa do &kmail; pensa resolver a tempo. Entretanto, existem algumas soluções alternativas:

Alternativa 1

- - edite o ficheiro `~/.local/share/akonadi/mysql.conf`

  - Na secção [mysql], adicione: `binlog_format=row`

  Se isto não funcionar, tente a solução 2 (em baixo).

Alternativa 2

- Esta é mais uma questão de reiniciar, para que o &kmail; possa obter estes itens específicos... Alguns passos possíveis:

  Use o &Alt;F2 ou o &konsole; para escrever: ``kquitapp kmail``, depois espere um minuto, depois o ``akonadictl stop``, espere mais um minuto, escreva ``akonadictl start``, espere mais outro minuto ainda e escreva ``kmail``. Isto interrompe o &kmail; (fechando todas as janelas), interrompe a infra-estrutura do &kmail;, inicia a mesma infra-estrutura do &kmail;, inicia o &kmail; em si. Se tiver uma ligação à Internet funcional, irá aumentar as hipóteses de sucesso. Algumas das vezes, bastará apenas fazer ``kquitapp kmail``, esperar um minuto e iniciar o &kmail; de novo. Geralmente, parecem ser necessários alguns reinícios sucessivos. Não é clara a razão para este facto, mas em ligações à rede problemáticas, é mais provável que isto aconteça.

Veja também o item abaixo sobre a utilidade do akonadiconsole.

## As suas mensagens não estão a ser enviadas, mas também não aparecem mensagens de erro

Se o &kmail; não enviar nada mas também não indicar nenhum erro, o agente responsável por despachar as mensagens poderá estar bloqueado. Obviamente, terá de garantir que tem uma ligação adequada à rede para enviar o correio!

Para resolver isto, poderá ajudar se interromper a acção actual e reiniciá-la. Primeiro, saia do &kmail; com o &krunner; (&Alt;F2) ou o &konsole; e se escrever: ``kquitapp kmail``. Lembre-se que um &Alt;F4 normal ou a opção Ficheiro Sair não aplica o truque! Espere um minuto e inicie depois o &kmail; de novo. Agora, arranque o akonadiconsole com o &krunner; (&Alt;F2) ou o &konsole;. Vá ao Agente de Tratamento de Correio, carregue com o botão direito do rato e interrompa a acção actual. Poderá obter algumas mensagens de erro que aparecem. Volte ao &kmail; e escolha a opção Ficheiro Enviar as Mensagens em Espera. Agora já poderá funcionar. Caso contrário, em vez de interromper a acção actual, tente comutar o estado ligado/desligado do Agente de Tratamento de Correio ou reiniciar as coisas, como mencionado no passo 2 do problema acima.

O 'akonadiconsole' pode ser bastante útil para um conjunto de situações, dado que mostra todos os agentes, os componentes separados da infra-estrutura do &kmail;. Podê-los-á iniciar e parar, colocá-los no modo desligado, interromper as acções em curso, &etc;. Poderá ser bastante útil quando as coisas ficarem presas.