邮箱网 0条评论 4889次浏览 2021年04月25日 星期日 10:12
邮箱网讯 4月25日消息 Sendmail是一种广泛采用的邮件传输代理程序(Mail Transport Agent,MTA),邮件传输代理程序负责把邮件从一台计算机发送到另一台计算机。Sendmail并不提供邮件阅读功能,而是运行在后台的、用于把邮件通过Internet发送到目的地的服务器程序。
Linux平台中,有许多邮件服务器可供选择,但目前使用较多的是Sendmail服务器、 Postfix服务器和Qmail服务器
Sendmail是一个很优秀的邮件服务软件。几乎所有Linux的缺省配置中都内置了这个软件,只需要设置好操作系统,它就能立即运转起来。
Postfix是一个由IBM资助下由Wietse Venema 负责开发的一个自由软件工程产物,它的目的就是为用户提供除Sendmail之外的邮件服务器选择
Qmail是有Dan Bernstein开发的可以自由下载邮件服务器软件。
本节将介绍Sendmail邮件服务器的安装与配置。
1、Sendmail的安装
系统默认只安装了Sendmail的一些组件,需要自己重新安装。使用YUM方式进行安装。
当sendmail安装完成后,就可以正常启动邮件服务器了,sendmail的启动方式如下所示:
#systemctl start sendmail.servic \启动Sendmail
#systemctl restart sendmail.servic \重启Sendmail
2、配置Sendmail服务器
(1)Sendmail所需的软件与软件结构
Sendmail,使用端口为25(smtp),后台进程为Sendmail。Sendmail至少需要下面几个软件才行。
◆Sendmail 提供主要的Sendmail程序与配置文件
◆sendmail-cf 提供sendmail.cf这个配置文件的默认整合数据
◆M4 辅助Sendmail将sendmail-cf的数据转成实际可用的配置文件
这3个软件存在着相关性,不过如果在安装的时候没有选择完整安装所有软件的话,sendmail-cf则可能没有被安装,所以建议自行利用rpm以及yum命令检查,并安装它。
几乎所有的Sendmail相关配置文件都在/etc/mail目录下,主要的配置文件基本上都有以下几个:
①/etc/mail/sendmail.cf
Sendmail的主配置文件,所有与Sendmail相关的配置都是靠它来完成的。但是这个配置文件的内容很复杂,所以建议不要随意改动这个文件,而是通过编辑简单的宏文件/etc/mail/sendmail.mc,并使用工具m4来生成sendmail.cf配置文件。
②/usr/share/sendmail-cf/cf/*.mc
这些文件是sendmail.cf配置文件的默认参数数据,由于提示过不要直接手动修改sendmail.cf,如果想要处理sendmail.cf时,就需要通过这个目录下的参数来事先准备设置数据。当然, 这些默认参数的数据文件必须通过m4工具来转换。
③/etc/mail/sendmail.mc(通过m4工具转换)
sendmail.mc宏应该定义了操作系统类型、文件位置、请求特征及邮件发送工具、用户列表等信息。在sendmail.mc中默认设定以dnl开头的行表示注释,即在编译宏文件时不会写入配置文件中。利用m4命令并通过指定的默认参数文件重建sendmail.cf时,就是通过这个宏文件来设置处理的。
④/etc/mail/local-host-names
MTA能否将邮件接收下来与这个配置文件有关。如果邮件服务器的名称有多个(xx.com.cn、yy.com.cn等),那么这多个名称都要写入这个文件中才行,否则将会造成例如aa@xx.com.cn可以接收邮件,而aa@yy.com.cn却不能接收邮件的现象,虽然这两个e-mail地址都是传送到同一台邮件服务器上,不过MTA能不能接收该地址的邮件是需要设置的。
⑤/etc/mail/access.db
该文件用来设置是否可以Relay或者是否接收邮件的数据库文件,是通过修改/etc/main/access生成。
⑥/etc/aliases.db
可用来创建电子邮件信箱别名,假设一用户账号为xx,他还想使用yy账号来接收邮件,此时不需要再建立一个yy的账号,直接在这个文件里设置一个别名,让寄给yy的邮件直接存放到xx的邮箱中。
(2)配置Sendmail
邮件服务器的IP地址为192.168.0.3,负责投递的域为amy.com。该局域网内部的DNS服务器为192.168.0.1,该DNS服务器负责amy.com域的域名解析工作。
sendmail.cf文件是Sendmail每次启动时要读取的配置文件,包含Sendmail启动时必须的信息,列出了所有重要文件的位置,指定了这些文件的默认权限,包含一些影响Sendmail行为的选项。如图11-3所示是sendmail.cf文件的内容,较为复杂,所以一般不修改这个文件,而是通过修改sendmail.mc文件,用m4工具来生成cf文件。
图11-3 sendmail.cf文件
用vi编辑器打开sendmail.mc文件,根据题目要求进行修改。找到如下所示内容
邮件服务器的需求是让其他client使用我们的服务器,我们要把127.0.0.1改成0.0.0.0,如下所示:
为了保证邮件服务器的稳定,找到如下所示内容
修改成自己的域名
sendmail.mc文件修改完毕后,保存退出。
通过vi编辑器打开local-host-names文件,在这个文件中加入你的IP地址能解析出来的所有域名:
图11-4 local-host-names文件
检查主机名字,邮件服务器的主机名字必须要规范FQDN((Fully Qualified Domain Name,完全合格域名/全称域名)形式,如下所示:
在/etc/hosts文件中加入ip地址与邮件服务器的映射关系,如下所示。
检查DNS设置/etc/resolv.conf是否存有DNS服务器的记录,如下所示。
图11-5 DNS服务器的正向解析文件
最后检查DNS服务器192.168.0.1是否有MX记录指向邮件服务器,如图11-5. 11-6所示,分别查看DNS服务器的正向解析文件及反向解析文件。
图11-6 DNS服务器的反向解析文件
使用M4工具,生成主配置文件sendmail.cf,如下所示:
生成以后,重新启动sendmail服务器:
查看邮件服务器占用端口25是否已经开始监听:
(3)测试sendmail
切换到user1用户,使用mail工具发送邮件给user:
subject是主题;回车后是内容,内容输入完成使用ctrl+d 结束;cc 是抄送,这里没有抄送,则直接回车。
然后我们切换到user用户检查是否收到邮件,这里使用mail命令来收邮件。这里需要注意的是,通过su命令切换用户时,需su – 用户名,-代表携带环境变量,如果没有-表示只是切换用户,但是环境变量还是之前用户的。
如上所示,已经收到了邮件。
N后面是编号,输入编号就可以查看对应序号的邮件,如下所示:
查看日志始终都是配置服务器的最好帮手,学会查看日志能节省许多时间。邮件服务器的日志保存在/var/log目录中,可使用如下命令查看所有的邮件服务的日志文件:
文件maillog为系统现在正在使用的服务日志,而maillog.1等后缀为数字的文件中存放的是旧的日志,系统一般会自动管理日志,不用管理员手动删除整理。查看maillog文件全部日志信息,可使用cat /var/log/maillog命令。
文章来源:王萌曼漫