Usando o emacs com thunderbird para compor e responder ao correio

13

Há muito escrito para usar o emacs como um programa de email primário completo. Estou procurando algo com uma configuração simples para que eu possa manter o Thunderbird como meu principal programa de gerenciamento de email, mas componha e envie emails no emacs. Como o python pode enviar e-mails a partir da linha de comando, suspeito que isso não seria muito difícil para o emacs.

Próxima etapa: se possível, eu ainda gostaria de sincronizar com um servidor imap para obter os últimos ~ 100 e-mails para que eu possa compor respostas no emacs. Isso não exigiria gerenciamento de pastas, mas uma certa quantidade de sincronização, embora eu não precise manter as mensagens disponíveis localmente no emacs após a sessão. Ainda exigiria offlineimap?

Alguma sugestão para uma configuração adequada?

hatmatrix
fonte
1
Dê uma olhada no EmacsWiki: Category Mail . Ele oferece várias opções, algumas das quais você pode achar úteis.
Dan
1
Sim, existem muitas opções para configurar e testar. Gostaria de receber sugestões de usuários experientes que possam ter uma idéia sobre quais alternativas podem melhor atender a essas necessidades.
amigos estão dizendo sobre hatmatrix
2
O mu4e parece apropriado para você.
shackra
1
Não há nada simples no Emacs. Esteja preparado para gastar muito tempo personalizando-o ao seu gosto e aprendendo alguns ou muitos elispao longo do caminho. No entanto, é muito gratificante uma vez que você consegue fazer exatamente o que deseja. Eu uso o Wanderlust e ainda estou alterando seu comportamento de tempos em tempos - já faz um ano e ajustar / personalizar o Emacs tem sido uma obsessão diária minha.
Lawlist
Suspeito que esta questão seja atualmente muito ampla e precise ser mais discreta, mas preferiria que a comunidade decidisse o assunto.
Dan

Respostas:

9

Você pode usar o complemento External Editor no Thunderbird e, em seguida, definir seu editor externo como emacs. Se você for a este site , poderá fazer o download do arquivo exteditor_v100.xpi. Então, de dentro do Thunderbird, no gerenciador de complementos, você pode "instalar o complemento a partir do arquivo". Depois de reiniciar, você pode encontrar as opções do External Editor no gerenciador de complementos e, a partir daí, pode colocar o caminho para o seu emacs como seu editor externo. Isso deve atender às suas necessidades.

Com tudo isso dito:

Estou procurando algo com uma configuração simples para que eu possa manter o Thunderbird como meu principal programa de gerenciamento de email, mas componha e envie emails no emacs.

Isso é um problema e não tenho certeza se você realmente deseja isso. Qualquer configuração simples que edite correio dentro do emacs não usará o Thunderbird como seu gerenciamento de email principal.

Eu recomendo o uso do mu4e e offlineimap. Comecei a usá-lo antes de saber algo sobre o emacs, e era tão simples quanto um cliente de email pode ser.

Seth Rothschild
fonte
Esta é potencialmente uma resposta melhor do que você está sugerindo. Alguma chance de editá-lo para incluir informações sobre como configurar o Editor Externo no Thunderbird e, mais importante, o que você precisa fazer para configurar o lado do Emacs?
Dan
Infelizmente, eu não estou em um lugar onde eu possa brincar com ele e testá-lo no momento. (Eu também não o tenho configurado.) Este é o site de extensão, mas tenho medo de dizer muito mais sem usá-lo. Parece que a configuração também pode depender do sistema operacional.
Seth Rothschild
Sim, a extensão do editor externo está morta, acho - última atualização de 2008? Não disponível na lista de extensões. Eu costumava usá-lo até que não era mais suportado pelo Thunderbird.
hatmatrix
@ scriptpledlambda Parece ainda funcionar (eu apenas tentei), então pode ser a melhor opção para o que você está procurando.
Seth Rothschild
@ Seth, obrigado - funcionou (!?), mas não transfere o conteúdo do buffer do emacs para a mensagem, conforme descrito. Atualmente, tenho que copiar e colar de volta para a janela de mensagem do Thunderbird para não resolver a situação, mas espero que a correção seja algo simples. No entanto, é o mais próximo do que eu queria para esta pergunta, então vou marcá-la como respondida.
hatmatrix
4

Isso deve, pelo menos, começar:

