没有合适的资源?快使用搜索试试~ 我知道了~
linux下搭建邮件服务器.docx
6 下载量 25 浏览量
2022-10-25
17:28:28
上传
评论
收藏 832KB DOCX 举报
温馨提示
试读
30页
linux下搭建邮件服务器
资源推荐
资源详情
资源评论
编号:
时间:2021 年 x 月 x 日
书山有路勤为径,学海无涯苦作舟
页码:第 1 页 共 30 页
第 1 页 共 30 页
linux 下搭建邮件服务器
默认分类 2010-11-16 18:51:54 阅读 42 评论 0 字号:大中小 订阅
一、Sendmail 概述
sendmail 是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下,我
们把电子邮件程序分解成用户代理,传输代理和投递代理。 用户代理用来接受用户的指令,将用户的信件
传送至信件传输代理,如:outlook express、foxmail 等。而投递代理则从信件传输代理取得信件传送至最
终用户的邮箱,如:procmail。
当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试
图去寻找一个信件传输代理,把邮件提交给它。信件传输代理得到了邮件后,首先将它保存在自身的缓冲
队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理
服务器, 并且通过网络将邮件传送给它。对方的服务器接收到邮件之后,将其缓冲存储在本地,直到电子
邮件的接收者察看自己的电子信箱。
显然,邮件传输是从服务器到服务器的,而且每个用户必须拥有服务器上存储信息的空间(称为信
箱)才能接受邮件(发送邮件不受这个限制)。可以看到,一个邮件传输代理的主要工作是监视用户代理
的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件
缓冲或者 提交给最终投递程序。有许多的程序可以作为信件传输代理,但是 sendmail 是其中最重要的一
个,事实证明它可以支持数千甚至更多的用户,而且占用的系统资源相当少。不过,sendmail 的配置十分
复杂,因此,也有人使用另外的一些工具,如 qmail、postfix 等等。
当 sendmail 程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的服务
器,这是通过 DNS 服务实现的。例如一封邮件的目标地址是 tom@example.com,那么 sendmail 首先确
定这个地址是用户名(tom)+机器名(example.com)的格式,然后,通过查询 DNS 来确定需要把信件
投递给某个服务器。
DNS 数据中,与电子邮件相关的是 MX 记录,例如在 example.com 这个域的 DNS 数据文件中有如
下设置:
IN MX 10 mail
IN MX 20 mail1
mail IN A 202.99.11.120
mail1 IN A 202.99.11.121
显然,在 DNS 中说明 example.com 有两个信件交换(MX)服务器,于是,sendmail 试图将邮件发
送给两者之一。一般来说,排在前面的的 MX 服务器的优先级别比较高,因此服务 器将试图连接
mail.example.com 的 25 端口,试图将信件报文转发给它。如果成功,你的 smtp 服务器的任务就完成了,
在这以后的任务,将由 mail.example.com 来完成。在一般的情况下,mail 换器会自动把信件内容转交给目
标主机,不过,也存在这样的情况,目标主机(比如 example.com)可能并不存在,或者不执行 smtp 服
务,而是由其 mx 交换器来执行信件的管理,这时候,最终的信件将保存在 mx 机器上,直到用户来察看
它。
编号:
时间:2021 年 x 月 x 日
书山有路勤为径,学海无涯苦作舟
页码:第 2 页 共 30 页
第 2 页 共 30 页
如果 DNS 查询无法找出对某个地址的 MX 记录(通常因为对方没有信件交换主机),那么 sendmail
将是试图直接与来自邮件地址的主机对话并且发送邮件。
二、Sendmail 的配置文件
sendmail 安装完毕后,具有多个配置文件,所有文件都旋转在/etc/mail 目录下.其中主配置文件为
/etc/mail/sendmail.cf,与它存放在同一目录下的许多文件都具有重要功能,如下所示:
/etc/mail/access sendmail 访问数据库文件
/etc/aliases 邮箱别名
/etc/mail/local-host-names sendmail 接收邮件主机列表
/etc/mail/submit.cf /etc/mail/submit.mc sendmail 辅助配置文件
/etc/mail/mailertable 邮件分发列表
/etc/mail/virtusertable 虚拟用户和域列表
三、搭建 sendmail 服务器
1) Sendmail 服务器的网络配置:
服务器 IP 地址是 192.168.1.110;DNS 服务已经启动,并可以解析 example.com 域名;具体操作如
下图所示:
2) 安装 sendmail 所需软件:
sendmail 的主程序包 sendmail-8.13.8 默认已经安装
sendmail-cf 程序是为了以后使用 m4 命令生成 sendmail 的主配置文件
编号:
时间:2021 年 x 月 x 日
书山有路勤为径,学海无涯苦作舟
页码:第 3 页 共 30 页
第 3 页 共 30 页
dovecot 程序主要负责接收邮件,但该程序包与 mysql-5、perl-DBI 程序有依赖关系,所以安装该程
序包时也必须安装 mysql-t 和 perl-DBI。具体操作如下图所示:
Sendmail 所需软件安装完毕后,需要设置 sendmail 服务与 dovecot 服务开机时自动启动,具体操作
如下图所示:
3) 修改 sendmail 相关配置文件:
为了使本区域内部实现收发邮件,需要编辑/etc/mail/local-host-names 文件,并在该文件中添加本区
域的域名(本例中为 example.com)。具体操作如下图所示:
/etc/mail/local-host-names 文件的内容为:
由于 sendmail 主配置文件 sendmail.cf 文件的内容比较复杂,修改时的难度较大,所以我们可以先
修改/etc/mail/sendmail.mc 文件,然后再将该文件的内容导入到 sendmail.cf 文件。方法如下:
vim /etc/mail/sendmail.mc,将文件中的"Addr=127.0.0.1"修改为"Addr=邮件服务器 IP 地址"即可;然后再
使用 m4 sendmail.mc > sendmail.cf 命令将 sendmail.mc 的内容导入到 sendmail.cf 中。具体操作如下图
所示:
/etc/mail/sendmail.mc 源文件内容如下图所示:
编号:
时间:2021 年 x 月 x 日
书山有路勤为径,学海无涯苦作舟
页码:第 5 页 共 30 页
第 5 页 共 30 页
使用当前用户(root)给 tom 用户发邮件,邮件内容为"hello tom",邮件标题为"first mail"。并使用 tom
的身份登录邮箱,查看邮件是否存在。
发邮件使用以下命令:echo "邮件内容"|mail -s "邮件标题" 收件人
收邮件使用以下命令:mutt -f pop://用户名@邮件服务器地址
具体操作如下图所示:
打开邮箱后可以看到一封新邮件,如下图所示(邮件是发给 tom 用户的,标题为 first mail):
上图中输入回车后可以查看邮件内容,如下图所示:
剩余29页未读,继续阅读
资源评论
猫一样的女子245
- 粉丝: 93
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32使用HAL库实现USB组合设备之多路CDC源码+说明文档.zip
- 金融贸易项目springboot
- mybatis动态sqlSQL 映射 XML 文件是所有 sql 语句
- 基于基于STM32的智能家居系统源码+qt上位机源码.zip
- 深圳房地产资源数据报告
- 基于stm32的智能门禁系统源码+设计文档+演示视频.zip
- cef + chromium 完整源码支持h265和h264
- 基于SpringBoot的API管理平台源代码+数据库,以项目的形式管理API文档,可以进行API的编辑、测试、Mock等操作
- protobuf 3.11版本,静态编译
- 2023NOC创客智慧编程赛项真题图形化-选拔赛(有解析)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功