常用邮件协议
先了解一下常用的邮件协议:
- SMTP:全称“simple mail transmission protocol”,即简单邮件传输协议,仅用于传送邮件;
- POP3:全称“Post Office Procotol”,即邮局协议,仅用于接收邮件;
- IMAP4:全称“Internet Mail Access Procotol”,即互联网邮件访问协议,仅用于接收邮件,与 POP3 相似,但比 POP3 更强大;
电子邮件的工作模式
以 UserA 发送邮件给 UserB 为例:
- UserA 通过 MUA 发送邮件到他的 SMTP 服务器;
- UserA 的 SMTP 服务器通过网络传输到 UserB SMTP 服务器;
- UserB 的 SMTP 服务器投递邮件到 UserB 的邮桶;
- UserB 通过 MUA 连接 POP3 或 IMAP4 服务器检索 UserB 油桶;
- UserB 油桶返回邮件给 POP3 或 IMAP4 服务器;
- POP3 或 IMAP4 服务器继续将邮件返回给 MUA;
- UserB 用户通过 MUA 查看到邮件内容;
Linux上的邮件服务
介绍
在 Linux 主机内部有一些日常维护工作的结果需要通知给管理员,通知的方式就是使用邮件服务。
邮件服务在安装完 CentOS 系统后默认就会启动起来。
执行 ss -tnl
:
可以看到有一个监听 25 号端口的进程,该进程就是发送邮件的 SMTP 服务。
这个邮件服务只监听在 127.0.0.1
上,这意味着这个邮件服务的收发都只能在本机中进行。
默认在 CentOS 中的 /var/spool/mail
下存放着当前主机每个用户所接收到的邮件,类似邮筒,而每个邮筒默认是以单个文件的形式存在的,且命名与用户名相同。如:
[~]: ls /var/spool/mail/
root
如上则时 root 用户的邮筒,而 root 用户所收到的所有邮件都挤压式的存放在该文件中。
本机邮件的收发
在 Linux 主机本机收发邮件可使用 mail
命令来完成,常用格式如下:
mailx [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] to-addr . . .
-s subject:指定主题为 subject;
-a attachment:指定附件;
-c cc-addr:指定抄送地址;
-b bcc-addr:指定密送地址;
to-addr:目标地址
发送邮件
以给 root
用户发送邮件为例:
[~]: mail -s "Hello~" root@zzehost
Hello root!!!EOT
按
CTRL + D
提交并结束输入。
查看邮件
查看邮件直接执行 mail
命令即可,当前登录的用户是 root,所以查看的就是 root 用户收到的邮件,例:
执行后会进入到 mail
命令的提示符下,输入邮件的序号则可查看指定邮件的详情,例:
提示符下使用
q
退出。
还可通过输入重定向或管道指定要发送的内容,以将当前目录下mail.txt
文件内容作为邮件内容发送给 root 用户为例:
- 输入重定向:
mail -s hello root@zzehost < mail.txt
;- 管道:
cat mail.txt | mail -s hello root@zzehost
;
评论区