Como avisar antes de enviar um email se o Assunto: estiver vazio

8

Se eu clicar C-c C-cem message-mode(eu uso notmuch) para enviar um e-mail que escrevi, quero ser avisado se o cabeçalho Subject: estiver vazio. Por exemplo, "Enviar mesmo sem assunto? (Sim ou não)"

Ao redigir um novo e-mail, preenchei o Assunto depois de escrever o corpo, porque só então eu sei exatamente qual Assunto: corresponde melhor ao conteúdo deste e-mail. Infelizmente, muitas vezes esqueço de definir o Assunto e, no modo de mensagem, o email é enviado sem o Assunto :.

Pesquisei on-line, mas estou surpreso que esse não pareça ser um tópico recorrente e muito menos uma FAQ já respondida.

Gregor
fonte

Respostas:

7

Uma maneira é conectar-se a message-send-hook:

message-send-hook is a variable defined in ‘message.el’.
Its value is nil

  This variable may be risky if used as a file-local variable.

Documentation:
Hook run before sending messages.
This hook is run quite early when sending.

Por exemplo:

(defun my-confirm-empty-subject ()
  "Allow user to quit when current message subject is empty."
  (or (message-field-value "Subject")
      (yes-or-no-p "Really send without Subject? ")
      (keyboard-quit)))

(add-hook 'message-send-hook #'my-confirm-empty-subject)
Manjericão
fonte
Ótimo, eu testei isso e funciona. Obrigado.
Gregor
@ Gregreg Atualizado para ligar em message-field-valuevez de message-fetch-field, o que geralmente funcionava, mas poderia levar a problemas.
25918 Basil Basil