如果要将邮件资料存下来,可以输入『 s ## filename 』,例如我要将上面第 10 封邮件存下来,可以输入『 s 10 text.txt 』即可将第一封邮件内容存成 text.txt 这个档案!
?
离开 mail: (输入 q 或 x )
要离开 mail 可以输入 q 或者是 x,请注意『输入 x 可以在不更动 mail box 的情况下离开 mail 程序,不管你刚刚有没有使用 d 删除数据;使用 q 才会将删除的数据移除。』也就是说,如果你不想更动 mail box 那就使用 x 或 exit 离开,如果想要使刚刚移除的动作生效,就要使用 q 啦! 请求协助:
关于 mail 更详细的用法可以输入 help 就可以显现目前的 mail 所有功能!
?
上面是简易的 mail 收信功能!不过,我们曾经将信件转存下来的话,那该如何读取该信件呢?例如读取刚刚记录的 text.txt 邮件信箱。其实可以简单的使用这个方式来读取: [dmtsai@www ~]$ mail -f ~/text.txt ?
以『附件夹带』的方式寄信
前面提到的都是信件的内容,那么有没有可能以『附件』的方式来传递档案?是可以的,不过你需要 uuencode 这个指令的帮忙,在 CentOS 当中这个指令属于 sharutils ,请先利用 yum 来安装他吧!接下来你可以这样使用: [root@www ~]# [利用 uuencode 编码 ] | [利用 mail 寄出去] [root@www ~]# uuencode [实际档案] [信件中的檔名] | mail -s '标题' email # 1. 将 /etc/hosts 以附件夹带的方式寄给 dmtsai [root@www ~]# uuencode /etc/hosts myhosts | mail -s 'test encode' dmtsai 这样就能寄出去了,不过,如果收下这封信件呢?同样的我们得要透过译码器来解碼啊! 你得先将该档案存下来,然后这样做: # 底下的身份可是 dmtsai 这个用户喔! [dmtsai@www ~]$ mail Heirloom Mail version 12.4 7/29/08. Type ? for help. \ 1 dmtsai@www.centos.vb Mon Aug 8 18:53 19/590 \....(中间省略).... U 10 root Tue Aug 9 15:04 30/755 \>N 11 root Tue Aug 9 15:12 29/1121 \& s 11 test_encode \& exit [dmtsai@www ~]$ uudecode test_encode -o decode 加密檔 输出档 [dmtsai@www ~]$ ll *code* -rw-r--r--. 1 dmtsai dmtsai 380 Aug 9 15:15 decode <==译码后的正确数据 -rw-rw-r--. 1 dmtsai dmtsai 1121 Aug 9 15:13 test_encode <==内文会有乱码 虽然 mail 这个指令不是挺好用的,不过至少他可以提供我们在 Linux 纯文本模式下的一个简单的收发信件功能! 不过,目前有个更棒的替代方案,那就是 mutt 这玩意儿啰!
22.4.2 Linux mutt
mutt 除了可以仿真 mail 这个指令之外,他还能够透过 pop3/imap 之类的协议去读取外部的信件喔!所以这家伙真的很不赖! 让我们来玩玩 mutt 这个好物吧!在开始底下的动作前,请使用 yum install mutt 安装好它吧!
?
直接以 mutt 进行寄送信件的动作:含快速附件夹带文件
mutt 的功能也很多,我们先来看看 mutt 的基本语法好了,再来开始进行练习吧! [root@www ~]# mutt [-a 附加檔] [-i 内文档] [-b 秘密副本] [-c 一般副本] \\ > [-s 信件标题] email地址 选项与参数: -a 附加檔:后面就是你想要传送给朋友的档案,是附加档案,不是信件内容喔! -i 内文档:就是信件的内文部分,先编写成为档案而已; -b 秘密副本:原收件者不知道这封信还会寄给后面的那个秘密副本收件者; -c 一般副本:原收件者会看到这封信还有传给哪位收件者; -s 信件标题:这还需要解释吗?这封信的标头! email地址:就是原收件者的 email 啰! # 1. 直接在线编写信件,然后寄给 dmtsai@www.centos.vbird 这个用户 [root@www ~]# mutt -s '一封测试信' dmtsai@www.centos.vbird /root/Mail 不存在。建立吗? ([yes]/no): y <==第一次用才会出现这个讯息 To: dmtsai@www.centos.vbird Subject: 一封测试信 随便写写!随便看看~! <==会进入 vi 画面编辑!很棒! y:寄出 q:中断 t:To c:CC s:Subj a:附加档案 d:叙述 ?:求助 <==按下 y 寄出 From: root
? ? ?
『 -a filename 』这个选项必须是在指令的最后面,如果上述的指令改写成:『 mutt -a /usr/bin/passwd -s \附件\』就不行!会失败的! 在文件名与 email 地址之间需要加上两个连续减号『 -- 』才行!如同上面测试的指令模样!
以 mutt 来读不同通讯协议的信箱
与 mail 比较之下,mutt 可以直接透过网络的 pop3, imap 等通讯协议来读信,是相当优秀的一个功能呦! 至少鸟哥觉得真好用!底下同样的,先来瞧瞧可以使用的语法,然后再来看看一些练习。
[root@www ~]# mutt [-f 信箱位置] 选项与参数: -f 信箱位置:如果是 imaps 的信箱,可以这样:『 -f imaps://服务器的IP 』 # 1. 直接用 dmtsai 的身份读取本机的信箱内容: [dmtsai@www ~]$ mutt q:离开 d:删除 u:反删除 s:储存 m:信件 r:回复 g:群组 ?:求助 ....(中间省略).... 11 O + Aug 09 root ( 12) test encode 12 O + Aug 09 root ( 1) 一封测试信 13 O + Aug 09 root ( 8) hosts 14 O + Aug 09 root ( 604) 附件 ---Mutt: /var/spool/mail/dmtsai [Msgs:14 Old:11 74K]---(date/date)-------(all)-- # 2. 在上面的信件 14 号内容反白后,直接按下 Enter 会出现如下画面!: i:离开 -:上一页