Gnus development mailing list
 help / color / mirror / Atom feed
* Using gnus with gmail: almost there
@ 2014-07-29 13:09 Carlos
  2014-07-31  5:56 ` Tassilo Horn
  0 siblings, 1 reply; 12+ messages in thread
From: Carlos @ 2014-07-29 13:09 UTC (permalink / raw)
  To: ding

Hi all, it's my first day with gnus and I'm pretty happy with the level of 
integration I was able to achieve with gmail imap. Nevertheless, there are a 
few quirks remaining and any help from the experienced users here would be 
very much appreciated. Let's see:

1) I would like to include my sent emails in the threads where they belong, 
like in the "conversation" view gmail offers. There is a suggestion somewhere 
in the net to create a virtual group merging the inbox and the sent mail 
groups, but this will only work for threads in the inbox. Another option is to 
add a copy of any sent mail to the current group, i.e. something like:

(setq gnus-message-archive-group (lambda (g) (concat "nnimap+gmail:" g)))

But this has some problems: 1.i) I don't know how to do this *only* for the 
gmail server. 1.ii) Obviously it doesn't work for emails sent from the 
webmail.

Nevertheless, being able to solve 1.i alone would be very good news for me.

2) I would like to postpone a message directly to a remote group (ideally, the 
gmail drafts folder). Currently I'm able to locally postpone a message and 
then move it to the remote group. A way to automate this is what I can't come 
with (or, better, to directly store the draft in the remote group, which I'm 
afraid is not possible).

Well, I think that's all for the time being. Thank you in advance.

Cheers
--
Carlos




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using gnus with gmail: almost there
  2014-07-29 13:09 Using gnus with gmail: almost there Carlos
@ 2014-07-31  5:56 ` Tassilo Horn
  2014-07-31  7:19   ` gcc to remote groups (was: Using gnus with gmail: almost there) Alberto Luaces
  2014-07-31 19:18   ` Using gnus with gmail: almost there Carlos Pita
  0 siblings, 2 replies; 12+ messages in thread
From: Tassilo Horn @ 2014-07-31  5:56 UTC (permalink / raw)
  To: Carlos; +Cc: ding

Carlos <carlosjosepita@gmail.com> writes:

Hi Carlos,

> 1) I would like to include my sent emails in the threads where they
> belong, like in the "conversation" view gmail offers.

I do the same.

> There is a suggestion somewhere in the net to create a virtual group
> merging the inbox and the sent mail groups, but this will only work
> for threads in the inbox. Another option is to add a copy of any sent
> mail to the current group, i.e. something like:
>
> (setq gnus-message-archive-group (lambda (g) (concat "nnimap+gmail:" g)))
>
> But this has some problems: 1.i) I don't know how to do this *only* for the 
> gmail server. 1.ii) Obviously it doesn't work for emails sent from the 
> webmail.
>
> Nevertheless, being able to solve 1.i alone would be very good news for me.

Have a look at the `gcc-self' group parameter.

,----[ (info "(gnus)Group Parameters") ]
| ‘gcc-self’
|      If ‘(gcc-self . t)’ is present in the group parameter list, newly
|      composed messages will be ‘Gcc’’d to the current group.  If
|      ‘(gcc-self . none)’ is present, no ‘Gcc:’ header will be generated,
|      if ‘(gcc-self . "string")’ is present, this string will be inserted
|      literally as a ‘gcc’ header.  This parameter takes precedence over
|      any default ‘Gcc’ rules as described later (*note Archived
|      Messages::), with the exception for messages to resend.
| 
|      *Caveat*: Adding ‘(gcc-self . t)’ to the parameter list of ‘nntp’
|      groups (or the like) isn’t valid.  An ‘nntp’ server doesn’t accept
|      articles.
`----

Here's my gcc-self related settings:

