unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: David Belohrad <david@belohrad.ch>
To: Eric Abrahamsen <eric@ericabrahamsen.net>, notmuch@notmuchmail.org
Subject: Re: [O] how to put into a journal info about the email sent
Date: Wed, 29 Oct 2014 14:30:46 +0100	[thread overview]
Message-ID: <uax4munt33t.fsf@beesknees.cern.ch> (raw)
In-Reply-To: <uaxd29bt43r.fsf@beesknees.cern.ch>

a small correction. THIS:

(kill-new (concat "[[notmuch:id:" (replace-regexp-in-string "[<>]" ""
msg-id) "][" (replace-regexp-in-string "[\]\\[]" "_" subject) "]]"))


is the correct way how to make the link and the subject into the kill
ring. The thing is, that subject must not contain [] (as e.g. [O]) so I
have replaced that by underscores. As well the message-id comes with <>
wrapping which has to be removed for the link to be working.

.d.




David Belohrad <david@belohrad.ch> writes:

> dear all,
>
> thanks for fruitful hints. Based on what you've done I have setup it as
> follows:
>
> 1) the capture template, which uses clipboard buffer to setup the
>    data. So my org-capture-templates contains this entry:
>    
>    ("@" "Email outgoing sync. USED INTERNALLY" entry (file+datetree (concat my-org-files "emails_sent.org"))
>    "* EMAIL %c :EMAIL:\n%?\nEntered on %T\n")
>
> 2) function which generates the notmuch link based on the message id:
>
>   (defun org-notmuch-track-outgoing-emails()
>          (save-restriction
>          (message-narrow-to-headers)
>             (let ((link (mail-fetch-field "Message-ID"))
>                   (subject (mail-fetch-field "Subject"))
>                   (to (mail-fetch-field "To"))
>                   (date (mail-fetch-field "Date"))
>                   (msg-id (mail-fetch-field "Message-ID"))
>                   ;; `mail-fetch-field'. Construct date-ts and date-ts-ia with
>                   ;;(date-ts (format-time-string (org-time-stamp-format t [t]) (date-to-time (mail-fetch-field "Date"))))
>                   )
>                   (if link
>                       ;; messageid exists, we can link it
>                       (kill-new (concat "[[notmuch:id:" msg-id "][" subject "]]")))
>             ;; use special template to fill in
>                   (org-capture nil "@")
>                     )
>                   )
>             )
>
> 3) hook to run the function when headers are created:
>
> (add-hook 'message-header-hook 'org-notmuch-track-outgoing-emails)
>
>
>
> The three what they do is that whenever I send an email, a new diary
> style entry is setup in the editting buffer, where the timestamp, email
> link and an EMAIL tag are already pre-filled. So unless I want to add
> another tags, sending email is by default a -two times- C-c C-c combo. 
>
> Bettern than nothing, but still far from being perfect due to two
> things:
>
> - 'standard' behaviour is, that the email sent becomes read-only so with
>   'q' keystroke I can bury the buffer with the email. However when I
>   have implemented this, I have noticed that when I 'confirm' the
>   template, I go back into the buffer 'sent mail to...', but this the
>   *THE BUFFER IS NOT READ ONLY* and 'q' will just generate a character,
>   and then I have to kill this buffer using C-x k with additional 'yes'
>   because the buffer was modified. Quite annoying and I don't know how
>   to resolve this
>
> - second thing is, that I'd like to avoid at all opening the capture
>   template and just dump it into the file without any modifications
>   ongoing. The only 'modification' which comes into my mind is a setup
>   of an additional tag describing the email being attached to some
>   project...
>
> Any help on those two is highly appreciated :)
>
> .d.
>
>
>
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> David Edmondson <dme@dme.org> writes:
>>
>>> On Fri, Oct 24 2014, Eric Abrahamsen wrote:
>>>> David Belohrad <david@belohrad.ch> writes:
>>>>
>>>>> Dear All,
>>>>>
>>>>> i'm using org. And I'm using notmuch (that's why I address both mailing
>>>>> lists). Now, writing an email in everyday bussiness requires a
>>>>> non-significant time of your workhours. So I'd like to have this event
>>>>> in my org agenda. So any time I send some email with a given subject,
>>>>> I'd like to 'automatically' entry the information about it into
>>>>> e.g. sentmails.org in form of a diary entry, with appropriate tag.
>>>>
>>>> I do something like this in Gnorb, which I'd recommend you use except
>>>> it's mostly Gnus specific.
>>>>
>>>> I do it in two parts, but you could do it in one. Basically I add a
>>>> function to the `message-header-hook' (which ensures that all the
>>>> message headers have been generated properly).
>>>
>>> Does `message-generate-headers-first' not do what you want for this
>>> specific part?
>>
>> Yeah, I think I looked at that previously. But this thing is going in a
>> hook anyway, might as well use the hook that *doesn't* require me to
>> call that function explicitly.
>>
>>>> Obviously the downside is that, without a "Gcc:" header, org can't
>>>> actually make a real link to the message. It doesn't know where it's
>>>> going to be. However if you know that all your sent messages can be
>>>> reached with a link that looks like "notmuch:id#Message-id", then you
>>>> can make that yourself in your org capture template with something like
>>>
>>> As you suggest, know the message-id should be good enough to generate a
>>> notmuch link, though you may have to wait for the notmuch index to be
>>> updated for the link to be valid.
>>
>> Yup, I've got the same issue with nnimap -- you have to wait for the
>> next sync to get access to the message. So far it hasn't been a problem,
>> though.
>>
>> _______________________________________________
>> notmuch mailing list
>> notmuch@notmuchmail.org
>> http://notmuchmail.org/mailman/listinfo/notmuch

  reply	other threads:[~2014-10-29 13:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24 14:36 how to put into a journal info about the email sent David Belohrad
     [not found] ` <87ppdhh3rh.fsf@ericabrahamsen.net>
2014-10-24 15:46   ` [O] " David Edmondson
2014-10-24 17:02     ` Eric Abrahamsen
2014-10-29 13:09       ` David Belohrad
2014-10-29 13:30         ` David Belohrad [this message]
2014-10-29 13:41         ` David Edmondson
2014-10-29 13:49           ` David Belohrad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=uax4munt33t.fsf@beesknees.cern.ch \
    --to=david@belohrad.ch \
    --cc=eric@ericabrahamsen.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).