Hot answers tagged

61

You need to run the tag-pattern command. The default for that is T (Shift+t). You can then give it a regular expression. By default this will match message subjects. If you need to select a range of messages by number, you can provide the ~m [MIN]-[MAX] pattern to tag-pattern. There are many other options I've found useful over the years, and you can ...


35

I finally got it to work by enabling Google 2-step verification and using an app-specific password for mutt. More detail: I enabled 2-step verification on my Google account, which means that when I log in to Google, I have to enter a pin number from either a text or from the Google Authenticator app. Then I had to get an app-specific password for mutt. ...


33

Create a passwords file: ~/.mutt/passwords: set imap_pass="password" set smtp_pass="password" This file can be encrypted using GPG. First, create a public/private key pair: $ gpg --gen-key Encrypt the passwords file: $ gpg -r your.email@example.com -e ~/.mutt/passwords $ ls ~/.mutt/passwords* /home/user/.mutt/passwords /home/user/.mutt/passwords.gpg $ ...


33

search and limit can also actually search inside messages, depending on the search patterns you give. From the Patterns subsection of the Mutt reference: ~b EXPR messages which contain EXPR in the message body =b STRING If IMAP is enabled, like ~b but searches for STRING on the server, rather than downloading each message and searching it ...


33

After you compose a message, but before sending you have lots of options available to you. Press ? to view them. Some that may help here: F to filter the attachment through an external processor Use pandoc -s -f markdown -t html to convert to HTML ^T to edit the attachment MIME type Change from text/plain to text/html. Now a macro that will do ...


33

The obvious answer is Alpine, which used to be Pine, but was freed by the University of Washington. Pine is non-free software, Alpine is free software. Alpine is quite similar to Mutt, but Mutt is generally considered to be more powerful and flexible. The current active branch of Alpine is a fork called Re-Alpine, since the University of Washington has ...


32

The s command saves to a mailbox, which for you is in maildir format. Unfortunately, there is no save-to-file command, perhaps because in the historical mbox format, a mailbox that contains a single mail is just a file containing that mail. The mutt command pipe-message (default shortcut |) can be used for this. It opens a command line and you write cat >...


28

As one of the comments says it looks like Google have moved to blocking apps that are using IMAP/SMTP PLAIN authentication by default and you can read official blogs stating that Google strongly recommends IMAP/SMTP protocol users switch to OAuth 2.0 (as XMPP is also listed I wonder if (older?) OSX iChat will stop working with GTalk at some point). Elsewhere,...


28

Gmail Setup For authentication, you'll have to do either of two things: Generate an application-specific password for your Google Account (your only option if you're using 2FA), Turn on less-secure app access (not an option with 2FA) In gmail, go click the gear icon, go to Settings, go to the tab Forwarding POP/IMAP, and click the Configuration ...


27

When using smtp submission on port 587, the value for smtp_url should start with "smtp://", i.e. not with "smtps://". It is also important to make sure ssl_starttls is set to "yes", as correctly done in the config above. While setting up my own server I got the exact same problem. Having access to logs on both the client & the server side, made it ...


25

The actual message shows up as an attachment as well, so you can save it from the attachment list. From either the index or the message itself, hit v to open the attachments and s to save


23

You can use D (uppercase) to remove the attachment under the cursor.


21

tagged mails: macro index S ":set confirmappend=no delete=yes\n<tag-prefix-cond><save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n" current only: macro index A ":set confirmappend=no delete=yes\n<save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n" edit macro index S ":set ...


20

Run enter-command (by default it is bound to : in the index view) and then run set ?option, where option is the desired option; mutt will then display what is the current value for the option. Source: mutt manual.


18

I found the correct answer here: Bind ctrl+up in muttrc | mail-archive.com. Inside mutt, use the command :exec what-key Then pressing the desired key (like Ctrl+arrow) you can learn how to reference any key. In my case I get <C-Up> for Ctrl+Up. Hit Ctrl-g to exit what-key.


16

You can add a dollar-sign "$" after the "d" and mutt will sync immediately after marking the message(s). Hitting "$" any time will just sync.


14

I believe I found a solution to this on the Mutt wiki. How to make mutt check for new mail more often? What's the difference between $timeout and $mail_check? After every keyboard input mutt updates the status of all folders. To receive "New mail in ..." notifications even without needing to press a key, set $timeout == time to wait ...


12

This was very helpful, but still wasn't quite obvious to a complete newbie like me. In gory detail... Type "D" mutt responds with "Delete messages matching:" Type a response following the pattern: "~m 1234-2345" (no quotes)


11

You can set the timeout variable to something like: set timeout=10 This will poll the current mailbox every 10 seconds at most when mutt is idle waiting for user input, more often than the default 600 seconds. This is not needed in post v1.5.11 when IDLE is enabled.


11

Check these out: sup — A curses threads-with-tags style email client aerc — Asynchronous email client for your terminal (slow development)


10

If you touch a file and then try to save or copy a message to it mutt will use it as a mbox. Also you might want to use copy instead of save. Mutt assumes that a mail should only exist in one copy and saving a message to another mailbox will delete it from the first one, while copying will do a proper copy.


10

Create a file with the following content: alias my_alias1 recipient1@email, recipient1@email alias my_alias2 recipient3@email, recipient4@email Source it from your mutt config with source path/to/alias_file. Aliases - Mutt Project Wiki


10

OfflineIMAP and isync are both programs that integrate well with mutt and will satisfy your other criteria. OfflineIMAP is written in Python and isync in C; both are very quick. Both programs are well documented and straightforward to set up; isync perhaps slightly easier. There is one significant difference between the functionality of each that is worth ...


10

Extending @Scott McClung's correct answer: If you want to apply mutt commands by default to all selected (tagged) messages without using tag-prefix (bound to ; by default), you can set the auto_tag variable by adding this line to your .muttrc: set auto_tag = yes


10

The formail tool from procmail (available in any distribution, it's a classic) is designed precisely for this purpose. Basic usage: formail -s myprogram --option runs myprogram --option on each mail in turn. The program receives each mail on its standard input.


9

You can add flags to the search command, to search the body use the search function with the ~b modifier. So to search for cheesecake inside your mail bodies: /~b cheesecake


9

The toggle-new command (N by default) seems relevant.


8

http://www.mail-archive.com/mutt-users@mutt.org/msg44341.html This suggests using the 'pager_format', to make it show the letter date in the local timezone: set pager_format="%4C %Z %[!%b %e at %I:%M %p] %.20n %s%* -- (%P)"


Only top voted, non community-wiki answers of a minimum length are eligible