linux / 办公 · 2021年 5月 20日 0

邮箱

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 中工作模式:

  1. Sendmail mode (default)
  2. Server information mode
  3. 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

参考文献后参考文献1mutt详解mutt(自动断行等)

邮件列表操作:

  1. 基本:m 创建新邮件, r 回复当前邮件,q :Quit, s:将邮件移动至指定文件夹, ?:帮助
  2. 移动:j/k 上下移动邮件, z/Z上下翻页, <Number> 跳至序号处(不进入邮件)
  3. <Enter> 打开选中的邮件
  4. / 在当前文件夹搜索
  5. d 将选中邮件标记为删除, N 将选中邮件标记为未读, $ 让标记的东西生效,如删除、未读等
  6. f 转发选中邮件, e 编辑选中邮件
  7. c 切换文件夹(inbox/seen/draft等), 然后按 TAB

在邮件中的操作:

  1. j/k 上一封/下一封邮件, <Space>: 向下翻页, <Enter>: 向下滚动
  2. 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

配置

  1. 此处需要输入你的邮箱收发邮件时显示的名字,以及你的邮箱地址,务必取消勾选下方的“根据输入的电子邮件地址搜寻邮件服务器详情.
  2. 将最上方一行的服务器类型改为Exchange网络服务。如果evolution-ews组件没有正确安装,这里会找不到它;Exchange网络服务在默认的IMAP+的上面一行,所以如果此窗口在屏幕上沿,有可能看不到Exchange网络服务这行字
  3. 在Configuration中的Username行填入用户名,微软的Hotmail应该是填写包括@hotmail.com在内的全部邮件地址
  4. 填写好Username

点击主机URL输入框右侧的获取URL,将有可能弹出密码输入框,请在此处输入邮箱密码。如果能够成功连接到邮箱,则将会获取到一个如下格式的信息

  1. 主机URL
  2. https://outlook.office365.com/EWS/Exchange.asmx
  3. OAB URL

如果获取不到,则需要检查Username、密码是否正确,并确认邮件服务器确实有Exchange方式。

  1. 获取到URL后可以 直接点击下一步。根据我的测试,至少微软的Live邮箱不能点击Authentication内的检查支持的类型。点击后获取的支持类型反而不能正常工作。如果你的邮箱配置完成后不能正常工作,可以考虑修改此处的设置。
  2. 其他设置请便宜行事。此处仅仅需要确认服务器类型为 ews 即可,服务器、用户名、安全等信息为空也没有关系. 点击应用即可。

把Evolution配置为Outlook风格

  1. 菜单-查看-预览-竖直视图
  2. 选中你邮箱的收件箱,在收件箱首个邮件的上方标题栏点击右键-排序方式-按日期
  3. 重复上一步,在收件箱首个邮件的上方标题栏点击右键-降序排列

参考文献:渔蓬

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

TOC