--8<---------------cut here---------------start------------->8---
(setq gnus-parameters
      `((,(rx "nnimap+")
	 (gcc-self . t))
	;; Mailing List exceptions
	(,(rx "nnimap+Uni:ml/")
	 (gcc-self . "nnimap+Uni:Sent"))
	(,(rx "nnimap+Fastmail:INBOX.mailinglists.")
	 (gcc-self . "nnimap+Fastmail:INBOX.Sent Items"))))
--8<---------------cut here---------------end--------------->8---

So I gcc the current group for all my IMAP accounts, except for mailing
list groups, where I gcc the account's sent mail folder.

To have that only for your Gmail account, you would change the regex to
something like ,(rx "nnimap+Gmail") or whatever you've named your gmail
account.

> 2) I would like to postpone a message directly to a remote group
> (ideally, the gmail drafts folder). Currently I'm able to locally
> postpone a message and then move it to the remote group. A way to
> automate this is what I can't come with (or, better, to directly store
> the draft in the remote group, which I'm afraid is not possible).

I think this question pops up here once in a while, but so far nobody
seems to have implemented that feature.

Bye,
Tassilo



^ permalink raw reply	[flat|nested] 12+ messages in thread

* gcc to remote groups (was: Using gnus with gmail: almost there)
  2014-07-31  5:56 ` Tassilo Horn
@ 2014-07-31  7:19   ` Alberto Luaces
  2014-07-31  9:05     ` gcc to remote groups Tassilo Horn
  2014-07-31 19:18   ` Using gnus with gmail: almost there Carlos Pita
  1 sibling, 1 reply; 12+ messages in thread
From: Alberto Luaces @ 2014-07-31  7:19 UTC (permalink / raw)
  To: ding

Tassilo Horn writes:

> 	(,(rx "nnimap+Uni:ml/")
> 	 (gcc-self . "nnimap+Uni:Sent"))
> 	(,(rx "nnimap+Fastmail:INBOX.mailinglists.")
> 	 (gcc-self . "nnimap+Fastmail:INBOX.Sent Items"))))

On a side note, I wanted to do this as well, but I was worrying about
losing the copy of an email if there are network problems during the
sending process.  Any issue with that?

Thanks,

-- 
Alberto




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: gcc to remote groups
  2014-07-31  7:19   ` gcc to remote groups (was: Using gnus with gmail: almost there) Alberto Luaces
@ 2014-07-31  9:05     ` Tassilo Horn
  2014-07-31  9:27       ` Tassilo Horn
  0 siblings, 1 reply; 12+ messages in thread
From: Tassilo Horn @ 2014-07-31  9:05 UTC (permalink / raw)
  To: Alberto Luaces; +Cc: ding

Alberto Luaces <aluaces@udc.es> writes:

Hi Alberto,

>> 	(,(rx "nnimap+Uni:ml/")
>> 	 (gcc-self . "nnimap+Uni:Sent"))
>> 	(,(rx "nnimap+Fastmail:INBOX.mailinglists.")
>> 	 (gcc-self . "nnimap+Fastmail:INBOX.Sent Items"))))
>
> On a side note, I wanted to do this as well, but I was worrying about
> losing the copy of an email if there are network problems during the
> sending process.  Any issue with that?

Indeed, I think that can happen if the mail could successfully be
transfered to your SMTP server, but the server hosting the IMAP account
you're gcc-ing to is offline.

I think it would be nice if the gcc-self value could also be a list, so

    (gcc-self "nnml+Archive:mail-backups" t)

would mean to put outgoing mail into both the local archive group and
into the current group as well.  I've tried that out, but it doesn't
seem to be implemented so far.

I'll hack that right now.  Shouldn't be too hard to implement, but give
me some time so that I can also update the docs accordingly.

