đính kèm nhiều tập tin từ cùng một thư mục vào một thông điệp email?


8

H: làm cách nào tôi có thể đính kèm nhiều tệp vào một email gửi đi với số lượng ít nhất?

Tôi đang sử dụng mu4e(sử dụng lại message-mode, nếu điều đó có ích) để làm việc với email. Tôi thường cần gửi email với nhiều tệp đính kèm. mu4esử dụng mml-attach-fileđể xử lý tệp đính kèm.

Càng xa càng tốt. Tuy nhiên: đó là một nhiệm vụ khó chịu để sử dụng nhiều tệp đính kèm. mml-attach-filelời nhắc cho mỗi tệp một lần nữa, việc này sẽ tốn thời gian khi tệp được chôn sâu trong một cây con.

Hầu như luôn luôn là như vậy, khi tôi cần đính kèm nhiều tệp, tất cả chúng đều nằm trong cùng một thư mục. Trong tình huống này, làm cách nào tôi có thể thuyết phục mml-attach-fileđể phát hiện tệp đính kèm trong bộ đệm thư hiện có và nếu tìm thấy tệp đính kèm, hãy sử dụng thư mục của tệp đính kèm đó làm mặc định cho tệp tiếp theo tôi cố gắng đính kèm?

NB: Nếu một người đào mã nguồn, hãy mml-attach-filedựa vào mml-minibuffer-read-file, lần lượt sử dụng mml-default-directoryhoặc default-directory.

PS: Tôi biết về cách đính kèm nhiều tệp vàomessage-mode , nhưng không có câu trả lời nào ở đó.


(1) Bạn có thích ý tưởng bật mở một dired-modebộ đệm từ thông báo email recursive-edit, sau đó đánh dấu các tệp vào dired-modevà thoát recursive-edittrong khi ném kết quả dired-get-marked-files, sau đó được sử dụng mapcarđể đính kèm từng tệp trong một cú trượt? (2) Hoặc, bạn có thích ý tưởng bắt đầu dired-mode, đánh dấu các tệp của mình và sau đó nhấn nút tạo email để tạo thư và đính kèm tất cả các tệp được đánh dấu bằng cách sử dụng dired-get-marked-filesmapcarđể chạy xuống danh sách và đính kèm tất cả các tệp trong một cú trượt ?
luật

@lawlist: Tôi đã có phiên bản được chuyển hướng từ hướng dẫn mu4e , nhưng tôi đang tìm cách để làm điều này mà không cần thông qua.
Dân

Tôi hơi ngạc nhiên khi thấy "không có câu trả lời" như là một đối số để hỏi một câu hỏi trùng lặp. Tuy nhiên vì câu hỏi của bạn thu hút được câu trả lời hợp lệ, tôi đoán tôi rất vui.
YoungFrog

Câu trả lời:


9

Tôi chỉ có thể đề xuất một giải pháp cho gnusdiredít nhất là dễ dàng hơn như danh sách luật đề xuất. Mở thư mục trong diredvới C-x 4 dvà gõ M-x turn-on-gnus-dired-mode. Sau đó đánh dấu các tập tin cần thiết và gõ C-c RET C-a. Đó là nó và các tệp có thể được đính kèm vào bộ đệm thư đã được mở hoặc bộ đệm thư mới (Tôi không chắc liệu nó có hoạt động cho các MUA khác không)!


IIUC OP không muốn sử dụng dired, nhưng nếu bạn trả lời câu hỏi của riêng tôi (tại emacs.stackexchange.com/questions/14514/ trộm ) Tôi rất vui lòng chấp nhận nó ở đó.
YoungFrog

@YoungFrog: Anh ấy nên làm quen với việc chuyển hướng càng sớm càng tốt ;-) và cảm ơn vì gợi ý, đã trả lời câu hỏi của bạn.
Dieter.Wilmus

@ Dieter.Wilmus: Tôi đang sử dụng dired, nhưng cũng muốn có chức năng cụ thể mà tôi đã đề cập trong câu hỏi. Tôi sẽ để câu hỏi mở thêm một chút nữa để xem có ai có ý tưởng gì về nó không.
Dan

3

Tôi thích sử dụng helm-find-files cho việc này. Bạn điều hướng đến vị trí của các tệp, đánh dấu các tệp bạn muốn bằng C-spc và đính kèm chúng bằng Cc Ca (hoặc nhấn tab và tìm tệp đính kèm vào hành động email).

Tương đương ivy của điều này là tập tin tư vấn tìm. Đầu tiên, thêm hành động này vào nó:

(ivy-add-actions
 'counsel-find-file
 '(("a" (lambda (x)
      (unless (memq major-mode '(mu4e-compose-mode message-mode))
        (compose-mail)) 
      (mml-attach-file x)) "Attach to email")))

Trong trường hợp này, bạn điều hướng đến các tệp và nhập CMo sau đó a và tiếp tục đến tệp tiếp theo. Tôi không thích điều này nhiều như đánh dấu tất cả chúng cùng một lúc, nhưng tôi không thường đính kèm nhiều tệp.



0

Bài cũ nhưng tôi đã ở đây có cùng mong muốn cơ bản và cuộn đoạn trích của riêng tôi để giải quyết nó. Đối với những người khác đến đây đây có thể là một cái gì đó phù hợp.

(defun compose-attach-marked-files ()
  "Compose mail and attach all the marked files from a dired buffer."
  (interactive)
  (let ((files (dired-get-marked-files)))
    (compose-mail nil nil nil t)
    (dolist (file files)
          (if (file-regular-p file)
              (mml-attach-file file
                               (mm-default-file-encoding file)
                               nil "attachment")
            (message "skipping non-regular file %s" file)))))

Mã này có nghĩa là đính kèm tất cả các tệp "bình thường" được đánh dấu vào bộ đệm thư mới nếu không tồn tại hoặc thêm tệp đính kèm vào bộ đệm thư hiện có. Hoạt động hoàn hảo ở đây.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.