本文介绍: 1.首先,需要安装系列rpm包,最好通过上述文章给出的几个rpm网站查找相应rpm安装,实在找不到就只能自己源码安装安装rpm主要为mutt + msmtp + procmail + fetchmail,在安装这些包时会依赖于gnutlsopenssllibsasl等几个包,具体看机器mutt可以看成是一个集成软件,具体介绍查看参考链接,总之mutt可以通过整合其他软件实现邮箱客户端功能,如发送邮件msmtp,以及接收邮件procmail及fetchmail。

一、背景

        在向 Linux kernel 社区提交patch补丁步骤总结(已验证成功)_kernel补丁-CSDN博客文章中提到如何kernel社区以及其他类似如qemulibvirt社区提交patch的详细步骤,但还有一点不足的是通过git sendemail这种方法基本是只能发送patch内容社区maintainer,如果patch问题需要后期继续和maintainer沟通,则会有很多不便,所以急切需要能在linux下也像windows端一样通过邮件客户端收发邮件这个linux下的邮箱软件就是mutt

        关于mutt其实看过很多文章,但总感觉配置步骤描述的不太清晰,也总不成功,后来工作中也是在同事的帮助下最终得以配成。本文由于本身就是邮箱配置说明,为确保大家不疑惑所以很多地方我直接使用的邮箱明文,还请大家看之忘之,只为学习配置mutt即可

        mutt可以看成是一个集成软件,具体介绍查看参考链接,总之mutt可以通过整合其他软件来实现邮箱客户功能,如发送邮件msmtp接收邮件的fetchmail以及过滤邮件的procmail。

        首先,请在windows下查阅自己邮箱的相关配置,一般图形化的软件都可以设置查看比如我的如下图可以看到关于收发使用协议服务器、以及端口号等。

时要保证,自己的邮箱设置中要开启IMAP和POP转发

二、配置步骤

1.首先,需要安装一系列rpm包,最好通过上述文章给出的几个rpm网站查找相应rpm包安装,实在找不到就只能自己源码安装,安装的rpm主要为mutt + msmtp + procmail + fetchmail,在安装这些包时会依赖于gnutlsopenssllibsasl等几个包,具体看机器

2.安装mutt + msmtp + procmail + fetchmail后 一般只会在/etc/xxx创建默认配置文件,但我们不同用户使用是~家目录下的配置文件,这些并不是自动创建的,所以需要我们手动创建配置文件。此处一次性给出四个软件的rc配置文件,具体功能后续再讲。

