pages tagged Mutthroy.euhttps://hroy.eu/tags/Mutt/hroy.euikiwiki2023-10-30T21:01:37Zhttps://hroy.eu/tips/mutt/delaySending/2018-10-29T20:32:52Z2014-12-21T15:20:45Z
<p><strong>Edit</strong>: You should have a look at <a href="https://github.com/parisni/msmtp-queue-defer">msmtp-queue-scheduler</a> to solve this :-)</p>
<p>Thanks Nicolas!</p>
<hr />
<p>I've been looking for a solution to this problem:</p>
<p>Sometimes, I just sent an email, and after 10 seconds I realise: “Oh,
damn, I forgot to add something!” or “Oh, nooooes, I sent it to the
wrong person!” Whatever. This is annoying.</p>
<p>Making mistakes is human. Email clients are for humans, therefore they
should be able to cope with our mistakes and help fix them. That's why
software should allow us to “undo” or “cancel” our actions.</p>
<p>Gmail does this right, so why can't we do it in Mutt too?</p>
<p>I wrapped my head around this a little bit. And I'm no programmer, so
after trying to add some stuff here and there, I finally decided to
have it with this very, very, very dirty hack. You've been warned. So
here's how I do it:</p>
<ul>
<li><p>I use the <code>msmtpq</code> script which allows me to queue emails when I'm
offline, so that <code>msmtp</code> can take care of sending queued email
when I'm back online.</p></li>
<li><p>I have tried to put a delay of 30 seconds any time before calling
<code>msmtp</code> or I tried to force <code>msmtpq</code> to queue all outgoing email
for at least 30 seconds. But I couldn't make it work. So instead,</p></li>
<li><p>I added <code>sleep 30 &&</code> at the beginning of the <code>msmtpq</code> script!</p></li>
<li><p>Result: now when I send an email, I have 30 seconds to realise
when I made a mistake. Then, I just need to activate plane mode on
my laptop, and fix whatever needs fixing from here.</p>
<p>One issue with this workflow is that I can't just edit the
outgoing email, I also have to make sure I update the openPGP
signature. So I'd probably just delete the email and start again
from Mutt.</p></li>
</ul>
<p>I warned you, this is very ugly :-)</p>
<p>But as they say: the best way to get an answer on the net is not to
ask a question, but to give the wrong answer!</p>
<p>So if anyone wants to implement this feature in <code>msmtpq</code>, that would
be great. Here's how it could work ideally, in the <code>.muttrc</code>:</p>
<pre><code>set sendmail="msmtpq --wait 30"
set sendmail_wait=-1 #send in the background
</code></pre>
<p>then <code>msmtpq</code> could queue the email for 30 seconds before testing the
connection and feeding the email to <code>msmtp</code>. The Queue management
could then allow the user to pause all outgoing emails, cancel the
email containing the mistake, then sending remaining emails from the queue.</p>
<p>The <code>msmtpq</code> script is available at: <a href="http://sourceforge.net/p/msmtp/code/ci/master/tree/scripts/msmtpq/">http://sourceforge.net/p/msmtp/code/ci/master/tree/scripts/msmtpq/</a></p>
WTF Sunday: couldn’t send email with msmtp any more. Culprit: the lockdirhttps://hroy.eu/posts/msmtpq-lock/2023-10-30T21:00:42Z2014-08-04T09:01:17Z
Yesterday, I spent some hours trying to understand what the fuck was wrong with my email setup. Indeed, I could not send email any more even though every time I hit mutt replied to me: even though it clearly wasn’t!<hr><br><p>Yesterday, some of the strangest thing happened. I couldn’t send
email any more!</p>
<p>The real problem was that I got no error feedback. Actually I haven’t
been able to send email since August 1, but I had not realised! I
thought everything was entirely fine. Until I was online discussing some
issue with Torsten and he kept waiting for my emailed answer. After two
hours: still no reply from me.</p>
<p>So, something was wrong. But what?</p>
<p>First, I tried with many different SMTP servers (my own server, or
FSFE’s server which both use <a href="http://kolab.org">Kolab</a> but
then I also tried with OIN’s server) and the result was always the same:
I couldn’t send email. Clearly, the problem was local.</p>
<p>Was it mutt? I use an experimental fork of mutt, called mutt-kz… I
tried to see the result of the debug file, but there was nothing really
interesting in it. Then I tried with using mutt’s builtin sending email
feature and I got:</p>
<pre><code>La session SMTP a échoué : 554 5.7.1 Service unavailable; Client host [46.115.137.139] blocked using zen.spamhaus.org; http://www.spamhaus.org/query/bl?ip=46.115.137.139</code></pre>
<p>Right now, I rely on an UMTS connection at home. Maybe that was the
problem? But no, using FSFE’s VPN led to the same awkward result!</p>
<p>At this stage, I was completely clueless.</p>
<hr />
<p>Maybe the problem was because of the program I use to connect to my
SMTP servers: msmtp. Actually, I use the scripts that allow me to queue
email before sending it (very useful on a laptop). But unfortunately,
whether I relied on msmtp or msmtpq in the mutt config, the same result
occurred: mutt told me “Email sent” even though no email was sent (I
even tried, when disconnected from the internet, the same result
occurred!!)</p>
<p>Today by trying msmtpq manually, I finally got this:</p>
<pre><code>hrd@xps ~/.msmtpqueue (git)-[annex/direct/master] % cat email.mail| msmtpq -a ampoliros
cannot use queue /home/hrd/.msmtp.queue : waited 240 seconds for
lockdir [ /home/hrd/.msmtp.queue/.lock ] to vanish ; giving up
if you are certain that no other instance of this script
is running, then 'rmdir' the lock dir manually</code></pre>
<p>Hurray!</p>
<p>There must be some better way to handle this! My first impression is
that feedback between msmtpq and mutt should be better dealt with, so
that I don’t get “Email sent” while msmtpq is actually hanging!</p>
<p>I’m not sure where to file this bug report:</p>
<h4 id="replicate-the-bug">Replicate the bug:</h4>
<ol type="1">
<li><p>Have a unusable <code>.lock</code> directory in your msmtp queue
(I have no idea how I did that)</p></li>
<li><p>Send an email with Mutt</p>
<p>Get “Email sent”</p></li>
<li><p>msmtpq is actually not handling the email at all, not adding it
to the queue (msmtp-queue says there’s no email in the queue) and not
sending it to msmtp</p></li>
</ol>
<h4 id="expected-behaviour">Expected behaviour:</h4>
<ol type="1">
<li><p>Have a unusable <code>.lock</code> directory in your msmtp queue
(I have no idea how I did that)</p></li>
<li><p>Send an email with Mutt</p>
<p>Get an error feedback</p></li>
<li><p>Suggest to delete the lockdir</p></li>
</ol>
<hr />
<p>It’s very hard to see which program should be improved here. When
using msmtpq scripts, the README tells me to add this in mutt:</p>
<pre><code>set sendmail_wait = -1 #send in the background</code></pre>
<p>So I assume that whatever I do, mutt will now always tell me “Email
sent”. Isn’t there a better way?</p>
https://hroy.eu/tips/mutt/first/2014-10-21T15:55:06Z2014-03-06T17:22:02Z
<p>Once you have Mutt up and running with the basic tools that will
allow you to <a href="http://offlineimap.org/">fetch</a>, <a href="http://notmuchmail.org/">index</a>, view,
<a href="http://vim.org/">edit</a> and <a href="http://msmtp.sourceforge.net/">send</a> email, there are a couple of
things that you probably need in your <code>.muttrc</code>,
<a class="toggle" href="https://hroy.eu/tags/Mutt/#tips-mutt-first.necessaryonly">no matter what.</a></p>
<div class="toggleable" id="tips-mutt-first.necessaryonly"></div>
<p>I left out all things which are about visual taste, use with
external programs, etc. These are really about correcting some
defaults which I think are not sane. </p>
<div class="toggleableend"></div>
<ul>
<li><p>In Mutt, even if you are on the pager that lets you read a
selected email, the <code><up></code> and <code><down></code> keys will not help
you navigate <em>inside</em> the email; instead they will bring you to
the previous or to the next email in the index.</p>
<p>That’s rather weird and unexpected. One of the first thing I
did was trying to scroll inside an email, and Mutt suddenly
browsed dozens of emails from the index (even marking them as
read…). That’s quite unhelpful. To solve this, add:</p>
<pre><code>bind pager <up> previous-line #scroll inside the message rather than the index
bind pager <down> next-line
</code></pre>
<p>That way, you can scroll, or use the arrow keys to read an
email inside the pager.</p>
<p>When the pager is not opened, the up and down keys will behave
as usual in the index.</p></li>
<li><p>To make Mutt faster</p>
<pre><code>set sleep_time = 0 # be fast
</code></pre>
<p>Don’t worry, this does not affect anything, it will just be
faster. Here’s the doc about <code>sleep_time</code>:</p>
<blockquote>
<p>Specifies time, in seconds, to pause while displaying
certain informational messages, while moving from folder to
folder and after expunging messages from the current folder.
The default is to pause one second, so a value of zero for
this option suppresses the pause.</p>
</blockquote></li>
<li><p>When you display email in the pager, it can look ugly when the
lines are too long and that Mutt, by default, is not very nice
about line-wrapping because it can cut words in the middle. You
probably want to add:</p>
<pre><code>set smart_wrap
</code></pre></li>
<li><p>Changing between mailboxes can be a pain by default in Mutt.
You need to tell Mutt where to find your several mailboxes, so
you’ll be able to switch between them more easily (for instance
by pressing <code>y</code> or with the sidebar). Add:</p>
<pre><code>mailboxes $Mail
</code></pre>
<p>I have seen on some Mutt configs that <code>y</code>
sometimes does not toggle the list of mailboxes. In that case, you
can add something like: </p>
<pre><code>macro index y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
</code></pre></li>
</ul>
https://hroy.eu/tips/mutt/integration-with-org/2014-10-21T15:55:06Z2014-03-06T12:34:58Z
<p>The way it works is:</p>
<ul>
<li>You’re reading an email on Mutt and you think: Oh, I should
really remember that because I need to do X.</li>
<li>You pass this email to emacs’ org-mode containing:
<ul>
<li>the subject, the date and the from</li>
<li>a link to that email which is <code>mutt:Message-ID</code></li>
</ul></li>
<li>You add some information if you wish to, and you save this in
your org-mode todo file.</li>
</ul>
<p>Now, you’re in your org-mode todo list, you can work with it as
usual. Now you have this bit, and you need to remember what it’s
about exactly. You can click the link in org-mode, and it will
open Mutt and show you the right email in Mutt! </p>
<ul>
<li>More info on <a href="http://upsilon.cc/~zack/blog/posts/2010/02/integrating_Mutt_with_Org-mode/">Zack’s blog</a></li>
<li>Get org-mutt directly from his <a href="http://git.upsilon.cc/?p=utils/org-mutt.git;a=summary">git repo</a></li>
</ul>
<h1>Make <code>mutt-open</code> work with <code>mutt-sidebar</code></h1>
<p>I used <a href="https://aur.archlinux.org/packages/mutt-sidebar/">mutt-sidebar</a> and I couldn’t get <code>./mutt-open</code> to work
correctly. I fixed this by changing:</p>
<pre><code>HIDE_SIDEBAR_CMD="B" # set to empty string if sidebar is not used
</code></pre>
<p>You need to update <code>B</code> with whatever you use to toggle the
sidebar. I use CTRL-B so I changed it to
<code>HIDE_SIDEBAR_CMD="\CB"</code>. That’s it! </p>
<p>This is the due to the fact that mutt-open has
something called <code>mutt_keys</code> that’s used to display the right
email in mutt. However in its current state mutt_keys decides to
toggle the sidebar before it actually shows the email. Hence if
the toggle sidebar key is not well defined in mutt-open, mutt will
hang up there. So I changed this to:</p>
<pre><code>mutt_keys="/=i$msgid\n\n$HIDE_SIDEBAR_CMD"
</code></pre>
<h1>Make <code>mutt-open</code> work with <code>mutt-kz</code></h1>
<p>Since <a href="https://github.com/karelzak/mutt-kz">mutt-kz</a> comes with a sidebar as well, the previous paragraph applies. But you might need further changes to the original mutt-open script. Here’s how mine works:</p>
<pre><code>mutt_keys="<vfolder-from-query>id:$msgid\n\n<entire-thread>"
</code></pre>
https://hroy.eu/tips/mutt/carddav-lookup/2014-10-21T15:55:06Z2014-03-06T12:12:13Z
<p>This should work with any carddav server, but if you use Kolab's
carddav server here's some extra tip!</p>
<p>The problem you want to fix is: it's impossible to remember
everyone's email address. This problem is solved by most email
programs because they are linked to a contact list already.
However, for those of us using Mutt, there's no full contact
integration so you need to rely on something else.</p>
<p>One obvious solution is to rely on a mail indexer to search and
find addresses in emails from the past. If you use mu, <a href="http://blogs.fsfe.org/gerloff/2013/11/07/address-lookup-in-mutt-with-mu/">here's how
Karsten does it</a>.</p>
<p>However, that's not really helping if you have contact information
from multiple sources (e.g. typing on your mobile the email
address of somebody you just met AFK). This is where a contact
server is handy.</p>
<hr />
<p>If you use Google's contacts, you can use <a href="https://pypi.python.org/pypi/goobook/1.4alpha4#mutt">goobook</a> it works well
but it's quite slow IMHO. And obviously, the problem is that you
have given up your whole contact list to Google.</p>
<h1>Find your Kolab addressbook</h1>
<p>With <a href="http://kolab.org/news/2013/11/07/kolab-3.1-released-new-cloud-storage-feature-and-irony">Kolab 3.1</a> comes a CardDav/CalDav/webDav server! Version
3.1 was just released today. So let's use that instead.</p>
<ul>
<li><p>When I set up Kolab 3.1 before the official release, I got a
packaging bug in CentOS, but <a href="http://source.hroy-eu.branchable.com/?p=source.git;a=blob_plain;f=configs/kolab.mdwn;hb=7581e11fef10a7f7d01ac5f718b3f65178b0fd7c">it's easy to fix</a>.</p></li>
<li><p>The *Dav server is located at <a href="https://kolab.example.org/iRony">https://kolab.example.org/iRony</a>.
Now, you need to find how to link to a specific addressbook. I
tried to have a look at the Roundcube interface, for a folder
id or something, but I could not find any that was working.</p></li>
<li><p>Just connect a webDav client (in Nautilus, File > Connect to a
server) to the iRony folder, and then just navigate to find
the addressbook identifier (look in the address bar!)</p></li>
</ul>
<p>Hopefully, this will soon <a href="https://issues.kolab.org/show_bug.cgi?id=2488">not be needed any longer</a>.
There will be a "Show address book URL" setting directly in
Roundcube's contacts menu.</p>
<h1>Sync your CardDav addressbook with pyCardDAV</h1>
<p>Now install <a href="http://lostpackets.de/pycarddav">pyCardDav</a> which just landed on Debian last
month:</p>
<pre class="terminal"><code># apt-get install pycarddav</code></pre>
<ul>
<li><p>Sync pycarddav after you entered the Kolab addressbook
resource in the config file with <code>pycardsyncer</code></p>
<p>I advise you run this with <code>--debug</code> to make sure
that it does not get stuck in case you have some illegal
characters inside one of your vCards. If it gets stuck, then
you can just go back to your webDav client and edit the file
that's causing trouble.</p></li>
<li><p>If all goes well, you should be able to search for contacts
inside your local copy:</p>
<pre class="terminal"><code>% pc_query hugo
searching for hugo...
Name: Hugo Roy
TEL (CELL): +...
EMAIL (INTERNET\, WORK): hugo at fsfe dot org</code></pre></li>
</ul>
<h1>Lookup directly from Mutt</h1>
<p>I just added this to my <a href="https://github.com/hugoroy/.mutt">~/.muttrc</a>:</p>
<pre><code>set query_command="pc_query -m '%s'"
bind editor <Tab> complete-query
</code></pre>
<p>That way, in Mutt, just type ‘Q’ to search for a contact. Or you
can also press ‘m’ to start a new message, start typing in the
‘To:’ field the name of your contact and just press [Tab] to have
autocompletion!</p>
https://hroy.eu/tips/mutt/import-key/2014-10-21T15:55:06Z2014-03-06T12:12:13Z
<p>Hey, did you know that on Mutt, ‘CTRL’+K will import public
openPGP keys attached to emails (with the right MIME type)?</p>
<p>That makes signing and sharing keys even easier ☺ </p>
<p>Thanks <a href="https://blogs.fsfe.org/gollo">gollo</a> for the tip!</p>
https://hroy.eu/tips/mutt/2015-03-04T21:57:11Z2014-03-06T12:12:13Z
<p>I began using <a href="http://mutt.org">Mutt</a> in March 2013. (I was
using Gnome's Evolution before, but its searches were really slow
and one day I really freaked out when Evolution did something
weird which led me to believe that I couldn't see my emails since
2010. It turns out everything was fine, but Evolution hang up on
me).</p>
<p><aside><a href="https://hroy.eu/tips/mutt/mutt.png"><img src="https://hroy.eu/tips/mutt/mutt.png" width="200" height="200" class="pull-right aside" /></a></aside></p>
<p>Beginning on Mutt is “not easy.” I went to <a href="https://wiki.fsfe.org/MutterWare">Mutterwares</a> to have
experienced user show me how they use it. You might be interested
in some of the <a href="https://wiki.fsfe.org/MutterWare">information collected there</a>.</p>
<h3>
<a href="https://hroy.eu/tips/mutt/first/">First tips for Mutt beginners</a>
</h3>
<p>Once you have Mutt up and running with the basic tools that will
allow you to <a href="http://offlineimap.org/">fetch</a>, <a href="http://notmuchmail.org/">index</a>, view,
<a href="http://vim.org/">edit</a> and <a href="http://msmtp.sourceforge.net/">send</a> email, there are a couple of
things that you probably need in your <code>.muttrc</code>,
<a class="toggle" href="https://hroy.eu/tags/Mutt/#tips-mutt-first.necessaryonly">no matter what.</a></p>
<div class="toggleable" id="tips-mutt-first.necessaryonly"></div>
<p>I left out all things which are about visual taste, use with
external programs, etc. These are really about correcting some
defaults which I think are not sane. </p>
<div class="toggleableend"></div>
<ul>
<li><p>In Mutt, even if you are on the pager that lets you read a
selected email, the <code><up></code> and <code><down></code> keys will not help
you navigate <em>inside</em> the email; instead they will bring you to
the previous or to the next email in the index.</p>
<p>That’s rather weird and unexpected. One of the first thing I
did was trying to scroll inside an email, and Mutt suddenly
browsed dozens of emails from the index (even marking them as
read…). That’s quite unhelpful. To solve this, add:</p>
<pre><code>bind pager <up> previous-line #scroll inside the message rather than the index
bind pager <down> next-line
</code></pre>
<p>That way, you can scroll, or use the arrow keys to read an
email inside the pager.</p>
<p>When the pager is not opened, the up and down keys will behave
as usual in the index.</p></li>
<li><p>To make Mutt faster</p>
<pre><code>set sleep_time = 0 # be fast
</code></pre>
<p>Don’t worry, this does not affect anything, it will just be
faster. Here’s the doc about <code>sleep_time</code>:</p>
<blockquote>
<p>Specifies time, in seconds, to pause while displaying
certain informational messages, while moving from folder to
folder and after expunging messages from the current folder.
The default is to pause one second, so a value of zero for
this option suppresses the pause.</p>
</blockquote></li>
<li><p>When you display email in the pager, it can look ugly when the
lines are too long and that Mutt, by default, is not very nice
about line-wrapping because it can cut words in the middle. You
probably want to add:</p>
<pre><code>set smart_wrap
</code></pre></li>
<li><p>Changing between mailboxes can be a pain by default in Mutt.
You need to tell Mutt where to find your several mailboxes, so
you’ll be able to switch between them more easily (for instance
by pressing <code>y</code> or with the sidebar). Add:</p>
<pre><code>mailboxes $Mail
</code></pre>
<p>I have seen on some Mutt configs that <code>y</code>
sometimes does not toggle the list of mailboxes. In that case, you
can add something like: </p>
<pre><code>macro index y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
</code></pre></li>
</ul>
<p>Here is a list of mutt tips. My <a href="https://github.com/hugoroy/.mutt">~/.mutt</a>
is public.</p>
<div class="subscribers ui">
<a class="feedbutton atom btn btn-xs btn-warning" type="application/atom+xml" rel="alternate" title="hroy.eu (Atom feed)" href="https://hroy.eu/tips/mutt/index.atom">
Atom
</a>
</div>
<div class="archivepage">
<a class="archivetitle" href="https://hroy.eu/tips/mutt/delaySending/">Delay sending emails in Mutt</a><br />
<span class="archivepagedate">
<time datetime="2014-12-21T15:20:45Z" pubdate="pubdate">2014-12-21</time>
</span>
</div>
<div class="archivepage">
<a class="archivetitle" href="https://hroy.eu/tips/mutt/first/">First tips for Mutt beginners</a><br />
<span class="archivepagedate">
<time datetime="2014-03-06T17:22:02Z" pubdate="pubdate">2014-03-06</time>
</span>
</div>
<div class="archivepage">
<a class="archivetitle" href="https://hroy.eu/tips/mutt/integration-with-org/">Getting things done with Mutt and org-mode</a><br />
<span class="archivepagedate">
<time datetime="2014-03-06T12:34:58Z" pubdate="pubdate">2014-03-06</time>
</span>
</div>
<div class="archivepage">
<a class="archivetitle" href="https://hroy.eu/tips/mutt/carddav-lookup/">Kolab’s CardDav address lookup in Mutt</a><br />
<span class="archivepagedate">
<time datetime="2014-03-06T12:12:13Z" pubdate="pubdate">2014-03-06</time>
</span>
</div>
<div class="archivepage">
<a class="archivetitle" href="https://hroy.eu/tips/mutt/import-key/">Import openPGP Keys with Mutt</a><br />
<span class="archivepagedate">
<time datetime="2014-03-06T12:12:13Z" pubdate="pubdate">2014-03-06</time>
</span>
</div>
I ♥ Free Software: Mutthttps://hroy.eu/posts/ilovefs-mutt/2023-10-30T21:01:06Z2014-02-13T23:00:00Z
<p>Today is Valentine’s day, a day to celebrate love. But at the Free
Software Foundation Europe, we like to challenge traditions. So we
thought: why not <a href="http://ilovefs.org">also celebrate Free
Software on this day</a>? Because what makes Free Software so great is
the people who make it, it’s the community!</p>
<p>And what better personal example than my use of the <a
href="http://en.wikipedia.org/wiki/Mutt_%28email_client%29">mutt email
agent</a> to explain why this community is truly important?</p>
<p>I’ve always been a bit curious about mutt. Mutt is a program that
lives in your terminal, and basically all it does is show an index of
emails in mailboxes, then lets you view these emails. In the pure UNIX
tradition, the rest is left to other tools. So every tool has its focus
on what it’s good at; and everything is glued together with open formats
and protocoles.</p>
<p>The reason why I’ve been always curious with mutt is because email is
a big part of my workflow (and my life); but I felt that the way I
managed email sucked.</p>
<p>So when I wanted to have a look in mutt, which is quite austere, I
went to “mutterwares”, i.e. tupperware meetings for mutt users. Just
like Mozilla launched the <a
href="http://wiki.mozfr.org/TupperVim">TupperVim</a> to gather vim users
to share tips, experiences, plugins, configs and so forth.</p>
<p>Now, I have been using mutt for nearly a year, and I don’t think I’m
ever going back to something else.</p>
<p>Last Monday, there was a 3rd <a
href="https://wiki.fsfe.org/groups/Paris/Mutterware">Mutterware</a> in
Paris, in which Zack demoed two programs he wrote: <a
href="http://notmuchmail.org/notmuch-mutt/">notmuch-mutt</a> and <a
href="http://git.upsilon.cc/?p=utils/org-mutt.git;a=summary">org-mutt</a>.</p>
<p>Notmuch-mutt enables you to index your entire email archive, so you
can tag emails, search for emails, etc. It also has a killer-feature:
from any email in any inbox, you can reconstruct the entire thread to
which it belongs, no matter where the rest of the emails are stored (for
instance, if you archive your email in other mailboxes).</p>
<table class="img">
<caption>
Zack reconstructed the thread about Mutterware by pressing F9 in mutt
with notmuch-mutt
</caption>
<tr>
<td>
<a href="https://hroy.eu/posts/ilovefs-mutt/zack-mutterware-notmuch.png"><img src="https://hroy.eu/posts/ilovefs-mutt/666x-zack-mutterware-notmuch.png" width="666" height="666" class="img" /></a>
</td>
</tr>
</table>
<p>Org-mutt enables you to glue mutt and org-mode together. So you can
easily create a new task from an email, and you can link that task back
to mutt’s view of that email.</p>
<p>During this mutterware, Zack helped me find why I couldn’t get
org-mode to work, and so <a
href="http://git.upsilon.cc/?p=utils/org-mutt.git;a=commit;h=1ae5a5adb5ee8a41bf5716b8c9247e4d0d6a8fe7">we
fixed a bug</a>! I still have to get something fixed, but it’s already
very useful and great. <em>Update:</em> <a
href="https://hroy.eu/tips/mutt/integration-with-org/">It’s fixed</a>.</p>
<p>So, thanks a BUNCH to Zack and to Michael R. Elkins, mutt
developer.</p>
MutterWare #2: aller (encore) plus loin dans son utilisation du mailhttps://hroy.eu/posts/mutterware-2/2023-10-30T21:01:37Z2013-11-20T23:00:00Z
<p>(initalement publié sur <a
href="https://blogs.fsfe.org/hugo/2013/11/mutterware-2-aller-encore-plus-loin-dans-son-utilisation-du-mail/">blogs.fsfe.org</a>)</p>
<p>Mardi soir, Nicolas organisait le <a
href="https://blogs.fsfe.org/nicoulas/?p=151">2e MutterWare</a>. Mais
qu’est-ce que c’est que ça ?</p>
<p><a href="https://wiki.fsfe.org/groups/Paris/Mutterware">Le
MutterWare</a> est une réunion d’utilisateurs de <span
class="selflink">Mutt</span> qui veulent partager leurs bonnes pratiques
et quelques astuces bien utiles. Les non-utilisateurs de mutt curieux
sont bienvenus, surtout s’ils sont légèrement blasés de leur client
email ☺</p>
<p>Le nom est inspiré directement du <a
href="http://wiki.mozfr.org/TupperVim">TupperVIM</a> organisé chez
Mozilla, à Paris.</p>
<p>Pour cette deuxième édition, nous avons cette fois été invités à
admirer les bureaux somptueux de <a href="https://hroy.eu/tags/Mozilla/">Mozilla</a>
boulevard Montmartre. Voir la photo <a
href="https://blogs.fsfe.org/nicoulas/?p=151">prise par Yoann</a> :</p>
<table class="img">
<caption>
Démonstration par Paul
</caption>
<tr>
<td>
<a href="https://hroy.eu/posts/mutterware-2/IMAG0884.jpg"><img src="https://hroy.eu/posts/mutterware-2/666x398-IMAG0884.jpg" width="666" height="398" alt="Mutterware" class="img" /></a>
</td>
</tr>
</table>
<p>Encore une fois, ce MutterWare était un bon mélange entre
utilisateurs (très) expérimentés, et non-utilisateurs de Mutt curieux de
voir comment fonctionne le machin et prêts à ouvrir leur terminal pour
commencer à configurer la bête !</p>
<p>Quelques informations ont été ajoutées au wiki de la
<a href="https://hroy.eu/tags/FSFE/">FSFE</a> : <a
href="https://wiki.fsfe.org/groups/Paris/Mutterware">https://wiki.fsfe.org/groups/Paris/Mutterware</a>.</p>
<p>Pour ma part, j’insisterai sur cette <a
href="http://stevelosh.com/blog/2012/10/the-homely-mutt/">très bonne
page qui permet de démarrer sur Mutt</a>. C’est en anglais mais c’est
bien écrit. Cette page a cependant deux défauts à mon avis : elle se
concentre sur l’usage à partir d’un serveur mail chez Google (or Gmail a
des tas de particularités pas très orthodoxes) et elle se limite à un
seul compte. Or je ne sais pas pour vous mais moi, j’ai deux comptes :
l’un est plus, « personnel ».</p>
<p>Enfin, la cerise sur le gâteau, c’est Emmanuel qui l’a apportée en me
montrant l’outil <a href="http://www.escape.de/~tolot/mutt/">t-prot</a>,
qui permet de nous débarrasser de toutes ces petites choses qui peuvent
être désagréables dans le mail : les gens qui font des citations trop
longues, les gens qui font du <a
href="https://en.wikipedia.org/wiki/Top-posting#Top-posting">top-posting</a>
ou encore les gens ont des signatures de 3 kilomètres. T-prot a aussi
des fonctions particulières pour Mutt, comme par exemple l’argument
<code>--pgp-move</code> qui déplace les informations relatives aux
signatures openPGP d’un email vers le bas, et non vers le haut comme
c’est le cas par défaut, ce qui permet d’avoir accès plus directement au
contenu du mail, sans avoir à scroller ! Plus d’infos sur la config
T-prote d’Emmanuel <a
href="https://wiki.fsfe.org/groups/Paris/MutterwareConfigDisplayFilter">sur
le wiki</a>.</p>
<p>Du coup, j’ai touché pas mal à ma config (dispo sur
https://github.com/hugoroy/.mutt). Tout est désormais plus sobre depuis
que j’ai modifié les barres de statuts, retiré la barre d’aide, et
remplacé quelques codes couleurs. Lire ses mails sur Mutt est encore
plus plaisant qu’avant ☺</p>
<p>À bientôt pour la 3e édition ! N’hésitez pas à vous inscrire sur la
liste fsfe Paris <a
href="https://lists.fsfe.org/mailman/listinfo/paris">https://lists.fsfe.org/mailman/listinfo/paris</a>
ou à nous rejoindre sur irc <a
href="irc://irc.freenode.net:6667/#fellows-paris">#fellows-paris</a>.</p>
https://hroy.eu/tips/firefox-mailto/2014-10-21T15:55:06Z2013-11-12T16:53:29Z
<p>It’s quite annoying when you click somebody's name or email on a
web page and that <a href="https://hroy.eu/tags/Firefox/">Firefox</a> cannot figure out how to rely on your
system preferences to send an email.</p>
<p>For instance, my system is set up so that when I click on an email
address or mailto: link anywhere, gnome-terminal opens up with
Mutt ready to send an email. For some reason, Firefox tries to
figure out all by itself which program I should use.</p>
<p>I have tried to make Firefox use gnome-terminal with <span class="selflink">Mutt</span>, but it
didn’t work. However, it's possible to add your own webmail there
(for some reason, I could choose between Yahoo Mail, Gmail and
Mykolab.com but I can't remember how I did that). Now that I have
my own <a href="https://hroy.eu/tags/Kolab/">Kolab</a> instance with roundcube, I decided to add my own
webmail there. Unfortunately, it seems there's no way from the
graphical interface, so I went straight to:
<code>~/.mozilla/firefox/iceweaselprofile.hugo/mimeTypes.rdf</code>.</p>
<p>It's quite a big file FWIW (885 lines here). I did not have a look
at the details, but hopefully just adding this helps (for the
second block, make sure to merge with existing mailto handlers):</p>
<pre><code><RDF:Description RDF:about="urn:handler:web:https://kolab.example.org/roundcubemail/?_task=mail&amp;_action=compose&amp;_to=%s"
NC:prettyName="Kolab Groupware"
NC:uriTemplate="https://kolab.example.org/roundcubemail/?_task=mail&amp;_action=compose&amp;_to=%s" />
<RDF:Description RDF:about="urn:scheme:handler:mailto"
NC:alwaysAsk="true">
<NC:possibleApplication
RDF:resource="urn:handler:web:https://kolab.example.org/roundcubemail/?_task=mail&amp;_action=compose&amp;_to=%s"/>
</RDF:Description>
</code></pre>
<p>(Just replace <a href="https://kolab.example.org/roundcubemail/">https://kolab.example.org/roundcubemail/</a> with
your own Roundcube location. And of course, if you don't use
Kolab replace "Kolab Groupware" by whatever.)</p>