Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I love mutt, and the mutt version shipped with Ubuntu is awesome (it even has a patched version), the only caveat I've found so far it's that I had not been able to manage several imap accounts at the same time.

Currently my mutt setup looks like this:

#$HOME/.mutt/muttrc
=== Accounts  ====

set my_decrypt=`gpg -o $HOME/.mutt/accounts/passwd.gpg.tmp -d $HOME/.mutt/accounts/passwd.gpg`

set my_first_mail_passwd=`awk '/[email protected]:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_second_mail_passwd=`awk '/[email protected]:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_rm=`rm -f $HOME/.mutt/accounts/passwd.gpg.tmp`

source $HOME/.mutt/accounts/[email protected]/[email protected]

//source $HOME/.mutt/accounts/[email protected]/[email protected]

Which means that a password.gpg file is decrypted on the fly (where my email passwords live) use it to set some vars and deleted, also a default profile is sourced, it looks like this:

#$HOME/.mutt/accounts/[email protected]/[email protected]
set folder           = "imaps://imap.foo.com"

set spoolfile        = "imaps://imap.foo.com/INBOX"

set header_cache     = "$HOME/.mutt/cache/[email protected]"

set message_cachedir = "$HOME/.mutt/cache/[email protected]"

set imap_user        = "[email protected]"

set imap_pass        = $my_first_mail_passwd

set smtp_url         = "smtp://[email protected]"

set smtp_pass        = $my_first_mail_passwd

Using this, I'm only able to use the account configured in the default profile.., I've heard that folder hooks can be used but I've no idea how to use them, and I'm also not sure if that's what I'm looking for, I'd like to just be able to source different profiles depending which email I'd like to read.., Any suggestion method is welcome.., I'd prefer a setup who don't rely on external programs who aren't part of a default Ubuntu installation.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

Even though there are some useful guides on this site and this one, I thought I would just show you my currently working solution. You might note that it is similar to the aforementioned guides, but with additions and differences: I have found it is possible not to use account-hooks or folder-hooks in some cases. See the Mutt wiki for an alternative take on setting this up.

I will post the elements of the setup and then post my entire .muttrc so you can see how it all fits together.

It is easiest to enter the settings of both of your accounts in separate files and save them in the ~/.mutt folder. As an example, your two accounts could be called account.gmail1 and account.gmail2. So create two text files with those names and follow this template below for the contents; they should be both identical apart from the user@ part; just replace all occurrences of that with your real email (e.g. mik123@) in both files.

set imap_user = "[email protected]"
set imap_pass = ""
set from = "[email protected]"
set realname = "user"
set hostname = gmail.com
set folder = "imaps://[email protected]:993"
set spoolfile = "imaps://[email protected]/INBOX"
set postponed = "imaps://[email protected]/[Gmail]/Drafts"
set record = "imaps://[email protected]/[Gmail]/Sent Mail"
set smtp_url = "smtp://[email protected]:587"
set smtp_pass = ""
  • Note that I have left the password blank (""), which means you will be prompted for it, and that is what I prefer, but you can integrate your own solution if you don't want to have to keep entering the password.

  • If you want a default account loaded at startup, you can use in your .muttrc a similar line to this, just specify your own config file.

    source "~/.mutt/account.gmail1"

  • To actually switch between the accounts, place a shortcut in your .muttrc referring to the actual location and name of your account configs:

    macro index <f4> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail1<enter><change-folder>!<enter>'
    macro index <f5> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail2<enter><change-folder>!<enter>'

  • You will be able to switch between folders within both accounts with pager commands such as

    macro index,pager ga "<change-folder>=[Gmail]/All Mail<enter>" "Go to all mail"

that are defined in your .muttrc; these will still work for each account (see my attached .muttrc).

  • I tested these particular settings with the additional general ones in my .muttrc, so you can use that file and/or collate it with your own, it is up to you.

Now just load mutt in terminal and you should be able to load up one account and then switch to the other one using your shortcut. My .muttrc is pasted here if you need a working example of a configuration.

See the good article on this site on Mutt and the Mutt wiki for further ways of setting up mutt such as using folder-hooks to associate setings with various mailboxes, which is also explained here.

share|improve this answer
    
wowow, amazing!, thanks a lot dude, my full ~/.mutt/muttrc conf: paste.ubuntu.com/1487277 –  chilicuil Jan 2 '13 at 6:29
    
"The Paste you are looking for does not currently exist.", maybe pastebin isn't the best place to store stuff long term. Might I suggest a gist instead? –  Intentss Feb 22 at 1:46
    
You're right @intentss, my configuration now is also available at: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , since user76204 answered it has just worked perfectly, I've integrated gpg in the solution, though –  chilicuil Feb 27 at 1:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.