Aerc: um TUI de e-mail bem construído
(blog.sergeantbiggs.net)- Aerc é um cliente de e-mail TUI muito mais jovem que Pine e Mutt, mas já tem maturidade e recursos suficientes para merecer uma nova avaliação para uso diário
- Graças à ajuda baseada em man pages, como
:helpeaerc-tutorial (7), dá para aprender rapidamente configuração e atalhos sem documentação externa - As contas são gerenciadas com um assistente e com o arquivo de configuração INI
~/.config/aerc/accounts.conf, permitindo organizar de forma consistente até estruturas de pastas diferentes entre servidores - Os complicados e-mails HTML no TUI podem ter sua exibição ajustada com
w3m,dante,:opene filtros personalizados baseados em MIME e cabeçalhos - Combinando edição no Vim, catálogo de endereços externo, PGP, assinaturas, templates e aviso de anexos, é possível montar um fluxo de trabalho de e-mail centrado no terminal de forma flexível
Posição do Aerc e primeiras impressões
- Aerc é um cliente de e-mail TUI e seu primeiro lançamento foi há cerca de 4 anos
- Como o Pine foi lançado em 1992 e o Mutt em 1995, o Aerc é bastante jovem em comparação com os clientes de e-mail de terminal mais tradicionais
- No começo, eu estava relativamente satisfeito com o Thunderbird e o Aerc parecia uma ferramenta um tanto básica, então não o usei; mas, ao olhar de novo recentemente, ele pareceu maduro e completo o bastante para servir como cliente do dia a dia
- Por já ter tentado usar o neomutt várias vezes e desistido rapidamente por frustração, eu quase não tinha expectativa em relação ao Aerc; mas, na prática, a experiência superou minhas expectativas e ele pareceu ser o cliente de e-mail mais agradável que já usei até agora
- Ainda é cedo para dizer que ele é melhor do que outros clientes de e-mail, mas o resultado de alguns dias de uso foi muito positivo
Documentação e ajuda embutida
- O Aerc tem ajuda embutida acessível pelo comando
:help - O tutorial apresenta de forma concisa os principais recursos e atalhos necessários para uma configuração rápida
- As outras páginas de ajuda também cobrem cada parte do aplicativo de forma curta e clara, facilitando aprender os recursos sem material externo
- A documentação de ajuda vem no formato de man page, enviada para o
less- Ex.:
aerc-tutorial (7) - É uma forma de incluir um sistema de ajuda portável dentro de uma aplicação TUI
- Ex.:
Configuração de contas e gerenciamento de pastas
- As contas podem ser adicionadas com um assistente simples e intuitivo
- O assistente cria uma nova entrada de conta em
~/.config/aerc/accounts.conf - Esse arquivo usa sintaxe INI, o que o torna fácil de ler e editar
- A configuração da conta pode incluir endereços IMAP/SMTP, pasta padrão, remetente, local da cópia da pasta de enviados, cache de cabeçalhos, ordenação de pastas, arquivamento, intervalo de checagem de e-mails e arquivos de mapeamento de pastas
-
folders-sortfolders-sorté uma opção que sobrescreve a ordenação automática de pastas específicas- As pastas definidas aparecem no topo da lista na ordem fornecida, e o restante é ordenado alfabeticamente
- Eu nunca tinha visto isso em clientes gráficos como Thunderbird ou Outlook, mas parece um recurso que seria bom ter em todo cliente de e-mail
-
folder-mapfolder-mapmapeia a estrutura de pastas do servidor — que varia conforme o provedor de e-mail — para nomes de pastas de exibição- O Gmail coloca tudo sob a pasta
[Gmail], alguns provedores colocamSenteDraftssobINBOX, e outros podem não fazer isso - A estrutura de pastas fornecida pelo servidor é difícil de mudar, a menos que você administre o servidor de e-mail diretamente
- O Aerc transforma as pastas do servidor em nomes de exibição usando um arquivo de regras de mapeamento
- permite remapear uma única pasta
- permite remapear uma pasta e todas as suas subpastas
- permite remover prefixos de todas as subpastas
- permite remapear subpastas evitando conflitos entre pastas
- Com esse recurso, dá para trabalhar com uma estrutura de pastas consistente em todas as contas, independentemente da estrutura do servidor
- Essa consistência é especialmente importante ao gerenciar e-mail via CLI, mais do que em GUI
Leitura de e-mails e tratamento de HTML
- A experiência de leitura de e-mails foi, em geral, comum; a principal fonte de incômodo parece estar mais nos e-mails HTML do que no próprio Aerc
- Na maioria dos e-mails multipart, a versão em texto simples é mais difícil de ler do que a versão HTML
- Em geral dá para entender o sentido, mas às vezes o conteúdo pode parecer embaralhado
- O Aerc oferece algumas opções para reduzir esse problema
- A forma de exibição é configurada com filtros personalizados
- Os filtros são pipelines *nix pelos quais a mensagem passa antes de ser exibida
- Os filtros padrão oferecem suporte a colorização de texto simples, itens de calendário e e-mails HTML
- Os filtros podem ser configurados por tipo MIME e também podem corresponder a cabeçalhos específicos
- A configuração de exemplo inclui entradas como
text/plain=colorize,text/calendar=calendaretext/html=html | colorize
Redação de e-mails e catálogo de endereços
- A experiência de escrever e-mails é muito boa, e poder redigir mensagens no Vim é uma grande vantagem
-
Integração com catálogo de endereços
- Em vez de gerenciar o catálogo de endereços diretamente dentro do Aerc, ele delega isso a programas externos
- O usuário define a consulta de busca a ser enviada ao programa de catálogo, e o resultado é usado no autocompletar dos campos de cabeçalho relevantes
- O programa padrão é o abook
- Nos testes, o abook não suportou nomes com caracteres não ASCII, e essa limitação é crítica se você troca e-mails com frequência com usuários de alemão
- Também não havia uma forma simples de importar para o abook os endereços extraídos de todos os e-mails
- O aercbook também foi testado, mas tinha o mesmo problema com caracteres não ASCII
- Em compensação, o aercbook suporta extrair endereços de e-mail de todos os campos de cabeçalho
- O emailbook-janet é uma reescrita do aercbook
- tem desempenho inferior, mas resolve o problema de ASCII
- com um atalho, é possível selecionar um e-mail, extrair os endereços e adicionar tudo automaticamente ao catálogo
emailbook-janeteaercbooknão são exatamente catálogos de endereços completos; são mais ferramentas que guardam nome e e-mail para viabilizar o autocompletar- Se for necessário um catálogo de endereços mais poderoso, também dá para considerar opções como khard, soluções semelhantes ou um servidor LDAP
PGP, assinaturas, templates e notificações
- O ponto mais incômodo do suporte a PGP/GPG no Thunderbird era usar um chaveiro separado
- O Aerc também tem seu próprio chaveiro, mas ele é opcional
- O comportamento padrão é usar diretamente o chaveiro do GPG
- É possível definir um ID de chave específico para assinar mensagens ou deixar que o Aerc procure a chave pelo endereço de e-mail
- Também há opção de assinar automaticamente todos os e-mails e de usar opportunistic encryption
- Se a configuração do GPG estiver correta, o suporte a PGP funciona sem problemas
-
Recursos gerais de configuração
- O Aerc suporta assinaturas por conta, incluindo um arquivo de texto com
signature-file= - Também é possível gerar a assinatura executando um comando externo
- Ele também oferece suporte a templates de e-mail, embora isso não tenha sido explorado em detalhe
- Tenta remover de forma inteligente repetições de
Re:no assunto em vários idiomas, usando expressões regulares - As expressões regulares podem ser sobrescritas ou estendidas
- Também há verificação de assunto vazio e aviso de anexo
- a verificação de assunto vazio checa se o assunto está em branco
- o aviso de anexo é baseado em regex, então é fácil expandi-lo
- a regex padrão é
^[^>]*attach(ed|ment) - ela exclui linhas que começam com
>, filtrando citações em que outra pessoa mencionou o anexo - para e-mails em alemão, a regex pode ser estendida para incluir
an(ge)?h[aä]ngt?
- Depois de alguns dias usando o Aerc, a sensação é forte de um software bem lapidado, e ele parece ser um cliente de e-mail que vale a pena continuar usando por um bom tempo
- O Aerc suporta assinaturas por conta, incluindo um arquivo de texto com
1 comentários
Opiniões no Hacker News
Uso o Aerc há muito tempo como meu cliente de e-mail diário e, embora eu o use via IMAP (Gmail etc.), ele também funciona muito bem com diretórios de e-mail locais
Como já estou velho demais para aprender novas combinações de teclas, mudei o mapeamento de teclas do Aerc para atalhos no estilo Vim, e isso me permitiu processar enormes volumes de e-mails muito rapidamente
Configurei tudo para que Gmail e Imapfilter funcionem corretamente, e também criei filtros que sempre senti falta nos clientes de e-mail tradicionais: filtro pelo remetente atual
ff = :filter -f "{{index (.From | emails) 0}}", ver mensagens com o mesmo assuntofs = :filter -H subject:"{{.SubjectBase}}", busca contendo texto no assuntofS = :filter -H subject:, e assim por dianteSe houver interesse, posso linkar o repositório no GitHub
Além disso, ouvi dizer que o Gmail está eliminando gradualmente o IMAP
Também adicionei pré-visualização de imagens anexadas
Explorei o mutt a fundo, mas acabei concluindo que um cliente de e-mail gráfico atende melhor às minhas necessidades
Mutt/aerc não dão suporte ao Windows, que eu prefiro e uso bastante no trabalho, e também são deficientes para ver e enviar e-mails em HTML. Meus colegas ficam se perguntando por que meus e-mails aparecem estranhos e por que a formatação das respostas desaparece
No Betterbird, é rápido arrastar e soltar e-mails em pastas e, ao contrário do mutt, que leva tempo para ficar com uma configuração decente, ele funciona de imediato. mbsync e offlineimap têm suporte fraco a OAuth, enquanto o Betterbird oferece isso nativamente
Quando preciso, também posso responder ou escrever em texto puro com Shift+clique. Vivo praticamente no terminal, mas neste caso paro por aqui; já o investimento em usar o newsboat como leitor de RSS tem valido a pena até agora
1: https://www.betterbird.eu/
2: https://news.ycombinator.com/item?id=39812124
3: https://isync.sourceforge.io/mbsync.html
4: https://www.offlineimap.org/
Como mencionado no texto, o Aerc também permite visualizar e-mails em HTML. Mover e-mails também pode ser muito mais rápido com entradas de teclado do que arrastando com o mouse, e fica ainda mais rápido quando você usa repetidamente as mesmas pastas: algo como
pa = :archive flat,pb = :move Brain,pf = :moveA configuração é muito menos complexa que a do mutt, e OAuth também funciona bem. O Betterbird também é bom, mas não gosto do fato de não poder usar meus atalhos de teclado
w3mno mailcap ou com uma configuração comoset send_multipart_alternative_filter=markdown2html.pynomuttrchttps://gitlab.com/muttmua/mutt/-/blob/master/contrib/markdown2html
Eu uso apenas Linux, mas prefiro GUI, e conecto o Evolution a um MS Exchange on-premises. Também opero e-mail de domínio pessoal para amigos e familiares com Dovecot, Exim etc.
Não conhecia o Betterbird, mas deixei nos favoritos para avaliar. Algum dia terei de abandonar o servidor Exchange, e estou ansioso pela discussão sobre migrar ou não para o M365. Do ponto de vista do representante que opera sistemas de e-mail há mais de 25 anos, no fim das contas o Exchange também pode ser substituído por uma combinação de IMAPD, MTA e aplicativo de calendário
Porém, parece que a manutenção parou e que ele só oferece suporte ao backend notmuch
1: https://github.com/akissinger/dodo
2: https://qutebrowser.org/
vem vez deopara ver o e-mail no navegador web já abertoPara ler e-mails em HTML, foi bom o suficiente. Mas uso apenas para fins pessoais, não profissionais, então isso pode variar de pessoa para pessoa
Cansei de manter abertas 5 abas do Gmail e 2 abas de e-mail que não eram Gmail, então configurei o aerc esta semana e sincronizei os e-mails com o backend Notmuch, usando lieer para Gmail e mbsync para os e-mails não Gmail
Levei cerca de 12 horas para configurar e me acostumar ao fluxo, mas é muito mais agradável do que meu modo de trabalho anterior. Ao contrário de uma aba do Gmail no Firefox, que consumia mais de 100 MB, a nova configuração é bem mais leve, e a busca local também é rápida e de boa qualidade
1: https://github.com/wangp/bower
Você não precisa necessariamente usar Emacs como cliente; há muitos front-ends, incluindo o aerc
https://notmuchmail.org/frontends/
Entre eles, o alot provavelmente é o mais conhecido
https://github.com/pazz/alot
Clientes de e-mail com UI de terminal sempre me pareceram atraentes, mas acho que entendi por que uma parte de mim os rejeita
O terminal é meu espaço de meditação. É o playground aonde vou para me concentrar profundamente e fazer o trabalho de verdade de que gosto
Ler ou escrever e-mails é tarefa administrativa, como Slack, então não quero trazer isso para dentro do meu terminal
Acho que separar essas tarefas, na verdade, reforça associações negativas com elas. Uma hora tudo precisa ser resolvido, então é melhor tornar isso um pouco menos sofrido; pelo menos no meu caso, não prejudica as vantagens de trabalhar no terminal
Os problemas que temos hoje com e-mail vêm da falta de desenvolvimento de ferramentas de e-mail modernas e pessoais
Por pessoal, quero dizer uma configuração que não vive no servidor de e-mail de outra pessoa, que baixa, sincroniza ou usa IMAP remoto facilmente, que tenha um IMAP em um homeserver pessoal, clientes focados em busca como notmuch-emacs/mu4e e boas ferramentas de filtragem como MailDrop
As peças já existem todas. Dá para reclassificar e-mails sincronizados com IMAPFilter e OfflineIMAP, ou baixá-los com fetchmail e MailDrop, e usar o notmuch do Emacs ou o Aerc. Mas são apenas programas separados, com configurações, estilos, qualidade de documentação e níveis de amigabilidade diferentes; para quem não é muito geek ou especialista, não há nada
Por isso muita gente passa a equiparar e-mail a webmail, e a aceitar webmail como um serviço de terceiros, como Slack ou WhatsApp Web. Essa é uma visão perigosa para a liberdade de comunicação e para o poder que o e-mail oferece
Capturar a fatura recorrente do ISP com uma regra do MailDrop, executar um script, adicionar prazo e valor ao calendário, depois verificar se há uma transação correspondente no software local de contabilidade e alertar se houver algo estranho não é difícil com ferramentas baseadas em texto como org-agenda, BeanCount, MailDrop e e-mail. Com software moderno é muito difícil, e isso é uma grande perda para potenciais power users que teriam de passar por um caminho longo demais para aprender e implementar automações simples, ou que nem sabem que essa possibilidade existe
A TI nasceu para simplificar a vida e expandir a cognição humana, e é triste que quase todo mundo tenha se esquecido disso
[1] Por causa dos nomes dos arquivos de e-mail, ao sincronizar em várias máquinas é comum surgirem incômodos com status de não lido ou tags, criação de mensagens duplicadas etc.
O e-mail deveria originalmente permitir 100% de personalização de fluxo de trabalho, filtragem, ordenação, pastas etc.
Como as ferramentas antigas ainda funcionam, essa possibilidade ainda existe. Só é preciso divulgar melhor como o e-mail é excelente quando usado do jeito originalmente pretendido. Se eu acreditasse que Gmail é e-mail, também odiaria e-mail, mas o Gmail não é o e-mail em si
procmail e mutt ainda funcionam bem
Gosto muito de projetos modernos baseados em texto. Obrigado por manterem o terminal vivo e relevante
Vi uma demonstração de alguém lendo e-mail no Emacs com mu4e; a parte em HTML era enviada diretamente por pipe para o Firefox, e algumas mensagens eram convertidas para PDF para leitura
https://www.youtube.com/watch?v=1uulLBKBMX8
O aerc é bastante peculiar por ter sido projetado como cliente, não como algo que armazena e-mails no computador. Por isso há impactos e limitações de desempenho
Dá para usar e-mail local também, mas, pelo que vi, parecia uma funcionalidade de segunda classe; porém vi isso há muito tempo, então hoje pode ser diferente
Com esse design, eu esperaria que IMAP funcionasse melhor, mas a conexão caía com frequência e eu precisava reiniciar para reconectar. A sobreposição de atalhos entre neovim e aerc também é incômoda
No geral, não fiquei satisfeito. Talvez eu possa revisar a configuração para ver o que deixei passar, mas por enquanto estou apostando mais no neomutt
mbsyncenotmuchpara melhorar a experiência geralwhilee, quando ele fica estranho, saio comqe o abro de novo em alguns segundosAinda assim, continua sendo meu cliente de e-mail favorito, mas com certeza poderia melhorar
https://lwn.net/Articles/837960/
himalaya parece promissor
https://github.com/soywod/himalaya
https://pimalaya.org/himalaya/cli/latest/index.html
Não encontrei em lugar nenhum uma explicação do que é “TUI”. Parece que dá para entender como interface de usuário em texto