Frage

Ich möchte alle Anhänge auf eine E -Mail gleichzeitig speichern. Ich habe daher Gnus-Summary-Save-T-Default-Mime auf ".* /.*" festgelegt. Bei Verwendung von "x m" bekomme ich jedoch nicht nur alle Anhänge, sondern auch eine Datei namens "nnimap+my.name@googlemail.com/inbox.2393.1" (unter Bezug Die Unterschrift der E -Mail, die ich erhalten habe. Wie kann ich Dateien dieses "Typs" von "X M" ausschließen? Mit anderen Worten: Wie kann ich den richtigen Regexp für Gnus-Summary-Save-T-Default-Mime angeben, um zu verhindern, dass diese Datei auch gespeichert wird?

War es hilfreich?

Lösung

Dies defadvice Wird das tun, was Sie wollen, indem Sie alle Teile ausschließen, die keine Dateinamen haben (in diesem Fall, der für den Artikel selbst zutrifft):

(defadvice gnus-summary-save-parts-1 (around gnus-summary-save-parts-exclude-self activate)
  (let ((handle (ad-get-arg 2)))
    (unless (and (not (stringp (car handle)))
                 (not (mm-handle-filename handle)))
      ad-do-it)))

Ich benutze GNUS v5.13; Wenn Sie auch dieselbe oder eine ähnliche Version verwenden, lassen Sie mich wissen, ob diese geänderte Version von gnus-summary-save-parts-1 arbeitet für Sie; Sie werden einstellen wollen gnus-summary-save-parts-exclude-article zu t. Wenn es für Sie funktioniert, werde ich einen Patch für die GNUS -Projekte einreichen.

Hinweis, verwenden Sie entweder das obige defadvice ODER Verwenden Sie den folgenden Code, verwenden Sie jedoch nicht beide zusammen. Das Defadvice ist eine einfache schnelle Lösung, die Sie momentan verwenden können. Der folgende Code, den ich als Patch zum GNUS -Projekt einreiche, und ich habe dies nur hier aufgenommen, damit Sie erkennen können, ob es in Ihrem System funktioniert, wenn Sie auch GNUS v5.13 verwenden. Wenn sie diesen Patch akzeptieren und es zu einem Teil einer zukünftigen Veröffentlichung machen, brauchen Sie das nicht defadvice Oben; Stattdessen können Sie das einfach anpassen gnus-summary-save-parts-exclude-article Variable.

(require 'gnus)
(require 'gnus-sum)

(defcustom gnus-summary-save-parts-exclude-article nil
  "If non-nil don't save article along with attachments."
  :group 'gnus-article-mime
  :type 'boolean)

(defun gnus-summary-save-parts-1 (type dir handle reverse)
  (if (stringp (car handle))
      (mapcar (lambda (h) (gnus-summary-save-parts-1 type dir h reverse))
          (cdr handle))
    (when (if reverse
          (not (string-match type (mm-handle-media-type handle)))
        (string-match type (mm-handle-media-type handle)))
      (let* ((name (or
                    (mm-handle-filename handle)
                    (unless gnus-summary-save-parts-exclude-article
                      (format "%s.%d.%d" gnus-newsgroup-name
                              (cdr gnus-article-current)
                              gnus-summary-save-parts-counter))))
             (file (when name
                     (expand-file-name
                      (gnus-map-function
                       mm-file-name-rewrite-functions
                       (file-name-nondirectory
                        name))
                      dir))))
        (when file
          (incf gnus-summary-save-parts-counter)
          (unless (file-exists-p file)
            (mm-save-part-to-file handle file)))))))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top