1268 (add-hook 'message-setup-hook 'my-message-setup-routine) |
1268 (add-hook 'message-setup-hook 'my-message-setup-routine) |
1269 |
1269 |
1270 ;; Kill message buffer after mail send. You always can use C-c C-s to preserve it. |
1270 ;; Kill message buffer after mail send. You always can use C-c C-s to preserve it. |
1271 (setq message-kill-buffer-on-exit t) |
1271 (setq message-kill-buffer-on-exit t) |
1272 |
1272 |
|
1273 (defconst my-safe-filename-char-regex "[[:alnum:]-_!.@]" |
|
1274 "Safe file names.") |
|
1275 |
|
1276 (defun my-clean-filename (filename) |
|
1277 (mapconcat |
|
1278 (lambda (ch) (or (when (string-match my-safe-filename-char-regex (char-to-string ch)) (char-to-string ch)) "-")) |
|
1279 filename "") ) |
|
1280 |
1273 (defun my-message-save () |
1281 (defun my-message-save () |
1274 "Store message in `gnus-article-save-directory' after |
1282 "Store message in `gnus-article-save-directory' after |
1275 successful sending. It is possible that mail rejected and I lost |
1283 successful sending. It is possible that mail rejected and I lost |
1276 it completely, this func save it for me." |
1284 it completely, this func save it for me." |
1277 (unless (eq major-mode 'message-mode) |
1285 (unless (eq major-mode 'message-mode) |
1278 (error "Attempt to call my-message-save in non message-mode buffer")) |
1286 (error "Attempt to call my-message-save in non message-mode buffer")) |
1279 (make-directory gnus-article-save-directory t) |
1287 (make-directory gnus-article-save-directory t) |
1280 (let ( (buf (current-buffer)) |
1288 (let ( (buf (current-buffer)) |
1281 (field-to (or (message-fetch-field "Newsgroups") (message-fetch-field "To"))) |
1289 (field-to (my-clean-filename (or (message-fetch-field "Newsgroups") (message-fetch-field "To")))) |
1282 (field-subject (message-fetch-field "Subject")) |
1290 (field-subject (my-clean-filename (message-fetch-field "Subject"))) |
1283 file ) |
1291 file ) |
1284 (setq file (concat gnus-article-save-directory "/" (format-time-string "%F_%T") "_" field-to "_" field-subject)) |
1292 (setq file (concat gnus-article-save-directory "/" (format-time-string "%F_%T") "_" field-to "_" field-subject)) |
1285 (with-temp-file file |
1293 (with-temp-file file |
1286 (insert-buffer buf) |
1294 (insert-buffer buf) |
1287 )) ) |
1295 )) ) |