发邮件之Mutt详解

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
8 set realname="itdhz"
  安装完mutt后,在/usr/share/doc/mutt*下有一份很好的手册,可以看一下。

  三、邮件发送

  语 法:

  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 [email protected] "itdhz数据备份" -a/home/backup/itdhz.sql
2 或者
3 echo "test" | [email protected] -s "itdhz数据备份" -a/home/backup/itdhz.sql

  这段代码表示,发送邮件到 [email protected] 这个邮箱,邮件主题是“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 的尾部】然后重新登陆控制台就没有这个讨厌的提示了。

你可能感兴趣的:(Shell脚本札记)