常见的收发邮件的工具有mail命令、mutt命令、windows上的foxmail工具
mail软件
软件名:mailx-12.4-6.el6.x86_64
一份邮件包含有:发件人、收件人、邮件主题、邮件正文(body)、邮件附件等
发邮件的操作:
- 发给本机的用户,在编写正文的时候,正文结束用.或者ctrl+d来结束
mail root
[root@centos6 ~]# mail root
Subject: test
this is a test mail
.
EOT
[root@centos6 ~]#
-s参数指定了邮件的subject内容,邮件的正文结束以.或者ctrl+D来结束
[root@centos6 ~]# mail -s test root
this is a second mail
.
EOT
[root@centos6 ~]#
- 发给外部邮箱
mail 12345@163.com
其中,12345为服务器上的账户,163.com为服务器的名称,当然也可以是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 ~]# mail
Heirloom 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"
&
邮件内容
& 1
Message 1:
From root@centos6 Tue Aug 30 11:53:42 2022
Return-Path: <root@centos6>
From: root <root@centos6>
Date: Tue, 30 Aug 2022 11:53:41 +0800
To: root@centos6
Subject: /etc/hosts
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
Status: R
begin 644 myhosts
M,3(W+C`N,"XQ("`@;&]C86QH;W-T(&QO8V%L:&]S="YL;V-A;&1O;6%I;B!L
M;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!L
H;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.localdomain6
172.16.0.131 centos6
[root@centos6 ~]#
收邮件操作
其实就是利用mailx命令将/var/spool/mail下的用户邮件读取展示出来
mail命令的界面说明
[root@centos6 ~]# mail
Heirloom 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 1.cn.pool.ntp.org && /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是取消之前的删除动作退出
邮件内容
& 2
Message 2:
From root@centos6 Tue Aug 30 11:38:36 2022
Return-Path: <root@centos6>
From: root <root@centos6>
Date: Tue, 30 Aug 2022 11:38:30 +0800
To: root@centos6
Subject: test
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
Status: R
this is a test mail
&