mutt
“All mail clients suck. This one just sucks less”
Mutt is a small but very powerful text-based MIME mail client. Mutt is highly configurable, and is well suited to the mail power user with advanced features like key bindings, keyboard macros, mail threading, regular expression searches and a powerful pattern matching language for selecting groups of messages.
安装组建
完全搬家
sudo apt install mutt msmtp gnutls-bin
sudo apt install fetchmail procmail
如需要对TLS/SSL的支持,还需要安装 GnuTLS 或者 OpenSSL,官方推荐 GnuTLS (https://help.ubuntu.com/community/GnuTLS):
sudo apt-get install gnutls-bin
msmtp 有 3 中工作模式:
- Sendmail mode (default)
- Server information mode
- Remote Message Queue Starting mode
对于发送邮件来说,使用 Sendmail mode (default) 就可以了:(In the default sendmail mode, msmtp reads a mail from standard input and sends it to an SMTP server for delivery.)
配置 msmtp
安装完后,编辑 msmtp
配置文件 ~/.msmtprc
(如没有,新建一个 vim .msmtprc,,并且新建 vim .msmtp.log)
defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account default
host smtp.qq.com
port 587
auth on
user cumtlp@qq.com
password awxyhypzuegpcgnqgqucbac
from cumtlp@qq.com
logfile ~/.msmtp.log
发送邮件默认是 25 端口, qq邮箱是 587,这里密码是明文,保存后,修改访问权限, chmod 600 .msmtprc.
# 查看邮箱服务器支持的auth模式
u@T470:~$ msmtp --host=smtp.qq.com --port 587 --serverinfo
SMTP server at smtp.qq.com ([183.3.225.42]), port 587:
newxmesmtplogicsvrszb3.qq.com XMail Esmtp QQ Mail Server.
Capabilities:
SIZE 73400320:
Maximum message size is 73400320 bytes = 70.00 MiB
PIPELINING:
Support for command grouping for faster transmission
STARTTLS:
Support for TLS encryption via the STARTTLS command
AUTH:
Supported authentication methods:
PLAIN LOGIN
This server might advertise more or other capabilities when TLS is active.
配置 mutt:
# 查看 msmtp 安装路径
$ which msmtp
/usr/bin/msmtp
编辑 mutt 配置文件 ~/.muttrc (如没有,vim .muttrc 新建)
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="pei.liu"
set from=cumtlp@qq.com
set envelope_from=yes
set editor="vim" # no test
后面就可以用 mutt 写邮件后通过 msmtp 发送了。
echo "test" |mutt -s "my_first_test" liupei@hpu.edu.cn
echo "hello" | mutt -s "title" 252578390@qq.com,zhenghong00@163.com -c 40271871@qq.com -a /tmp/ip.tmp
msmtp 是一款专门负责邮件发送的客户端软件,基于GPL发布,支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性。
其主页是 msmtp.sourceforge.net: Msmtp is an SMTP client with a sendmail compatible interface …,参考文献
Fetchmail配置:
sudo apt install fetchmail maildrop
vim .fetchmailrc
chmod 700 .fetchmailrc
poll smtp.qq.com with protocol imap
username "cumtlp@qq.com"
password "axwyyzegpcgnqgqucbac"
mda "/usr/bin/procmail -d %T" # 告诉 fetchmail 使用哪个 mda
no keep
Procmail配置:
sudo apt install procmail
vi .procmailrc
# .procmailrc 文件内容
VERBOSE=yes
DEFAULT=/var/spool/mail/qq208
MAILDIR=HOME/Mail
LOGFILE=HOME/.procmail.log
sudo touch /var/spool/mail/qq208 # qq208为存放邮件文件
sudo chown u /var/spool/mail/qq208
使用案例:
$ fetchmail –v #(进行邮件同步)
$ mutt #(就能看到收件箱邮件了)
q:退出,r:回复 #(根据提示操作即可)
# 发送1人:
$ echo “hello” | mutt -s “title” zhi.yang@ming.com
$ mutt –s “title” zhi.yang@ming.com < ~/aa.txt
# 发送多人:
$ echo “hello” | mutt -s “title” zhi.yang@ming.com zhi2.yang@ming.com
# 抄送邮件:
$ echo “hello” | mutt -s “title” zhi.yang@ming.com -c zhi2.yang@ming.com
# 密送邮件:
$ echo “hello” | mutt -s “title” zhi.yang@ming.com -b zhi2.yang@ming.com
# 发送附件:
$ echo “hello” | mutt -s “title” zhi.yang@ming.com -a ~/aa.txt
参考文献,后参考文献1,mutt详解,mutt(自动断行等)
邮件列表操作:
- 基本:
m
创建新邮件,r
回复当前邮件,q
:Quit,s
:将邮件移动至指定文件夹,?
:帮助 - 移动:
j/k
上下移动邮件, z/Z上下翻页,<Number>
跳至序号处(不进入邮件) <Enter>
打开选中的邮件/
在当前文件夹搜索d
将选中邮件标记为删除,N
将选中邮件标记为未读,$
让标记的东西生效,如删除、未读等f
转发选中邮件,e
编辑选中邮件c
切换文件夹(inbox/seen/draft等), 然后按 TAB
在邮件中的操作:
j/k
上一封/下一封邮件,<Space>
: 向下翻页,<Enter>
: 向下滚动e
编辑当前邮件,t
编辑TO,c
编辑CC,b
编辑BCC,y
发送邮件,a
添加附件,Return查看附件,E编辑附件,D删除附件
邮件提醒
工具:xfce4-mailwatch
#apt-get install xfce4-mailwatch-plugin
添加本地 mbox,mbox文件名:mail/inbox
Run on Click: 填thunderbird
Run on New Messages:填 notify-send "New Mail" "You have new messages in your inbox " -i xfce-newmail
一键搬家
仅发件
搬家
rsync -avz tx:.mail .
rsync -avz tx:.muttrc .
rsync -avz tx:.msmtprc .
完全搬家
rsync -avz tx:.mail .
rsync -avz tx:.muttrc .
rsync -avz tx:.msmtprc .
rsync -avz tx:.fetchmail .
rsync -avz tx:.procmail .
服务器用户登陆提醒
使用root账户为所有用户安装程序
su -
ubuntu:apt install mutt msmtp gnutls-bin
vim /etc/profile
“
增加以下内容
#获取登陆账户
user=USER
#获取登陆时间
time=(date +%F%t%k:%M)
#获取登陆ip
ip=(who |cut -d '(' -f2 | cut -d ')' -f1 |tail -n 1)
echo "用户user 在 time 用 ip=ip (位于 $address) 登陆本服务器 " | mutt -s "服务器登陆提醒" cumtlp@hpu.edu.cn
centos:yum install mutt msmtp gnutls
vim /etc/bashrc
“
增加以下内容
#获取登陆账户
user=USER
#获取登陆时间
time=(date +%F%t%k:%M)
#获取登陆ip
ip=(who |cut -d '(' -f2 | cut -d ')' -f1 |tail -n 1)
echo "用户user 在 time 用 ip=ip (位于 $address) 登陆本服务器 " | mutt -s "服务器登陆提醒" cumtlp@hpu.edu.cn
为每个用户配置收发信息
.muttrc
# 管理邮件
# setting: chmod 600 .muttrc
#
### 发信设置
set sendmail="/usr/bin/msmtp" # 发信程序msmtp位置,which msmtp获得
set realname="hky" # 真名
set from=liupei@hnhky.cn # 默认发信邮箱
set use_from=yes # 生成发信地址,默认
set include # 发信包含原文
set indent_str=">" # 回信的引文插入的符号
set ispell="/usr/bin/aspell" # 英文拼写检查
set editor="vim"
#自动断行字符数,在vimrc中设置
#set tw=999999
### 信箱设置
set folder=HOME/.mail # 所有信件所在目录
set mbox_type=mbox # 如何存储已读邮件,共4个选项
set mbox=folder/inbox # 收件箱文件
set spoolfile=folder/inbox # 启动mutt后默认显示的信箱文件
set record="folder/send" # 发件箱
set sort=reverse-date # 可以是 date-sent,date-received,from,score,size,..
auto_view text/html # 允许直接通过 .mailcap 浏览的
alternative_order text/enriched text/plain text/html # save html for last
set rfc2047_parameters=yes # 中文附件乱码
set pager_stop # 翻页不自动到下一封
set nomark_old # 未读不标旧
set fast_reply # 回复不需要输入地址和主题
#每行设置一项,两个颜色分别是前景色和背景色
color normal white black
color attachment brightyellow black
color hdrdefault cyan black
color indicator black cyan
color markers brightred black
color quoted green black
color signature cyan black
color status brightgreen blue
color tilde blue black
color tree red black
color header brightgreen black ^From:
color header brightcyan black ^To:
color header brightcyan black ^Reply-To:
color header brightcyan black ^Cc:
color header brightgreen black ^Subject:
color index brightyellow black ~N
.msmtprc
# smtp of mail server
defaults
logfile ~/.mail/.msmtp.log
tls on
tls_starttls off
tls_trust_file /etc/ssl/certs/ca-bundle.crt
# 地址为 hnhky 的邮箱
account default
host smtp.exmail.qq.com
port 465
auth on
from 10460@hnhky.cn
user l0460@hnhky.cn
password yourpassword
.mail文件夹
mkdir .mail && touch send list.addr
修改权限
chown $USER -R .muttrc .msmtprc .mail
chgrp $USER -R .muttrc .msmtprc .mail
发送出现错误(msmtp: cannot locate host)
在/etc/hosts中添加IP, HOSTNAME信息
120.241.186.196 smtp.qq.com
加入如上信息后,发送邮件正常
参考文献:cizhiyou2391
evolution邮箱
安装
sudo apt install evolution evolution-ews
配置
- 此处需要输入你的邮箱收发邮件时显示的名字,以及你的邮箱地址,务必取消勾选下方的“根据输入的电子邮件地址搜寻邮件服务器详情.
- 将最上方一行的服务器类型改为Exchange网络服务。如果evolution-ews组件没有正确安装,这里会找不到它;Exchange网络服务在默认的IMAP+的上面一行,所以如果此窗口在屏幕上沿,有可能看不到Exchange网络服务这行字
- 在Configuration中的Username行填入用户名,微软的Hotmail应该是填写包括@hotmail.com在内的全部邮件地址
- 填写好Username
点击主机URL输入框右侧的获取URL,将有可能弹出密码输入框,请在此处输入邮箱密码。如果能够成功连接到邮箱,则将会获取到一个如下格式的信息
- 主机URL
- https://outlook.office365.com/EWS/Exchange.asmx
- OAB URL
如果获取不到,则需要检查Username、密码是否正确,并确认邮件服务器确实有Exchange方式。
- 获取到URL后可以 直接点击下一步。根据我的测试,至少微软的Live邮箱不能点击Authentication内的检查支持的类型。点击后获取的支持类型反而不能正常工作。如果你的邮箱配置完成后不能正常工作,可以考虑修改此处的设置。
- 其他设置请便宜行事。此处仅仅需要确认服务器类型为 ews 即可,服务器、用户名、安全等信息为空也没有关系. 点击应用即可。
把Evolution配置为Outlook风格
- 菜单-查看-预览-竖直视图
- 选中你邮箱的收件箱,在收件箱首个邮件的上方标题栏点击右键-排序方式-按日期
- 重复上一步,在收件箱首个邮件的上方标题栏点击右键-降序排列
参考文献:渔蓬
outlook,hotmail 邮箱设置(here),客户端设置
SMTP 服务器名称smtp.office365.com
SMTP 端口 587
SMTP 加密方法 STARTTLS
IMAP 服务器名称outlook.office365.com
IMAP 端口 993
IMAP 加密方法TLS
POP 服务器名称outlook.office365.com
POP 端口 995
POP 加密方法 TLS
Evolution无法发送邮件问题(here)