建立基于linux的邮件服务器内容摘要:

interfaces = all ( 4) 设置可接收邮件的主机名称或域名 mydestination 参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时, postfix才会将该邮件接收下来。 例如,这里将该参数值设置为 $mydomain和 $myhostname,表明无论来信的收件人地址是 (其中, xxx 表示某用户的邮件 帐户 名 ),还是 , postfix 都会接收这些邮件。 mydestination = $myhostname, $mydomain ( 5) 设置可转发 (Relay)哪些网络的邮件 可以使用 myworks参数来设置。 可将该参数值设置为所信任的某台主机的 IP地址,也可设置为所信任的某个 IP 子网或多个 IP 子网 (用“,”或者“ ”分隔 )。 这里,将 myworks 参数值设置为,则表示这台邮件主机只转发子网 ,而拒绝为其他子网转发邮件。 myworks = ( 6) 设置可转发哪些网域的邮件 myworks 参数是针对邮件来源的 IP来设置的,而 relay_domains参数则是针对邮件来源的域名或主机名来设置的。 例如,将该参数值设置为 ,则表示任何由域 发来的邮件都会被认为是信任的, postfix 会自动对这些邮件进行转发。 现在 将该参数值设置为 $mydestination,实际包含了。 relay_domains = $mydestination ( 7) 重新启动 postfix 服务 使用命令 /etc/。 完成了上面的基本设置后,重新启动 postfix服务 后 ,这台 postfix邮件主机就基本准备好了。 但是目前它仅支持客户端发信,还不支持收信。 4. SMTP 认证的配置 Postfix默认不会对外开放转发功能,而仅对本机 (localhost)开放转发功能。 实际应 用中, 虽然 必须在 Postfix主配置文件中通过设置 myworks、 relay_domains参数来开放一些所信任的网段或网域, 但是,还必须 通过 SMTP 认证,对要求转发邮件的客户端进行用户身份 (用户帐户与密码 )验证。 只有通过了验证,才能接收该用户寄来的邮件并帮助转发。 目前,常用的 SMTP 认证机制是通过 Cyrus SASL 软件来实现的。 以下是实现使用 Cyrus SASL 软件实现 SMTP认证的具体方法。 ( 1) 检测 CyrusSASL 认证包的安装 Red Hat Enterprise Linux系统默认 将 安装 CyrusSASL认证包。 可查看 其 安装了什么版本。 图 表明默认安装的 CyrusSASL认证包 版本是 ( V2版)。 但相关程序还未安装完全。 图 检测 CyrusSASL安装情况 进一步运行下面的安装 CyrusSASL认证包 相关的程序: rpm ivh /mnt/cdrom/Server/ rpm ivh /mnt/cdrom/Server/ ( 2) CyrusSASL V2 的密码验证机制 默认情况下, CyrusSASL V2 版 使用 saslauthd这个守护进程进行密码认证,使用 saslauthd v命令可以 查看当前系统中的 CyrusSASL V2所支持的密码验证机制。 图 查看系统中的 CyrusSASL V2所支持的密码验证机制 使用 saslauthd v命令 的执行情况如图 ,说明了 当前可使用的密码验证方法有 getwent、kerberos pam、 rimap、 shadow 和 ldap。 现在采用 shadow 验证方法,也就是直接用 邮件服务器 Linux系统的 /etc/shadow文件中的用户 帐户 及密码进行验证。 因此,在配置文件 /etc/sysconfig/saslauthd中,应修改当前系统所采用的密码验证机制为 shadow,即 修改 /etc/sysconfig/saslauthd文件中的内容,将 默认的语句 MECH=pam 修改为 MECH=shadow。 修改后的结果如图。 图 采用 shadow验证 时 /etc/sysconfig/saslauthd文件内容 ( 3) 测试 CyrusSASL V2 的认证功能 由于 CyrusSASL V2版默认使用 saslauthd这个守护进程进行密码认证,因此需要使用下面的命令 :ps aux | grep saslauthd 来查看 saslauthd进程是否已经运行。 如果命令 ps aux | grep saslauthd 执行的结果 类似于图 ,表明 saslauthd进程已经 在 运行。 图 捕获正在运行的 saslauthd进程 如果没有发现 saslauthd进程,则可用下面的命令启动该进程并设置它开机自启动。 /etc/chkconfig saslauthd on 假定这个 Linux 邮件服务器系统 已有两个普通用户 teacher 和 student,密码分别是“ qwerty”和“ poiuyt”, 然后,可用 下 面的命令测试 saslauthd进程的认证功能。 测试 teacher账号认证的命令如下: /usr/sbin/testsaslauthd u teacher p 39。 qwerty39。 图 ,则表示 通过 teacher、 student账号和密码的认证,说明 saslauthd的认证功能已起作用。 图 使用 saslauthd的认证 teacher、 student账号和密码 ( 4) 设置 postfix 启用 SMTP 认证 要让 postfix启用 SMTP 认证,就必须对 postfix 的主配置文件 /etc/postfix/,添加有关 SMTP认证的设置 ,因此,在 /etc/postfix/ 内容。 图 添加 启用 SMTP认证 内容 在完成上述设置后,必须使用命令 /etc/,或使用 重新启动Postfix服务命令 /etc/, 重新启动 Postfix服务。 此外,由于当 Postfix要使用 SMTP认证时,会读取 /usr/lib/sasl2/,以确定所采用的认证方式,因此如果要使用 saslauthd 这个守护进程来进行密码认证,就必须确保/usr/lib/sasl2/ 这么一句 : pwcheck_method: saslauthd。 ( 5) 测试 postfix 是否启用了 SMTP 认证 经过上面的设置, Postfix 邮件服务器应该已具备了 SMTP 认证功能。 可 以 采用 Tel命令 , 连接到Postfix服务器端口 25来进行测试,测试过程如 图 ,测试时当然必须 先启动 postfix服务,再进行测试。 图 测试 Postfix是否启用了 SASL认证 图 的情况表明, 输入 ehlo命令向远程 ,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。