2

I have been using org-mode for a while and started using mu and mu4e recently.

The following capture template stores a link from a "normal" file but not from a mu4e message:

(setq org-capture-templates
  '(("f" "Todo (linked to file)" entry (file+headline "~/org/gtd.org" "project")
 "* TODO %?\n%a"))
  )

In a buffer with a mu4e message, I do M-x org-store-link and get this message in the minibuffer:

No method for storing a link from this buffer`.

The author of this thread reported that

The link (%a) gets initialized,

and the only other thread I found is two years old and mentions that the problem went away with version 0.9.18 of mu.

I am running Org mode version 9.1.9 and mu version 1.0.

How can I get the link to work?

3
  • not sure about the template but M-x org-store-link from the body of the email message does store a link that can be copied into org with 'M-x org-insert-link` and opened with follow-link or C-c C-o. I'll look further. Dec 7, 2018 at 19:08
  • and this is for a hyperlink and not for a capture ..by the way. Dec 7, 2018 at 19:16
  • 1
    I guess you need (require 'org-mu4e) somewhere in your init
    – andrej
    Dec 7, 2018 at 20:52

1 Answer 1

4

This is an example that works for me and that I have somewhere from the mu4e-pages

(require 'org-mu4e)

(setq org-capture-templates
   '(("T" "todo with link" entry (file "~/org/inbox.org")
      "* TODO %i%? \n:PROPERTIES: \n:CREATED: %U \n:END: \n %a\n")
     ("p" "Process" entry (file+headline "~/org/gtd.org" "Tasks")
      "* TODO [#A] Process mail from %:fromname on %:subject\nSCHEDULED:%t\nDEADLINE: %(org-insert-time-stamp (org-read-date nil t \"+2d\"))\n:PROPERTIES:\n:CREATED: %U\n:END:\n %a" :immediate-finish t :prepend t)))

For an explanation see https://orgmode.org/manual/Adding-hyperlink-types.html and note that in org-mu4e among other things different kinds of hyperlink types for mu4e are defined.

4
  • 3
    (require 'org-mu4e) is all I needed to make the capture template work. Thanks! Dec 10, 2018 at 9:41
  • I am very interested in this portion of this template %(org-insert-time-stamp (org-read-date nil t \"+2d\")) Is there any way to offset the deadline by two days but relative to the date when the email was received (rather than the current date/time)? Thanks in advance
    – Ajned
    Jul 17, 2021 at 6:36
  • You can use one org-read to read the date from your mail an another to increment the day %(org-insert-time-stamp (org-read-date nil t \"++2d\" nil (org-read-date nil t \"%:date\")))
    – andrej
    Jul 19, 2021 at 10:03
  • 1
    @andrej Thanks, and thank you for answering my own related question :-)
    – Ajned
    Jul 19, 2021 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.