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 .