Re: [notmuch] [PATCH] Change From and Bcc when creating reply draft buffer

Subject: Re: [notmuch] [PATCH] Change From and Bcc when creating reply draft buffer

Date: Thu, 11 Mar 2010 17:22:41 +0100

To: James Vasile, notmuch@notmuchmail.org

Cc:

From: Michal Sojka


On Thu, 11 Mar 2010, James Vasile wrote:
> On Thu, 11 Mar 2010 14:00:08 +0100, Michal Sojka <sojkam1@fel.cvut.cz> wrote:
> > Hi James,
> > 
> > On Tue, 09 Mar 2010, James Vasile wrote:
> > > When notmuch creates a reply buffer, it guesses the From and Bcc
> > > addresses.  The client is in a better position to guess these, and this
> > > patch adjusts notmuch-reply accordingly.
> > > 
> > > diff --git a/notmuch.el b/notmuch.el
> > > index ab56f48..07f957e 100644
> > > --- a/notmuch.el
> > > +++ b/notmuch.el
> > > @@ -436,10 +436,20 @@ buffer."
> > >    (message "Done"))
> > >  
> > >  (defun notmuch-reply (query-string)
> > > +  "Prepare a reply draft buffer.
> > > +
> > > +Have notmuch create a reply buffer, then adjust the from and bcc
> > > +headers to match our current user-full-name and
> > > +user-mail-address."
> > >    (switch-to-buffer (generate-new-buffer "notmuch-draft"))
> > >    (call-process notmuch-command nil t nil "reply" query-string)
> > >    (message-insert-signature)
> > >    (goto-char (point-min))
> > > +  (kill-line)
> > > +  (insert (format "From: %s <%s>" user-full-name user-mail-address))
> > 
> > Notmuch reply contains From: address which is based on the addresses in
> > .notmuch-config and the replied message. When you use multiple addresses
> > (e.g. home and work address), notmuch puts there the one used in the
> > replied message. It seems that your patch would break this feature.
> > 
> > -Michal
> 
> Yes, it does break that feature, and intentionally so.  The MUA should
> select the From: address.  I have profile selection code that sets my
> user-full-name and user-mail-address based on some context.  When I
> reply to somebody, the correct From: address is not who they think I am
> but rather who *I* think I am.
> 
> Here's my use case: I have a job in the free software world.  There's an
> email address attached to that.  I also serve on the board of a free
> software project.  There's another email for that.  People email me
> about the project using my work email, but I always reply using the
> project email, and my MUA knows that.  Notmuch doesn't.
> 
> Also: my girlfriend's family sometimes emails me at work.  I don't want
> personal email at my work address, so I always reply using a personal
> address.
> 
> Also: I have an old email address that I've deprecated, but old friends
> still use it.  I always reply with my newer address and they eventually
> start using the new one.
> 
> My profile code is usable but not complete.  It looks at folder contents
> to pick the correct From: address automatically (you can override the
> choice, of course), which is good when you have 400+ folders.  If
> anybody wants it before it's done, I can put it in a public branch.

Hi,

thanks for clarification. It all sounds reasonable. The only problem I
can see now is that if I create a new account on my machine and run
emacs there, then the value of user-mail-address is <login>@<hostname>
which doesn't refer to existing mailbox. I think that the header should
only be rewritten if these variables are known to have valid values. Do
you know how to do this?

-Michal

Thread: