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 界面进行收发邮件测试

相关推荐
Dola_Pan2 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book2 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
weixin_455446172 小时前
Python学习的主要知识框架
开发语言·python·学习
prcyang2 小时前
Docker Compose
运维·docker·容器
脚踏实地的大梦想家2 小时前
【Docker】安装全流程与配置完整镜像源(可安装 nginx)
运维·docker·容器
城南云小白3 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
从心归零3 小时前
sshj使用代理连接服务器
java·服务器·sshj
咩咩大主教3 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
羌俊恩3 小时前
视频服务器:GB28181网络视频协议
服务器·网络·音视频
Zww08913 小时前
docker部署个人网页导航
运维·docker·容器