Bye,
Tassilo



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: gcc to remote groups
  2014-07-31  9:05     ` gcc to remote groups Tassilo Horn
@ 2014-07-31  9:27       ` Tassilo Horn
  2014-07-31  9:35         ` Alberto Luaces
  0 siblings, 1 reply; 12+ messages in thread
From: Tassilo Horn @ 2014-07-31  9:27 UTC (permalink / raw)
  To: Alberto Luaces; +Cc: ding

Tassilo Horn <tsdh@gnu.org> writes:

> I'll hack that right now.  Shouldn't be too hard to implement, but
> give me some time so that I can also update the docs accordingly.

Implemented, documented, and pushed to Gnus' git repository.

Bye,
Tassilo



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: gcc to remote groups
  2014-07-31  9:27       ` Tassilo Horn
@ 2014-07-31  9:35         ` Alberto Luaces
  0 siblings, 0 replies; 12+ messages in thread
From: Alberto Luaces @ 2014-07-31  9:35 UTC (permalink / raw)
  To: ding

Tassilo Horn writes:

>
>> I'll hack that right now.  Shouldn't be too hard to implement, but
>> give me some time so that I can also update the docs accordingly.
>
> Implemented, documented, and pushed to Gnus' git repository.

Awesome!  Thank you a lot!

-- 
Alberto




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using gnus with gmail: almost there
  2014-07-31  5:56 ` Tassilo Horn
  2014-07-31  7:19   ` gcc to remote groups (was: Using gnus with gmail: almost there) Alberto Luaces
@ 2014-07-31 19:18   ` Carlos Pita
  2014-07-31 19:44     ` Carlos Pita
                       ` (2 more replies)
  1 sibling, 3 replies; 12+ messages in thread
From: Carlos Pita @ 2014-07-31 19:18 UTC (permalink / raw)
  To: ding; +Cc: tsdh

Hi Tassilo,

gcc-self is indeed a great tip, thank you!

As you've become sort of my guru now, I'm asking you further: I'm
having a hard time trying to match my primary method groups by prefix,
as in "imap.*"; the problem is that these groups don't show the method
prefix, only the secondary ones, but I really want to get a similar
behavior for all my primary select method without having to match on a
per group basis. Is that possible?

Regards
--
Carlos

On Thu, Jul 31, 2014 at 2:56 AM, Tassilo Horn <tsdh@gnu.org> wrote:
> Carlos <carlosjosepita@gmail.com> writes:
>
> Hi Carlos,
>
>> 1) I would like to include my sent emails in the threads where they
>> belong, like in the "conversation" view gmail offers.
>
> I do the same.
>
>> There is a suggestion somewhere in the net to create a virtual group
>> merging the inbox and the sent mail groups, but this will only work
>> for threads in the inbox. Another option is to add a copy of any sent
>> mail to the current group, i.e. something like:
>>
>> (setq gnus-message-archive-group (lambda (g) (concat "nnimap+gmail:" g)))
>>
>> But this has some problems: 1.i) I don't know how to do this *only* for the
>> gmail server. 1.ii) Obviously it doesn't work for emails sent from the
>> webmail.
>>
>> Nevertheless, being able to solve 1.i alone would be very good news for me.
>
> Have a look at the `gcc-self' group parameter.
>
> ,----[ (info "(gnus)Group Parameters") ]
> | ‘gcc-self’
> |      If ‘(gcc-self . t)’ is present in the group parameter list, newly
> |      composed messages will be ‘Gcc’’d to the current group.  If
> |      ‘(gcc-self . none)’ is present, no ‘Gcc:’ header will be generated,
> |      if ‘(gcc-self . "string")’ is present, this string will be inserted
> |      literally as a ‘gcc’ header.  This parameter takes precedence over
> |      any default ‘Gcc’ rules as described later (*note Archived
> |      Messages::), with the exception for messages to resend.
> |
> |      *Caveat*: Adding ‘(gcc-self . t)’ to the parameter list of ‘nntp’
> |      groups (or the like) isn’t valid.  An ‘nntp’ server doesn’t accept
> |      articles.
> `----
>
> Here's my gcc-self related settings:
>
> --8<---------------cut here---------------start------------->8---
> (setq gnus-parameters
>       `((,(rx "nnimap+")
>          (gcc-self . t))
>         ;; Mailing List exceptions
>         (,(rx "nnimap+Uni:ml/")
>          (gcc-self . "nnimap+Uni:Sent"))
>         (,(rx "nnimap+Fastmail:INBOX.mailinglists.")
>          (gcc-self . "nnimap+Fastmail:INBOX.Sent Items"))))
> --8<---------------cut here---------------end--------------->8---
>
> So I gcc the current group for all my IMAP accounts, except for mailing
> list groups, where I gcc the account's sent mail folder.
>
> To have that only for your Gmail account, you would change the regex to
> something like ,(rx "nnimap+Gmail") or whatever you've named your gmail
> account.
>
>> 2) I would like to postpone a message directly to a remote group
>> (ideally, the gmail drafts folder). Currently I'm able to locally
>> postpone a message and then move it to the remote group. A way to
>> automate this is what I can't come with (or, better, to directly store
>> the draft in the remote group, which I'm afraid is not possible).
>
> I think this question pops up here once in a while, but so far nobody
> seems to have implemented that feature.
>
> Bye,
> Tassilo



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using gnus with gmail: almost there
  2014-07-31 19:18   ` Using gnus with gmail: almost there Carlos Pita
@ 2014-07-31 19:44     ` Carlos Pita
  2014-07-31 20:27       ` Carlos Pita
  2014-07-31 20:36     ` Adam Sjøgren
  2014-08-01  9:01     ` Tassilo Horn
  2 siblings, 1 reply; 12+ messages in thread
From: Carlos Pita @ 2014-07-31 19:44 UTC (permalink / raw)
  To: ding; +Cc: tsdh

Well, this is the best I could come with, considering that emacs
regexps have no negative look-ahead or any fancy stuff:

(setq gnus-parameters
      '(("^[^:]+$"
    (gcc-self . t)
    (gnus-gcc-mark-as-read . t))))

