RHCE 系列(九):如何使用无客户端配置 Postfix

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0220/152.html?1456382561

尽管现在有很多在线联系方式,电子邮件仍然是一个人传递信息给远在世界尽头或办公室里坐在我们旁边的另一个人的有效方式。

下面的图描述了电子邮件从发送者发出直到信息到达接收者收件箱的传递过程。

电子邮件如何工作

要实现这一切,背后发生了好多事情。为了使电子邮件信息从一个客户端应用程序(例如 Thunderbird、Outlook,或者 web 邮件服务,例如 Gmail 或 Yahoo 邮件)投递到一个邮件服务器,并从其投递到目标服务器并最终到目标接收人,每个服务器上都必须有 SMTP(简单邮件传输协议)服务。

这就是为什么我们要在这篇博文中介绍如何在 RHEL 7 中设置 SMTP 服务器,从本地用户发送的邮件(甚至发送到另外一个本地用户)被转发(forward)到一个中央邮件服务器以便于访问。

在这个考试的要求中这称为无客户端(null-client)安装。

在我们的测试环境中将包括一个起源(originating)邮件服务器和一个中央服务器或中继主机(relayhost)。

  • 起源邮件服务器: (主机名: box1.mydomain.com / IP: 192.168.0.18)
  • 中央邮件服务器: (主机名: mail.mydomain.com / IP: 192.168.0.20)#p#分页标题#e#

我们在两台机器中都会使用你熟知的 /etc/hosts 文件做名字解析:

192.168.0.18    box1.mydomain.com       box1
192.168.0.20    mail.mydomain.com       mail

安装 Postfix 和防火墙/SELinux 注意事项

首先,我们需要(在两台机器上):

1、 安装 Postfix:

# yum update && yum install postfix

2、 启动服务并启用开机自动启动:

# systemctl start postfix
# systemctl enable postfix

3、 允许邮件流量通过防火墙:

# firewall-cmd --permanent --add-service=smtp
# firewall-cmd --add-service=smtp

在防火墙中开通邮件服务器端口#p#分页标题#e#

4、 在 box1.mydomain.com 配置 Postfix

Postfix 的主要配置文件是 /etc/postfix/main.cf。这个文件本身是一个很大的文本文件,因为其中包含了解释程序设置的用途的注释。

为了简洁,我们只显示了需要编辑的行(没错,在起源服务器中你需要保留 mydestination 为空;否则邮件会被存储到本地,而不是我们实际想要发往的中央邮件服务器):

myhostname = box1.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = loopback-only
mydestination =
relayhost = 192.168.0.20

5、 在 mail.mydomain.com 配置 Postfix

myhostname = mail.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8

如果还没有设置,还要设置相关的 SELinux 布尔值永久为真:

# setsebool -P allow_postfix_local_write_mail_spool on

设置 Postfix SELinux 权限

上面的 SELinux 布尔值会允许中央服务器上的 Postfix 可以写入邮件池(mail spool)。#p#分页标题#e#

6、 在两台机子上重启服务以使更改生效:

  1. #systemctl restart postfix

如果 Postfix 没有正确启动,你可以使用下面的命令进行错误处理。

  1. #systemctl-l status postfix
  2. #journalctl-xn
  3. # postconf -n

测试 Postfix 邮件服务

要测试邮件服务器,你可以使用任何邮件用户代理(Mail User Agent,MUA),例如 mail 或 mutt。

由于我个人喜欢 mutt,我会在 box1 中使用它发送邮件给用户 tecmint,并把现有文件(mailbody.txt)作为信息内容:

  1. # mutt -s "Part 9-RHCE series" [email protected].com < mailbody.#p#分页标题#e#txt

测试 Postfix 邮件服务器

现在到中央邮件服务器(mail.mydomain.com)以 tecmint 用户登录,并检查是否收到了邮件:

  1. #su– tecmint
  2. # mail

检查 Postfix 邮件服务器发送

如果没有收到邮件,检查 root 用户的邮件池看看是否有警告或者错误提示。你也许需要使用 nmap 命令确保两台服务器运行了 SMTP 服务,并在中央邮件服务器中打开了 25 号端口:

  1. #nmap-PN 192.168.0.20

#p#分页标题#e#

Postfix 邮件服务器错误处理

总结

像本文中展示的设置邮件服务器和中继主机是每个系统管理员必须拥有的重要技能,也代表了理解和安装更复杂情景的基础,例如一个邮件服务器托管有多个邮件账户(甚至成百上千)的域名。

(请注意这种类型的设置需要有 DNS 服务器,这不在本文的介绍范围),但你可以参照下面的文章设置 DNS 服务器:

  • 在 CentOS/RHEL 07 上配置仅缓存的 DNS 服务器

