Acabei de fazer isso funcionar. Coloque em .emacs
:
(defun save-sent-mail ()
(write-file (format-time-string "~/Mail/sent/%Y-%m-%d_%T") nil) )
(add-hook 'message-send-hook 'save-sent-mail)
Como você faz a Mensagem do Emacs ( C-x m
) salvar emails de saída?
Existe uma maneira padrão de fazer isso?
Você poderia C-x C-s
, mas isso é ineficiente e fácil de esquecer, além disso, você não pode ser 100%, é o e-mail enviado: você pode ter feito algumas alterações de última hora que você esqueceu mais tarde.
Isso ( save-buffer
) pode ser invocado de um gancho "enviar mensagem" e ser automatizado? (Como text-mode-hook
.) Se sim, qual gancho? (Como você consegue os ganchos de um modo?)
BCC
para si mesmo: não é muito elegante?
FCC
: parece ser a melhor solução, ainda assim, deve ser automatizada, invocação e um bom nome de arquivo gerado.
Acabei de fazer isso funcionar. Coloque em .emacs
:
(defun save-sent-mail ()
(write-file (format-time-string "~/Mail/sent/%Y-%m-%d_%T") nil) )
(add-hook 'message-send-hook 'save-sent-mail)
Você pode definir a variável gcc-self
a T
para todos os grupos que deseja
arquivo.
Veja sua documentação
aqui .
(ou (gnus) Group Parameters
)
EDITAR:
gcc-self
não é uma variável «clássica», você pode configurá-la via
gnus-parameter
.
(setq gnus-parameters
'((".*"
(gcc-self . t))))
Eu uso uma solução mais complicada:
(defconst my-safe-filename-char-regex "[[:alnum:]-_!.@]" "Safe file names.") (defun my-clean-filename (filename) (mapconcat (lambda (ch) (or (when (string-match my-safe-filename-char-regex (char-to-string ch)) (char-to-string ch)) "-")) filename "") ) (defun my-message-save () "Store message in 'gnus-article-save-directory' after successful sending. It is possible that mail rejected and I lost it completely, this func save it for me." (unless (eq major-mode 'message-mode) (error "Attempt to call my-message-save in non message-mode buffer")) (make-directory gnus-article-save-directory t) (let ( (buf (current-buffer)) (field-to (my-clean-filename (or (message-fetch-field "Newsgroups") (message-fetch-field "To")))) (field-subject (my-clean-filename (message-fetch-field "Subject"))) file ) (setq file (concat gnus-article-save-directory "/" (format-time-string "%F_%T") "_" field-to "_" field-subject)) (with-temp-file file (insert-buffer buf) )) ) (add-hook 'message-sent-hook 'my-message-save)
Note também que eu uso message-sent-hook ao invés de message-send-hook .