Linux命令学习—Mail 服务器

1.1、Mail 服务器的组成

1、电子邮局

2、电子邮件发送和接收系统

3、MUA(邮件用户代理)和 MTA(邮件传输代理)

1.2、Mail 系统相关协议

1、SMTP 协议 简单邮件传输协议

SMTP 协议使用 25 端口:

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件 的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议族,它帮助每台计算机在发送或中转信件 时找到下一个目的地。通过 SMTP 协议所指定的服务器,我们就可以把 E-mail 寄到收信人的服务器上了,整 个过程只要几分钟。SMTP 服务器则是遵循 SMTP 协议的发送邮件服务器,用来发送或中转你发出的电子邮件。

2、POP 协议 邮局协议

POP3 协议使用 110 端口

POP3 协议适用于不能时时在线的邮件用户。支持客户在服务器上租用信箱,然后利用 POP3 协议向服务器请 求下载,基于 TCP/IP 协议与客户端/服务端模型,POP3 的认证与邮件传送都采用明文

3、IMAP 协议 Internet 邮件访问协议

IMAP 协议 使用 143 端口

另一种从邮件服务器上获取邮件的协议,与 POP3 相比,支持在下载邮件前先行下载邮件头以预览邮件的 主题来源,基于 TCP/IP

POP 协议和 IMAP 协议的区别

IMAP 提供摘要预览的功能,可以使用户很方便的删除垃圾邮件,而不把垃圾邮件下载到本地。

1.3、sendmail 和 IMAP 包的检查与安装

1、rpm -qa |grep sendmail
2、rpm -qa |grep imap
3、rpm -qa |grep pop

1.4、Mail 服务器相关文件

1、mail 服务器的主目录

/etc/mail

2、mail 服务器的主配置文件

/etc/mail/sendmail.cf

3、mail 服务器的客户端文件

/etc/dovecot.conf

4、邮件服务器的启动/停止/重启

service sendmail start
service sendmail stop
service sendmail restart

1.5、编辑主配置文件/etc/mail/sendmail.cf

vi /etc/mail/sendmail.cf

将第 265 行的注释去掉

DaemonPortOptions=Port=smtp,addr=0.0.0.0,Name=MTA

启用邮件服务器功能

默认情况下,sendmail 服务器只侦听本地的连接,将 addr 字段修改为 0.0.0.0

1.6、编辑/etc/mail/local-host-names

对于服务器来说,要配置主机列表,来确定需要接收哪些邮件,不存在与列表中的主机名,将会拒绝接收。

1.7、访问控制设置(/etc/mail/access)

access 访问控制数据库用于定义接受或拒绝的邮件来源:

1、格式:

IP/域名 设定值

2、设定值:

36 / 45 OK 接收 email,即使被其它规则拒绝了

RELAY 允许通过该邮件主机 relay 的域。relay 意味着 OK

REJECT 拒绝 email 并显示内部通用的错误提示

DISCARD 安静地接收随后取消掉这封邮件

example:

huayu.com RELAY 允许为

huayu.com 的所有计算机中继邮件

200.200.200.0 RELAY 允许为 200.200.200.0 这个子网的所有机器中继邮件

3、配置好访问控制数据库文件后需要执行命令编译生成配置文件

cd /etc/mail
makemap hash access.db<access
service sendmail restart 

1.8、配置 Mail 服务器的客户端

1、编辑客户端配置文件/etc/dovecot.conf 允许 POP3 IMAP 等协议

vi /etc/dovecot.conf
第 17 行
protocols = imap imaps pop3 pop3s

2、重新启动客户端服务

service dovecot restart

1.9、进行 Mail 服务器的简单测试

1、使用 mail 命令进行邮件编写

格式:mail jake@huayu.com 
subject:邮件主题
编写邮件内容
使用
.
Cc:
来结束退出并发送

2、使用 mail 命令来查收邮件

mail -u jake 接收 jake 用户的邮件
列出邮件列表
使用编号来显示邮件内容
使用 exit 退出

1.10、配置 Mail 服务的 web 界面

配置 openwebmail 作为 Mail 服务器的 web 界面

1.10.1、安装 openwebmail 及其组件

openwebmail 及其组件不在系统安装光盘中
rpm -ivh perl-Text-lconv-1.4.2el4.rf.i386.rpm
rpm -ivh perl-suidperl-5.8.8-10.i386.rpm
rpm -ivh openwebmail2.52-1.rpm

1.10.2、配置 Openwebmail

cd /var/www/cgi-bin/openwebmai/

1、vi etc/defaults/dbm.conf

将第 30 -- 31 行修改为

dbm_ext .db
dbmopen_ext .db
dbmopen_haslock yes

2、openwebmail 的初始化

./openwebmail-tool.pl --init

3、添加 openwebmail 的域名服务器的和 smtp 服务器地

vi etc/defaults/openwebmail.conf
第 26 和第 27 行
domainnames www.huayu.com
smtpserver 200.200.200.1

4、更改语言和图标

vi etc/defaults/openwebmail.conf
第 273 行
default_language zh_CN.GB2312
第 294 行
default_iconset Cool3D.Chinese.Simplified


vi etc/openwebmail.conf 
第 62 行 
default_language zh_CN.GB2312
第 85 行
default_iconset Cool3D.Chinese.Simplified

1.10.3、配置 apache

配置 apache 简化用户登录网址内容

vi /etc/httpd/conf/httpd.conf
第 264 行
ServerName www.huayu.com:80 
最后添加
Alias /data /var/www/data
ScriptAlias /cgi-bin /var/www/cgi-bin
ScriptAlias / /var/www/cgi-bin/openwebmail/openwebmail.pl

重新启动服务

service sendmail restart
service httpd restart

使用 web 界面进行收发邮件测试

相关推荐
残念ing几秒前
【Linux】—简单实现一个shell(myshell)
linux·运维·服务器
山山而川粤7 分钟前
废品买卖回收管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
明月心9528 分钟前
linux mount nfs开机自动挂载远程目录
linux·运维·服务器
Ray550514 分钟前
bridge-multicast-igmpsnooping
linux·服务器·网络
TensorFlowGAN17 分钟前
华三预赛从零开始学习笔记(每日编辑,复习完为止)
笔记·学习·华三
黑客KKKing20 分钟前
网络安全-企业环境渗透2-wordpress任意文件读&&FFmpeg任意文件读
安全·web安全·ffmpeg
Mephisto.java28 分钟前
【大数据学习 | Spark-Core】RDD的缓存(cache and checkpoint)
大数据·学习·spark
库库的里昂40 分钟前
Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程
linux·运维·docker·开源
zmd-zk1 小时前
flink学习(3)——方法的使用—对流的处理(map,flatMap,filter)
java·大数据·开发语言·学习·flink·tensorflow
在下不上天1 小时前
flume-将日志采集到hdfs
大数据·linux·运维·hadoop·hdfs·flume