Emacs-Meldung: gesendete E-Mails speichern

Emacs-Meldung: gesendete E-Mails speichern

Wie bringt man Emacs Message ( C-x m) dazu, ausgehende E-Mails zu speichern?

Gibt es hierfür eine Standardmethode?

Sie könnten C-x C-sdas tun, aber das ist ineffizient und man vergisst es leicht. Außerdem können Sie nicht hundertprozentig sicher sein, dass die E-Mail auch wirklich gesendet wurde. Möglicherweise haben Sie in letzter Minute noch Änderungen vorgenommen, die Sie später vergessen haben.

Könnte dies ( save-buffer) von einem „Nachricht senden“-Hook aufgerufen und automatisiert werden? (Wie text-mode-hook.) Wenn ja, welcher Hook? (Wie erhält man die Hooks eines Modus?)

BCCzu sich selbst: nicht sehr elegant?

FCC: scheint die beste Lösung zu sein, muss aber dennoch automatisiert werden, sowohl der Aufruf als auch die Generierung eines guten Dateinamens.

Antwort1

Ich habe es gerade zum Laufen gebracht. Geben Sie ein .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)

Antwort2

Sie können die Variable für alle Gruppen festlegen, gcc-selfdie TSie archivieren möchten.

Siehe die Dokumentation Hier. (oder (gnus) Group Parameters)

EDIT: gcc-selfist keine „klassische“ Variable, Sie müssen sie über festlegen gnus-parameter.

(setq gnus-parameters
      '((".*"
         (gcc-self . t))))

Antwort3

Ich verwende eine kompliziertere Lösung:

(defconst mein-sicherer-Dateiname-char-regex "[[:alnum:]-_!.@]"
  "Sichere Dateinamen.")

(defun my-clean-filename (Dateiname)
  (Karteconcat
   (Lambda (ch) (oder (wenn (String-Match My-Safe-Filename-Char-Regex (Char-to-String ch)) (Char-to-String ch)) "-"))
   Dateiname "") )

(defun meine-Nachricht-speichern ()
  "Nachricht in `gnus-article-save-directory' speichern nach
erfolgreiches Senden. Es ist möglich, dass E-Mail abgelehnt und ich verloren
es vollständig, diese Funktion speichert es für mich."
  (es sei denn (eq Hauptmodus 'Nachrichtenmodus)
    (Fehler „Versuch, my-message-save in einem Puffer aufzurufen, der sich nicht im Nachrichtenmodus befindet“)
  (Verzeichnis erstellen Gnus-Artikel-Verzeichnis speichern t)
  (let ( (buf (aktueller Puffer))
         (Feld an (mein sauberer Dateiname (oder (Nachrichtenabruffeld "Newsgroups") (Nachrichtenabruffeld "An"))))
         (Feld-Betreff (mein-sauberer-Dateiname (Nachrichtenabruf-Feld "Betreff")))
         Datei )
    (setq-Datei (concat gnus-article-save-directory "/" (format-time-string "%F_%T") "_" Feld-zu "_" Feld-Betreff))
    (mit temporärer Dateidatei
      (Einfügepuffer Puffer)
      )) )
(Hook hinzufügen 'Nachricht gesendet', Hook 'Meine Nachricht speichern)

Beachten Sie auch, dass ichNachricht-gesendet-HookanstattNachrichten-Sende-Hook.

verwandte Informationen