同じディレクトリから複数のファイルを電子メールメッセージに添付しますか?


8

Q:最小限の手間で複数のファイルを送信メールに添付するにはどうすればよいですか?

私はmu4e(それmessage-modeが役立つ場合はを再利用します)を使用して電子メールを処理しています。多くの場合、複数の添付ファイルを含むメールを送信する必要があります。 添付ファイルの処理にmu4e使用mml-attach-fileします。

ここまでは順調ですね。ただし、複数の添付ファイルを使用するのは不快な作業です。 mml-attach-fileファイルごとに新しいプロンプトが表示されます。これは、ファイルがサブツリーの奥深くに埋まっている場合に時間がかかります。

ほとんどの場合、複数のファイルを添付する必要がある場合、それらはすべて同じディレクトリにあります。このような状況で、どのように私は納得できmml-attach-file、それは私が添付しようとすると、次のファイルのデフォルトとして添付ファイルのディレクトリことを1、使用することを発見した場合、既存のメッセージバッファに添付ファイルを検出すると?

注意:ソースコードを掘り下げる場合は、にmml-attach-file依存しmml-minibuffer-read-fileます。は、mml-default-directoryまたはを使用しますdefault-directory

PS:で複数のファイルを添付する方法message-modeは知っていますが、答えはありません。


(1)でdired-mode電子メールメッセージからバッファをポップして開きrecursive-edit、ファイルをマークしdired-modeて終了recursive-editし、の結果をスローしますdired-get-marked-files。これは、a mapcarが各ファイルを一度に添付するために使用しますか? (2)または、で開始しdired-mode、ファイルにマークを付けてから、メッセージを作成し、とを使用dired-get-marked-filesしてマークされたすべてのファイルを添付するメール生成ボタンを押してmapcar、リストを実行し、すべてのファイルを一度に添付するというアイデアが好きですか??
弁護士、2015

@lawlist:私はmu4eマニュアルからdiredバージョンを取得しましたが、dired を経由せずにこれを行う方法を探しています。
ダン

「答えがありません」という質問を、重複した質問をする論拠として見て、私は少し驚いています。しかし、あなたの質問は有効な回答を集めたので、私は幸せだと思います。
YoungFrog 2015

回答:


9

私は唯一のためのソリューションを提案することができますgnusし、diredのような少なくとも簡単ですlawlistが示唆されました。ディレクトリを開きdiredC-x 4 dし、タイプM-x turn-on-gnus-dired-mode。次に、必要なファイルをマークして、と入力しC-c RET C-aます。それだけです。ファイルは、すでに開かれているメッセージバッファまたは新しいメッセージバッファに添付できます(これが他のMUAでも機能するかどうかはわかりません)。


OPは使用したくないIIUC diredですが、私の独自の質問(emacs.stackexchange.com/questions/14514/…)に回答していただければ、喜んで受け入れます。
YoungFrog 2015

@YoungFrog:彼はできるだけ早く死ぬのに慣れるべきです;-)ヒントをありがとう、あなたの質問に答えました。
Dieter.Wilhelm 2015

@ Dieter.Wilhelm:私を使用diredしていますが、質問で述べた特定の機能も必要です。質問をもう少し開いたままにして、誰かがそれについてアイデアを持っているかどうかを確認します。
ダン

3

これにはhelm-find-filesを使用するのが好きです。ファイルがある場所に移動し、C-spcを使用して必要なファイルにマークを付け、それらをCc Caで添付します(またはタブを押して添付ファイルを電子メールに添付するアクションを見つけます)。

これに相当するivyは、counsel-find-fileです。まず、このアクションをそれに追加します。

(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")))

この場合、ファイルに移動し、CMoを入力してからaと入力して、次のファイルに進みます。一度にすべてをヘルムでマークするほどは好きではありませんが、多くのファイルを添付することはあまりありません。


2

GUIファイルブラウザーを開き、ファイルをemacsドラフトウィンドウ/バッファーにドラッグします


0

古い投稿ですが、同じ基本的な願望を持ってここに到着し、それを解決するために自分のスニペットを転がしました。ここに来る他の人にとって、これは適切なものかもしれません。

(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)))))

このコードは、マークされたすべてのdired「通常」ファイルが存在しない場合は新しいメッセージバッファーに添付するか、既存のメッセージバッファーに添付ファイルを追加することを意味します。ここで完璧に動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.