Why Gnus is better than Gmail

  |   Source

Here is my use case. My agent notify me that there is a potential contract from a company named "FF".

My first reaction is to reply the email with "Great! Please forward my CV".

Before I press the "Send" button, it occurs to me that other agents have possibly already submitted my CV to FF since it is a big organization. I need double check.

I save current email as draft, search all the mails containing "FF" and forward them to the original email I've not sent yet. Then my agent could figure out whether other guys have already represented me for the same opportunity.

This operation is doable in desktop application like Outlook. I need search emails in a new dialog box. Select emails. Then drag them to the original email.

It's hard to do this thing in Gmail.

In Emacs, the job can be done easily:

  • Step 1, Switch to Groups buffer (the buffer which lists email folder). press key G G or run command M-x gnus-group-make-nnir-group, input the keyword "FF" to start search
  • Step 2, Mark the emails I want to forward with hot key #
  • Step 3, Press key C-c C-f or run command M-x gnus-summary-mail-forward. A new buffer is created. It contains a big chuck of xml string wrapped by either "<#multipart>" tag or "<#mml>" tag.
  • Step 4, Select and copy that string into you original email. Done!

Step 4 could be improved.

Insert below code into ~/.emacs:

(defun message-select-forwarded-email-tags ()
  "Select the <#mml-or-what-ever> tags in message-mode."
  (interactive)
  (let (start rlt)
    (when (search-forward "<#")
      (setq start (point))
      (push-mark (point) t t)
      (goto-char (point-max))
      (search-backward ">")
      (forward-char)
      (setq rlt t))
    rlt))

(defun message-copy-select-forwarded-email-tags ()
  "Copy the <#mml-or-what-ever> tags in message-mode."
  (interactive)
  (save-excursion
    (cond
     ((message-select-forwarded-email-tags)
      (copy-region-as-kill (region-beginning) (region-end))
      (message "forwarded email tags copied!"))
     (t (message "NO forwarded email tags found!")))))

All you need is "M-x message-copy-select-forwarded-email-tags" to copy the tags into kill-ring.

UPDATE: This is only a case study. My complete guide on Gnus is at http://blog.binchen.org/posts/notes-on-using-gnus.html.

Comments powered by Disqus