diff -r 7f24172c2c4b -r 7558a3f8a3d9 .emacs-my --- a/.emacs-my Fri Jul 06 22:11:21 2012 +0300 +++ b/.emacs-my Sun Jul 08 21:39:10 2012 +0300 @@ -1270,6 +1270,23 @@ ;; Kill message buffer after mail send. You always can use C-c C-s to preserve it. (setq message-kill-buffer-on-exit t) +(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 (message-fetch-field "To")) + (field-subject (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) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (message "smtp, smtpmail")