linux mutt详解
首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。
我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:http://www.mutt.org
一、mutt的安装
1 | yum -y install sendmail |
2 | #需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开 |
3 | yum -y install mutt |
二、配置信息
关于配置信息,有一点需要说明的,网上很多教程都说,编辑/root/.muttrc以修改配置文件,我想说的是,我在安装完成之后,/root目录下并没有 .muttrc 这个隐藏文件,你可以从其它地方复制过来,或者自己新建一个文件。这里我是复制的。
你可以通过find命令找到Muttrc这个文件,命令如下find / -name Muttrc ,然后通过命令 cp /etc/Muttrc /root/.muttrc 复制到 /root下后更名为 .muttrc ,然后你就可以编辑配置文件了。 1 | #如果你收到的邮件乱码,设置以下信息 |
2 | set charset= "utf-8" |
3 | set rfc2047_parameters= yes |
4 | #如果你想自定义发件人信息,需要进行如下设置 |
5 | set envelope_from= yes |
6 | set use_from= yes |
7 | set from=root@itdhz.com |
8 | set realname= "itdhz" |
三、邮件发送
语 法:
mutt[-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>][-s<主题>][邮件地址]
参 数:
-a <文件> 在邮件中加上附加文件。
-b <地址> 指定密件副本的收信人地址。
-c <地址> 指定副本的收信人地址。
-f <邮件文件> 指定要载入的邮件文件。
-F <配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
-h 显示帮助。
-H <邮件草稿> 将指定的邮件草稿送出。
-i <文件> 将指定文件插入邮件内文中。
-m <类型> 指定预设的邮件信箱类型。
-n 不要去读取程序培植文件(/etc/Muttrc)。
-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
-R 以只读的方式开启邮件文件。
-s <主题> 指定邮件的主题。
-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
-x 模拟mailx的编辑方式。
-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。
四、举例
这里我用自己备份网站的一段代码举例加以说明
1 | mutt 408160341@qq.com-s "itdhz数据备份" -a/home/backup/itdhz.sql |
2 | 或者 |
3 | echo "test" | mutt408160341@qq.com -s "itdhz数据备份" -a/home/backup/itdhz.sql |
这段代码表示,发送邮件到 408160341@qq.com 这个邮箱,邮件主题是“itdhz数据备份”,邮件内容在/root/readme.txt 中,邮件中包含附件/home/backup/itdhz.sql。如果要发送多个附件,需要在每个附件前加 -a 参数。
其它参考:http://www.ctex.org/documents/shredder/mutt_frame.html
问题描述:邮件箱在发送一段时间后会停止发送。分析原因:每发一次邮件都会将日志写入到/var/spool/mail/root中,
最终导致root文件过大而打不开。
问题解决:1、写一个定时脚本,周期性的清 理 /var/spool/mail/root 文件
2、修改一下/usr/share/logwatch/default.conf/logwatch.conf配置文件中的邮件信息就不会再收到信了
LogDir = /var/log
TmpDir = /var/cache/logwatch
MailTo = root
MailFrom = Logwatch
Print = No
Range = yesterday
Detail = Low
Service = All
把MailTo中的root设置为空,由于logwatch产生邮件就不会发送了
3、echo "unset MAILCHECK" >> /etc/profile 【把unset MAILCHECK加到文件/etc/profile 的尾部】然后重新登陆控制台就没有这个讨厌的提示了。