最后,我强烈建议你熟悉 Postfix 的配置文件(main.cf)和这个程序的帮助手册。如果有任何疑问,别犹豫,使用下面的评论框或者我们的论坛 Linuxsay.com 告诉我们吧,你会从世界各地的 Linux 高手中获得几乎是及时的帮助。

时间: 2024-10-20 19:18:49

RHCE 系列(九):如何使用无客户端配置 Postfix的相关文章

SSL VPN的无客户端配置实验

实验目的:主要是通过在ASA防火墙做SSL VPN的无客户端模式,来使得公网上的一台客户机能够通过加密隧道来访问局域网内部的资源.拓扑比较简单,主要是原理,配置过程如下: ISP运营商的配置,只需要配置IP地址即可. ISP(config)#int fa0/0 ISP(config-if)#ip add 10.0.0.2 255.255.255.0 ISP(config-if)#no shut ISP(config)#int fa0/1 ISP(config-if)#ip add 20.0.0.

SSL VPN 无客户端配置

无客户端模式web访问 webvpn        //启用webvpn功能// enable outside   //调用到外部接口// username zhangsan password 123123  //配置用户名和密码// ----------------组策略------------------------------ group-policy gpolicy internal   //组策略定义在本地// group-policy gpolicy attributes //定义组

Exchange Server2013 系列九:常规配置

Exchange Server2013 系列九:常规配置(一) 杜飞 经过前面的部署之后,我们的客户端访问角色和邮箱服务器角色都已经实现了高可用,但目前还不能正常使用,需要对服务器进行常规的配置,主要包括以下工作: 1. 输入产品密钥 2.创建发送连接器 3.添加其他接受域及配置默认电子邮件地址策略 4.配置外部URL 5.配置内部URL 6.配置SSL证书 下面,就逐项来操作吧: 1.输入产品密钥: 安装 Exchange 2013 时,服务器默认许可为试用版.试用版在自安装之日起的 180

struts2官方 中文教程 系列九:Debugging Struts

介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截器.本文还讨论了如何设置日志级别以查看更多或更少的日志消息. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://www.cnblogs.com/linghaoxinpian/p/6916619.html 下载本章节代码 Configu

.net中使用ODP.net访问Oracle数据库(无客户端部署方法)

.net中使用ODP.net访问Oracle数据库(无客户端部署方法) 分类: c# database2012-01-05 15:34 6330人阅读 评论(1) 收藏 举报 oracle数据库.netcomponentsdll ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用. 以下内容转载自:http://blog.ywxyn.com/index.php/archives/326

基于DDD的现代ASP.NET开发框架--ABP系列之5、ABP启动配置

点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之5.ABP启动配置 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由 东莞-天道 提供翻译 译者注:在看这一节的内容之前,建议大家先下载module-zero这

Mvc4单点登录之三Cas 客户端配置

上一篇博客讲解了cas服务端的配置,这篇博客为大家讲一下cas 客户端的配置! 第一步建项目 自己新建一个mvc的项目.如图所示! 第二步添引用 将上一篇博客开头中让下载的文件,下载下来后,将dotnet-client-1.0.2-bin 文件中的 DotNetCasClient.dll文件复制到bin文件夹下,并添加DotNetCasClient.dll的引用. 第三步添视图 在Controller中 新建一个controller命名为HomeController,然后为里边的index添加一

RHCE系列之文件管理----硬链接和软链接

Linux 文件系统最重要的特点之一是它的文件链接. 链接是对文件的引用,这样你可以让文件在文件系统中多处被看到. 在 Linux 中,链接可以如同原始文件一样来对待.链接可以与普通的文件一样被执行.编辑和访问.对系统中的其它应用程序而言,链接就是它所对应的原始文件.当你通过链接对文件进行编辑时,你编辑的实际上就是原始文件.切记,链接并不是文件的副本. 在linux系统中,链接可分为两类:一类被称为硬链接(Hard Link),另一类被称为软链接或符号链接(Symbolic Link). 硬链接

CnetOS 6.6 rsync 的服务端和客户端配置

CentOS 6.6 rsync 的服务端和客户端配置 基本信息 系统版本 主机名 IP地址 角色 CentOS  6.6 backup 10.0.0.10 rsync服务端 CentOS  6.6 lamp01 10.0.0.8 rsync客户端 CentOS  6.6 lnmp02 10.0.0.9 rsync客户端 服务端配置 创建rsync配置文件,并写入配置内容(默认rsync文件是不存在的,需要创建) [[email protected] ~]# touch/etc/rsyncd.c