[mutt] Configure mutt to receive email via IMAP and send via SMTP
“All mail clients suck. This one [mutt] just sucks less.” Michael Elkins, ca. 1995
Actually I have tried a lot of desktop email clients (viz., Outlook, thunderbird, seamonkey, sylpheed, pine, alpine, claws email, kmail, evolution, opera) and in the long run they all starts sucking at the RAM. Now to be precise, I must tell you that it’s not a full-fledged mail-transfer agent (MTA), but rather a mail user agent (MUA), i.e. just an email client just like those previously mentioned.
Step 1: Create a password file, say ~/.secret/.passwd. Enter the passwords in it as follows and save the file (don’t worry, we’re going to encrypt it soon!):
GMail: passwd1
Yahoo: passwd2
Step 2: Now encrypt the file with your gpg key (refer to the previous post for details). Don’t forget to delete the unencrypted file.
$ cd ~/.secret
$ gpg -e .passwd -o .passwd.gpg
$ rm -f .passwd
Step 3a: back to the home direcotory and modify the ~/.muttrc file: (you may equivalently do the same in ~/.mutt/muttrc)
# Process the password files first
#-------------------------------------
set my_tmpsecret=`gpg -o ~/.secret/.tmp -d ~/.secret/.passwd.gpg`
set my_gpass=`awk '/GMail:/ {print $2}' ~/.secret/.tmp`
set my_ypass=`awk '/Yahoo:/ {print $2}' ~/.secret/.tmp`
set my_del=`rm -f ~/.secret/.tmp`
Note: All user-defined variable must start with “my_”.
Step 3b: Now set up mutt for IMAP: (let’s say for GMail)
set imap_user="gmail.username@gmail.com"
set imap_pass=$my_gpass
set folder="imaps://gmail.username@imap.gmail.com:993/"
set spoolfile="+INBOX"
set postponed="+[Gmail]/Drafts"
set record=+[Gmail]/"Sent Mail"
Step 3c: Now let’s say we want to use Yahoo’s SMTP service to send emails: here’s how to set it up in ~/.muttrc:
set smtp_pass=$my_ypass
set smtp_url = "smtp://smtp.yahoo.com:587" # using port 587 for TLS
set from="yahoo_username@yahoo.com"
set realname="Your Real_Name"
Step 3d: Set your favorite editor to compose emails next in ~/.muttrc (mine is vim, so….)
set editor='vim + -c "set textwidth=72" -c "set wrap" -c "set nocp" -c "?^$"'
Step 3e: Other necessary things to put in ~/.muttrc:
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
Step 3f: Now time for some pretty color: (add these too to ~/.muttrc)
|
1
2
3
4
5
6
7
8
|
color body brightyellow black (((ht|f)tps?)|mailto):(//)?[^\ "\t]*|www\.[-a-z0-9.]+)[^\ .,;\t>">]mono body bold (((ht|f)tps?)|mailto):(//)?[^\ "\t]*|www\.[-a-z0-9.]+)[^\ .,;\t>">]color body brightmagenta black "[-a-z_0-9.]+@[-a-z_0-9.]+"mono body bold "[-a-z_0-9.]+@[-a-z_0-9.]+"color body brightyellow black "^Good signature"mono body bold "^Good signature"color body brightwhite red "^Bad signature from.*"mono body bold "^Bad signature from.*" |
Step 3g: Some other customizations to put in ~/.muttrc:
set smart_wrap = yes
set sort = 'threads'
set sort_aux = 'last-date-received'
set imap_check_subscribed
#
ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
hdr_order Date From To Cc
#
set timeout=60 #Check for mail every minute
set mail_check=5
Step 3h: Now save the file in your home directory and make it readable by none but the current user (you of course!):
$ chmod 700 ~/.muttrc
Step 4:Next create the these two directories to save mutt related stuffs:
$ mkdir .mutt
$ mkdir .mutt/cache
Step 5:To render the HTML/etc messages correctly create another file ~/.mailcap with the following as its content make it readable by you only (use chmod as above)
text/html; lynx -dump %s ; copiousoutput
Change lynx to links/links2/elinks depending what you actually have on your system.
Things to do:I still cannot use multiple IMAP inboxes at a time — the account-hook / folder-hook does not seem to work. I need to spend some more time on it.
Here’s how to use multiple IMAP accounts in mutt.
References for this post: Crunchbang Linux site (my latest favorite distro!),muttrc builder, and mutt.org, of course. Another old reference from the days when mutt wouldn’t do SMTP. Also look at the references at the end of this wikipedia page. To build mutt from the source, refer to this.
References for to-do: Derkellerand mutt-users forum (from 2002!).
转自:https://nixtricks.wordpress.com/2010/05/05/mutt-configure-mutt-to-receive-email-via-imap-and-send-via-smtp/#comment-3098
[mutt] Configure mutt to receive email via IMAP and send via SMTP的更多相关文章
- VMWare虚拟机实例拷贝到另一台服务器后出现Error in the RPC receive loop: RpcIn: Unable to send.错误的解决
把一个VMWare虚拟机实例拷贝到另一台服务器后,在事件查看器中的应用程序日志中不断出现Error in the RPC receive loop: RpcIn: Unable to send.错误, ...
- 邮件发送失败问题:Sending the email to the following server failed : smtp.qiye.163.com:25
[邮件发送错误] : Sending the email to the following server failed : smtp.qiye.163.com:25, {}org.apache.com ...
- 解决Odoo出现的Unable to send email, please configure the sender's email address or alias.
这是由于当前登录用户的邮件地址信息缺失造成的,需要设置其邮件地址. 方法:使用创建该用户的管理员帐号登录系统,开启技术特性,在需要设置邮箱地址的用户界面点击相关的业务伙伴标签链接,如图所示:
- Powershell Mail module, 发送outbox 里的全部邮件(一个.csv文件代表一封邮件)
把creating mail代码写到调用处,往outbox写入 mailxxx.csv文件,入面记录了邮件的主要内容 写入 #template $TMP = IMPORT-CSV "$($d ...
- cetos6配置用msmtp和mutt发邮件(阿里云)
Linux下可以直接用mail命令发送邮件,但是发件人是user@servername,如果机器没有外网的dns,其他人就无法回复.此时,有一个可以使用网络免费邮箱服务的邮件发送程序就比较重要了.ms ...
- L05-Linux部署msmtp+mutt发送邮件
一.前言 首先,得明白发送一封邮件的流程,下面一段理论摘抄自廖雪峰的官网网站https://www.liaoxuefeng.com/article/00137387674890099a71c04005 ...
- 使用mutt+msmtp在Linux命令行界面下发邮件(续)
一年前写过一篇<使用mutt+msmtp在Linux命令行界面下发邮件>,但是最近想照着文中的办法解决新的问题时发现又有新的疑惑了,所以就有了今天这篇“续集”. 首先说说msmtp.如果你 ...
- Zabbix利用msmtp+mutt发送邮件报警
操作系统:CentOS 7 Web环境:Nginx+MySQL+PHP zabbix版本:zabbix-2.4.8.tar.gz 邮件服务:msmtp-1.4.32.tar.bz2 #http ...
- [svc]msmtp+mutt发附件,发邮件给多个人
环境:centos6.7 x86-64 内网有web服务器(curl可展示目录) #预安装软件 yum install lrzsz ntpdate sysstat dos2unix wget teln ...
随机推荐
- css中奇怪的地方
1.border-color 继承内部元素前景色(color:black.可能对元素本身没有效果) 2.border-style:none;//不仅样式没了,border-width也变为0 ...
- django notes 六:数据库 CRUD 操作
CRUD 也没什么可说的,django 提供了完善的 orm api, 直接用就行了. 我只贴几个列子,一看就明白了,自己再用用就熟了. # create b = Blog(name='Beatle ...
- TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文)
不多说,直接上干货! TortoiseGit的安装准备 首先你得安装windows下的msysgit. 安装版本控制器客户端TortoiseGit [不习惯英文的朋友,也可以下个语言包]. 下载地址: ...
- linux下的ps命令
ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不必要的程序.ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程 ...
- nginx 配置静态资源路径(url不同于static path)
目的 用nginx做静态资源代理可以减少请求对后台服务器的压力,使响应更加迅速. 配置 情景一 url : 127.0.0.1:8000/images ...
- 获取 python import模块的路径
import a_module print a_module.__file__ 上述代码将范围 .pyc 文件被加载的路径,如果需要跨平台解决方案,可用下面代码: import os path = o ...
- C#(winform)实现不同DPI控件自适应1
1. PicBox控件 顺便一提关键字:stretch [stretʃ] vt. 伸展,张开 //控制pictureBox图片的显示格式 this.picClose.BackgroundImageLa ...
- maven在pom文件中添加你想要的jar包
概述:POM 文件里面的依赖jar包经常需要添加, 仅需要在google中代码查找 :maven 你需的jar包名称 repository 用了Maven,所需的JAR包就不能再像往常一样,自己找到并 ...
- 关于Hall定理的学习
基本定义 \(Hall\) 定理是二分图匹配的相关定理 用于判断二分图是否存在完美匹配 存在完美匹配的二分图即满足最大匹配数为 \(min(|X|,|Y|)\) 的二分图,也就是至少有一边的点全部被匹 ...
- 获取访问MySQL的应用
接到业务需求,要我统计哪个应用访问了哪些表,一般来讲可以通过: 1.show full processlist; 2.SELECT HOST FROM information_schema.proce ...