It will work as long as there are no gmail labels including a ':'. If
you know of a better approach, please tell me!

Regards
--
Carlos



On Thu, Jul 31, 2014 at 4:18 PM, Carlos Pita <carlosjosepita@gmail.com> wrote:
> Hi Tassilo,
>
> gcc-self is indeed a great tip, thank you!
>
> As you've become sort of my guru now, I'm asking you further: I'm
> having a hard time trying to match my primary method groups by prefix,
> as in "imap.*"; the problem is that these groups don't show the method
> prefix, only the secondary ones, but I really want to get a similar
> behavior for all my primary select method without having to match on a
> per group basis. Is that possible?
>
> Regards
> --
> Carlos
>
> On Thu, Jul 31, 2014 at 2:56 AM, Tassilo Horn <tsdh@gnu.org> wrote:
>> Carlos <carlosjosepita@gmail.com> writes:
>>
>> Hi Carlos,
>>
>>> 1) I would like to include my sent emails in the threads where they
>>> belong, like in the "conversation" view gmail offers.
>>
>> I do the same.
>>
>>> There is a suggestion somewhere in the net to create a virtual group
>>> merging the inbox and the sent mail groups, but this will only work
>>> for threads in the inbox. Another option is to add a copy of any sent
>>> mail to the current group, i.e. something like:
>>>
>>> (setq gnus-message-archive-group (lambda (g) (concat "nnimap+gmail:" g)))
>>>
>>> But this has some problems: 1.i) I don't know how to do this *only* for the
>>> gmail server. 1.ii) Obviously it doesn't work for emails sent from the
>>> webmail.
>>>
>>> Nevertheless, being able to solve 1.i alone would be very good news for me.
>>
>> Have a look at the `gcc-self' group parameter.
>>
>> ,----[ (info "(gnus)Group Parameters") ]
>> | ‘gcc-self’
>> |      If ‘(gcc-self . t)’ is present in the group parameter list, newly
>> |      composed messages will be ‘Gcc’’d to the current group.  If
>> |      ‘(gcc-self . none)’ is present, no ‘Gcc:’ header will be generated,
>> |      if ‘(gcc-self . "string")’ is present, this string will be inserted
>> |      literally as a ‘gcc’ header.  This parameter takes precedence over
>> |      any default ‘Gcc’ rules as described later (*note Archived
>> |      Messages::), with the exception for messages to resend.
>> |
>> |      *Caveat*: Adding ‘(gcc-self . t)’ to the parameter list of ‘nntp’
>> |      groups (or the like) isn’t valid.  An ‘nntp’ server doesn’t accept
>> |      articles.
>> `----
>>
>> Here's my gcc-self related settings:
>>
>> --8<---------------cut here---------------start------------->8---
>> (setq gnus-parameters
>>       `((,(rx "nnimap+")
>>          (gcc-self . t))
>>         ;; Mailing List exceptions
>>         (,(rx "nnimap+Uni:ml/")
>>          (gcc-self . "nnimap+Uni:Sent"))
>>         (,(rx "nnimap+Fastmail:INBOX.mailinglists.")
>>          (gcc-self . "nnimap+Fastmail:INBOX.Sent Items"))))
>> --8<---------------cut here---------------end--------------->8---
>>
>> So I gcc the current group for all my IMAP accounts, except for mailing
>> list groups, where I gcc the account's sent mail folder.
>>
>> To have that only for your Gmail account, you would change the regex to
>> something like ,(rx "nnimap+Gmail") or whatever you've named your gmail
>> account.
>>
>>> 2) I would like to postpone a message directly to a remote group
>>> (ideally, the gmail drafts folder). Currently I'm able to locally
>>> postpone a message and then move it to the remote group. A way to
>>> automate this is what I can't come with (or, better, to directly store
>>> the draft in the remote group, which I'm afraid is not possible).
>>
>> I think this question pops up here once in a while, but so far nobody
>> seems to have implemented that feature.
>>
>> Bye,
>> Tassilo



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using gnus with gmail: almost there
  2014-07-31 19:44     ` Carlos Pita
@ 2014-07-31 20:27       ` Carlos Pita
  0 siblings, 0 replies; 12+ messages in thread
From: Carlos Pita @ 2014-07-31 20:27 UTC (permalink / raw)
  To: ding


Here's another alternative (similar to the one I posted a couple of days
ago):

(setq gnus-message-archive-group
      (lambda (g)
	(when (message-mail-p)
	  (concat "nnimap+gmail:" g))))

If I'm not wrong this is more or less equivalent to:

(setq gnus-parameters
      '(("^[^:]+$" (gcc-self . t)
	("^[^:]+:.+$" (gcc-self . none)))))

The first one has a more flexible matching mechanism, as it let's you
pass a lambda expression. But it can't set anything besides the
group. It would be nice that gnus-parameters worked more like
gnus-message-archive-groups, allowing one to passed a dotted pair list
but also a function or expression.

Regards
--
Carlos




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using gnus with gmail: almost there
  2014-07-31 19:18   ` Using gnus with gmail: almost there Carlos Pita
  2014-07-31 19:44     ` Carlos Pita
@ 2014-07-31 20:36     ` Adam Sjøgren
  2014-08-01  9:01     ` Tassilo Horn
  2 siblings, 0 replies; 12+ messages in thread
From: Adam Sjøgren @ 2014-07-31 20:36 UTC (permalink / raw)
  To: ding

Carlos Pita <carlosjosepita@gmail.com> writes:

> I'm having a hard time trying to match my primary method groups by
> prefix, as in "imap.*"; the problem is that these groups don't show
> the method prefix, only the secondary ones, but I really want to get a
> similar behavior for all my primary select method without having to
> match on a per group basis. Is that possible?

Probably not the answer you are looking for, but: I use nnnil as the
primary method, and all the real stuff is secondary methods - nobody
gets put on the primary piedestal.


  :-),

   Adam

-- 
 "It troo! Dat darn Kahlfin stole ma spacechip!"              Adam Sjøgren
                                                         asjo@koldfront.dk




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using gnus with gmail: almost there
  2014-07-31 19:18   ` Using gnus with gmail: almost there Carlos Pita
  2014-07-31 19:44     ` Carlos Pita
  2014-07-31 20:36     ` Adam Sjøgren
@ 2014-08-01  9:01     ` Tassilo Horn
  2 siblings, 0 replies; 12+ messages in thread
From: Tassilo Horn @ 2014-08-01  9:01 UTC (permalink / raw)
  To: Carlos Pita; +Cc: ding

Carlos Pita <carlosjosepita@gmail.com> writes:

Hi Carlos,

> gcc-self is indeed a great tip, thank you!

Thanks!

> As you've become sort of my guru now, I'm asking you further: I'm
> having a hard time trying to match my primary method groups by prefix,
> as in "imap.*"; the problem is that these groups don't show the method
> prefix, only the secondary ones,

Oh, really?  I wasn't aware of that.

> but I really want to get a similar behavior for all my primary select
> method without having to match on a per group basis. Is that possible?

Well, I don't use a primary select method at all, only secondary ones.
And as far as I know, there's nothing making them less powerful or
second class citizens (well, except that the backend is always shown, it
seems), so you might want to do the same.

  ;; Make the primary select method a do-nothing one
  (setq gnus-select-method '(nnnil))

  ;; Only use severeal secondary select methods
  (add-to-list 'gnus-secondary-select-methods
	     '(nntp "Gmane"
		    (nntp-address "news.gmane.org")))
  ...

Bye,
Tassilo



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Using gnus with gmail: almost there
@ 2014-07-29  4:00 carlosjosepita
  0 siblings, 0 replies; 12+ messages in thread
From: carlosjosepita @ 2014-07-29  4:00 UTC (permalink / raw)
  To: ding

Hi all, it's my first day with gnus and I'm pretty happy with the level
of integration I was able to achieve with gmail imap. Nevertheless,
there are a few quirks remaining and any help from the experienced users
here would be very much appreciated. Let's see:

1) I would like to include my sent emails in the threads where they
belong, like in the "conversation" view gmail offers. There is a
suggestion somewhere in the net to create a virtual group merging the
inbox and the sent mail groups, but this will only work for threads in
the inbox. Another option is to add a copy of any sent mail to the
current group, i.e. something like:

(setq gnus-message-archive-group
      (lambda (g) (concat "nnimap+gmail:" g)))

But this has some problems:
  1.i) I don't know how to do this *only* for the gmail server.
  1.ii) Obviously it doesn't work for emails sent from the webmail.

Nevertheless, being able to solve 1.i alone would be very good news for
me.

2) I would like to postpone a message directly to a remote group
(ideally, the gmail drafts folder). Currently I'm able to locally
postpone a message and then move it to the remote group. A way to
automate this is what I can't come with (or, better, to directly store
the draft in the remote group, which I'm afraid is not possible).

Well, I think that's all for the time being. Thank you in advance.

Cheers
--
Carlos




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-08-01  9:01 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-29 13:09 Using gnus with gmail: almost there Carlos
2014-07-31  5:56 ` Tassilo Horn
2014-07-31  7:19   ` gcc to remote groups (was: Using gnus with gmail: almost there) Alberto Luaces
2014-07-31  9:05     ` gcc to remote groups Tassilo Horn
2014-07-31  9:27       ` Tassilo Horn
2014-07-31  9:35         ` Alberto Luaces
2014-07-31 19:18   ` Using gnus with gmail: almost there Carlos Pita
2014-07-31 19:44     ` Carlos Pita
2014-07-31 20:27       ` Carlos Pita
2014-07-31 20:36     ` Adam Sjøgren
2014-08-01  9:01     ` Tassilo Horn
  -- strict thread matches above, loose matches on Subject: below --
2014-07-29  4:00 carlosjosepita

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 NNTP newsgroup(s).