其中mutt配置文件(#cd ~, #vim .muttrc 手动创建,其余同样):

[root@localhost ~]# cat .muttrc
# General
set use_from=yes
set envelope_from=yes
set move=yes
set charset="utf-8"
set send_charset="utf-8"
auto_view text/html

#useful
set include=yes            # 回信时包含原文
set indent_str="> "        # 回信的引文之前插入符号 >
set check_new=yes              # 查是否有新邮件
set mail_check=60              # 每 60 分钟一次
set timeout=15
set sort=reverse-date-received            # 邮件按日期由近及远排列
set pager_index_lines=10                  # 看信时,在 index 留出多少显示邮件列表

# Account
set realname="JianChunfu"      #你的名字
set from="XXXXX@shingroup.cn"  #你的邮箱

# Mail
set mbox_type = Maildir             #Mail box type
set folder = "$HOME/Mail"
set spoolfile = "$HOME/Mail/inbox"  #INBOX
set mbox="$HOME/Mail/seen"          #Seen box
set record="$HOME/Mail/sent"        #Sent box
set postponed="$HOME/Mail/draft"    #Draft box

# Programs
set editor="vim"
set sendmail="/usr/bin/msmtp"  #借助msmtp实现发送,所以这个需要和msmtp位置保持一致
[root@localhost ~]#

配置发送邮件的.msmtprc

[root@localhost ~]# cat .msmtprc
defaults
logfile /var/log/msmtp.log

account jcf    #添加一个自己的账户,以下配置均属于该账户
auth login
host smtp.exmail.qq.com        #发件服务器
port 465
#protocol smtp
from xxxx@shingroup.cn        #邮箱账户
#user JianChunfu        /*此处按理说可以随意配置姓名,但实测时只有配置成邮箱用户名才发送成功*/
user xxxx@shingroup.cn        #邮箱用户名
password XXXXXXXXXX           #邮箱密码

tls on
tls_starttls off
tls_certcheck off
tls_force_sslv3 off

account default: jcf        #将jcf账户设置默认发件用户

配置收件的.fetchmailrc和.procmailrc

[root@localhost ~]# cat .fetchmailrc
#set daemon 60
#defaults
poll imap.exmail.qq.com    #收件服务器
    #protocol IMAP
    protocol POP3       #实测发现只有POP协议可以发送
    #port 993
    user "XXXXXXX@shingroup.cn"    #发件邮箱
    password "XXXXXXX"             #发件密码
mimedecode
mda "/usr/bin/procmail -d %T"        #使用procmail
[root@localhost ~]#
[root@localhost ~]# cat .procmailrc
MAILDIR=$HOME/Mail        #邮件存放总目录
DEFAULT=$MAILDIR/inbox
VERBOSE=off
LOGFILE=/tmp/procmaillog

:0:
inbox/
[root@localhost ~]#

3.配置字段的具体含义,最主要的均已注释,若想每个字段的含义可见参考链接(比如解决中文乱码),由于配置字段非常繁多,所以要想理解一个字段的含义只能去看手册

另外,配置中用到目录如~/Mail/xxx以及存放log的/var/log/msmtp.log文件均需手动创建,是的,就是这么的不智能。反正我的机器上安装rpm后都没自动配置。

三、测试问题解决

其实标准步骤来,应该是先安装msmtp和mutt,之后先测试发送,发送没问题了再安装fetchmail和procmail并配置好,最终测试接收。

1.测试msmtp发送

命令行如下二者任选(第一个发送给163邮箱测试,第二个自己自己测试):

echo “TEST测试test” | mutt -s “DT_ZABBIX_SERVER_TEST”     xxxx@163.com

echo -e “Subject: Test MailrnrnThis is a test mail” | msmtpdebug –from=xxx@shingroup.cn -t xxx@shingroup.cn

其实在这一步我一直报错授权失败,怎么也找不到原因最后参考别人的文章试着将.msmtprc配置文件中的user 从随意指定的名字 改成 邮箱名,最后发成功了。

windows查看自己的163邮箱,发现收到了邮件。

2. 测试收件

一开始可以先用mutt查看下自己的linux下的邮箱客户端,直接输入mutt命令即可

一开始应该是完全空白的。在mutt界面其实也有很多指令。如可以按?来得到命令提示,按m开始撰写并发送,G是手动收信,按r是回信,greply all等。

然后直接在windows使用163邮箱发送一封邮件给linux下配置的邮箱xxxx@shingroup.cn,此时回到linux下的mutt界面,直接按G来手动接收信件。(由于我还没有配置mutt自动收件,所以此时会报错POP host is not defined.,后期补充)

此时我们linux下先借助fetchmail来收取信件,同样地直接在命令行输入fecthmail即可

此时查看目录的Mail目录发现会多很多文件,那就是一封封邮件了。具体一次性收取多少都可以自行配置。

此时在重新进入mutt界面就发现终于有邮件了,而且可以找到我们在163邮箱发的那一封。

此时就可以通过mutt针对每一封邮件进行回复等操作了,mutt操作邮件的命令可以通过?查看进入到邮件本身的文本界面后就是vim一套指令操作

四、参考链接

Mutt 使用指南

The Mutt E-Mail Client

Linux部署msmtp+mutt发送邮件功能-腾讯云开发者社区-腾讯云

傻瓜式配置mutt-腾讯云开发者社区-腾讯云

配置mutt_51CTO博客_mutt

原文地址:https://blog.csdn.net/jcf147/article/details/131596080

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_30160.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注