常见的收发邮件的工具有mail命令、mutt命令、windows上的foxmail工具
mail软件
软件名:mailx-12.4-6.el6.x86_64
一份邮件包含有:发件人、收件人、邮件主题、邮件正文(body)、邮件附件等
发邮件的操作:
发给本机的用户,在编写正文的时候,正文结束用.或者ctrl+d来结束
mail root
[root@centos6 ~]# mail rootSubject: testthis is a test mail.EOT[root@centos6 ~]# -s参数指定了邮件的subject内容,邮件的正文结束以.或者ctrl+D来结束[root@centos6 ~]# mail -s test rootthis is a second mail.EOT[root@centos6 ~]#
发给外部邮箱
mail 12345@
其中,12345为服务器上的账户,为服务器的名称,当然也可以是IP地址,但是这种方式已经发不出去
使用文件内容作为邮件的内容来发送
#将/home/oracle/.bash_profile内容发送给root用户的邮箱[root@centos6 ~]# mail -s "test3" root </home/oracle/.bash_profile[root@centos6 ~]#
发送附件
(1)安装发送附件所需要的编码和解码工具yum install -y sharutils(2)将附件进行编码然后发出,下面就是将/etc/hosts文件以附件的形式发送给root用户邮箱里,在邮件中,将该附件名显示为myhosts,邮件主题是"/etc/hosts"[root@centos6 ~]# uuencode /etc/hosts myhosts|mail -s "/etc/hosts" root[root@centos6 ~]# (3)查看邮件内容为加密的[root@centos6 ~]# mailHeirloom Mail version 12.4 7/29/08. Type ? for help."/var/spool/mail/root": 1 message 1 new>N 1 root Tue Aug 30 11:53 26/911 "/etc/hosts"& 邮件内容& 1Message 1:From root@centos6 Tue Aug 30 11:53:42 Return-Path: <root@centos6>From: root <root@centos6>Date: Tue, 30 Aug 11:53:41 +0800To: root@centos6Subject: /etc/hostsUser-Agent: Heirloom mailx 12.4 7/29/08Content-Type: text/plain; charset=us-asciiStatus: Rbegin 644 myhostsM,3(W+C`N,"XQ("`@;&]C86QH;W-T(&QO8V%L:&]S="YL;V-A;&1O;6%I;B!LM;V-A;&AO<W0T(&QO8V%L:&]S=#0N;&]C86QD;VUA:6XT"CHZ,2`@("`@("`@M(&QO8V%L:&]S="!L;V-A;&AO<W0N;&]C86QD;VUA:6X@;&]C86QH;W-T-B!LH;V-A;&AO<W0V+FQO8V%L9&]M86EN-@HQ-S(N,38N,"XQ,S$@9&<Q"@```end& (4)将邮件附件先保存在本地,然后用uuencode进行解码,-o参数指定了解码后的文件名,该文件就是附件& s 1 ./fujian[root@centos6 ~]# ls -l fujian -rw-r--r--. 1 root root 921 Aug 30 11:56 fujian[root@centos6 ~]# 将附件文件fujian保存在本地,然后解码出的文件名为decode[root@centos6 ~]# uudecode fujian -o decode[root@centos6 ~]# ls -l decode-rw-r--r--. 1 root root 175 Aug 30 11:57 decode[root@centos6 ~]# 查看解码后的附件内容,就是附件的内容[root@centos6 ~]# cat decode 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.16.0.131 centos6[root@centos6 ~]#
收邮件操作
其实就是利用mailx命令将/var/spool/mail下的用户邮件读取展示出来
mail命令的界面说明
[root@centos6 ~]# mailHeirloom Mail version 12.4 7/29/08. Type ? for help.#在这里显示了邮件来自于哪个邮箱,这里的/var/spool/mail/root文件里的邮件,总共有273个邮件,179个新的,270个未读U代表未读取,2代表邮件的编号,root代表邮箱账户 "test"代表邮件的主题1 Cron Daemon Tue Aug 30 11:38 24/974 "Cron <root@centos6> root (/usr/sbin/ntpdate . && /sbin/hwc"> 2 root Tue Aug 30 11:38 20/657 "test"其他说明:&为mail命令里的提示符,可以输入?来获取mail命令里的操作提示读取信件,是按下enter或者按下数字+enter来读取当前所指的信件是前面有>提示符,比如> 20 Cron Daemon 显示标题用h或者显示某个邮件编号附近的邮件用h number+enter回复>指向的邮件按下R删除邮件删除第2份邮件d2删除第2-10份邮件d2-10删除所有邮件 d*退出时候按下q将邮件另存为其他地方,因为在POP3协议中,收取邮件后,会从/var/spool/mail/user中删除掉,如果想保存,那么s 2 /home/oracle/oraclemail ,就是将第2份邮件存在了文件oraclemail中,如果要读取的话,那么就mail -f /home/oracle/oraclemail来读取或者直接cat这个文件退出mail命令q是将之前的删除动作执行后退出x或者exit是取消之前的删除动作退出
邮件内容
& 2Message 2:From root@centos6 Tue Aug 30 11:38:36 Return-Path: <root@centos6>From: root <root@centos6>Date: Tue, 30 Aug 11:38:30 +0800To: root@centos6Subject: testUser-Agent: Heirloom mailx 12.4 7/29/08Content-Type: text/plain; charset=us-asciiStatus: Rthis is a test mail&
如果觉得《linux mail工具收发邮件》对你有帮助,请点赞、收藏,并留下你的观点哦!