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

相关推荐
Guheyunyi5 分钟前
智慧停车管理系统:以科技重塑交通效率与体验
大数据·服务器·人工智能·科技·安全·生活
无奈笑天下8 分钟前
银河麒麟桌面OS使用分区编辑器将/backup分区删除并扩容至根分区参考教程
linux·数据库·经验分享·编辑器
秋刀鱼 ..8 分钟前
第七届国际科技创新学术交流大会暨机械工程与自动化国际学术会议(MEA 2025)
运维·人工智能·python·科技·机器人·自动化
盐焗西兰花2 小时前
鸿蒙学习实战之路 - 网络重连最佳实践
网络·学习·harmonyos
酒尘&6 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
冬夜戏雪6 小时前
【java学习日记】【2025.12.7】【7/60】
java·开发语言·学习
CheungChunChiu6 小时前
Linux 内核设备模型与驱动框架解析 ——以 rk-pcie 为例
linux·运维·ubuntu
姚不倒6 小时前
负载均衡的概念、策略以及两个核心组件 Nginx 和 Kube-proxy 的对比。
运维·nginx·云原生·kubernetes
wubba lubba dub dub7507 小时前
第二十八周 学习周报
学习
思成不止于此7 小时前
MySQL 查询实战(三):排序与综合练习
数据库·笔记·学习·mysql