mas componha e envie email no emacs. Como o python pode enviar e-mails a partir da linha de comando, suspeito que isso não seria muito difícil para o emacs.

É o que tenho no meu arquivo init para compor e-mails e enviá-los usando o gmail, o gnutsl deve estar instalado no seu sistema operacional:

;; send mail
(setq
 send-mail-function 'smtpmail-send-it
 message-send-mail-function 'smtpmail-send-it
 user-mail-address "[email protected]"
 smtpmail-starttls-credentials '(("smtp.gmail.com" "587" nil nil))
 smtpmail-auth-credentials  (expand-file-name "~/.authinfo")
 smtpmail-default-smtp-server "smtp.gmail.com"
 smtpmail-smtp-server "smtp.gmail.com"
 smtpmail-smtp-service 587
 smtpmail-debug-info t
 starttls-extra-arguments nil
 starttls-gnutls-program "/usr/bin/gnutls-cli"
 starttls-extra-arguments nil
 starttls-use-gnutls t
)

Próxima etapa: se possível, eu ainda gostaria de sincronizar com um servidor imap para obter os últimos ~ 100 e-mails para que eu possa compor respostas no emacs. Isso não exigiria gerenciamento de pastas, mas uma certa quantidade de sincronização, embora eu não precise manter as mensagens disponíveis localmente para o emacs após a sessão

Você deve configurar sua caixa de correio e ativar o IMAP . Você poderá gerenciar seus e-mails em vários dispositivos. Esta é a minha configuração, para ler e-mails do gmail usando o emacs & gnus:

;read mail w/ gnus
(setq gnus-select-method '(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
(setq mm-discouraged-alternatives '("text/html" "text/richtext"))

Ainda exigiria offlineimap?

Eu nunca usei o offlineimap , mas você deve, se quiser gerenciar seus e-mails quando estiver off-line, assim que estiver on-line, a sincronização ocorrerá entre o computador e o servidor

O arquivo ~ / .authinfo será usado para armazenar suas credenciais e terá pelo menos duas linhas, a primeira linha para o envio de e-mails:

machine smtp.gmail.com port 587 login [email protected] password NotsoiNcreDiblePassword

O segundo para recuperar e-mails:

machine imap.gmail.com secret port 993 login [email protected] password NotsoiNcreDiblePassword

Nsukami _
fonte
2

Próxima etapa: se possível, eu ainda gostaria de sincronizar com um servidor imap para obter os últimos ~ 100 e-mails para que eu possa compor respostas no emacs. Isso não exigiria gerenciamento de pastas, mas uma certa quantidade de sincronização, embora eu não precise manter as mensagens disponíveis localmente no emacs após a sessão. Ainda exigiria offlineimap?

Se você deseja sincronizar com um servidor IMAP, recomendo trabalhar com um maildir local e offlineimap para sincronizá-lo com um servidor remoto. Dependendo da estrutura da pasta, você pode limitar a sincronização para um único diretório e limpá-la quando terminar. (O Offlineimap não excluirá os e-mails que você excluiu localmente se você também excluir o cache.)

Se o seu maildir já é gerenciado pelo Thunderbird, você realmente não precisa do offineimap, pois pode simplesmente abrir e-mails existentes como arquivos (essa é a beleza do maildir em comparação com um formato mais denso).

Para escrever e-mails, você realmente só precisa criar arquivos de texto com os cabeçalhos corretos. message-modefaz isso por você. (A maioria dos clientes de email do Emacs simplesmente reutiliza em message-modevez de inventar sua própria interface para compor emails.) Depois de ter um arquivo de email válido, você pode usar um comando separado (como msmtp) para enviá-lo. Você pode configurar message-modepara usar o msmtp assim:

(setq mail-specify-envelope-from t)
(setq mail-envelope-from 'header)
(setq message-sendmail-envelope-from 'header)
(setq message-send-mail-function 'message-send-mail-with-sendmail)

;;use msmtp instead of sendmail
(setq sendmail-program "/usr/bin/msmtp")

Sua configuração do msmtp é independente do Emacs e você pode usá-lo fora do Emacs.

Agora você está apenas a um pequeno passo de também ler seu e-mail no Emacs. Para esta tarefa, eu recomendo usar mu4e. Obviamente, isso é totalmente opcional, pois você pode ler sua mãe sincronizada com qualquer outro cliente de email. O Thunderbird, por exemplo, pode usar uma donzela local como back-end de armazenamento.

rekado
fonte