安装
yum install postfix dovecot yum remove sendmail
请注意,CentOS 5中的默认MTA 是sendmail。如果您不将默认MTA作为后缀,更新后缀可能会导致默认MTA恢复为sendmail。
配置
接下来,我们需要配置电子邮件服务器的各个部分。
Postfix
Postfix配置文件存储在 /etc/postfix 中。两个主要的postfix配置文件是master.cf 和 main.cf,虽然我们这里只处理 main.cf。首先,我们将对main.cf 配置文件进行一些添加或更改。应添加,编辑或取消注释以下行:
myhostname = mail.example.com mydomain = example.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname,localhost.$mydomain,localhost,$mydomain mynetworks = 192.168.0.0/24,127.0.0.0/8 relay_domains = home_mailbox = Maildir/
注意:每一行应从新行的开头开始,不应以空格或制表符开头。行开头的空格或制表符被视为前一行的延续,如果前一行是注释(#)行,则后续行也被视为这样。此外,应避免内联注释。
现在让我们看看每个设置项,以了解我们刚刚做了什么:
- myhostname:是系统的主机名(即系统名为mail或mail.example.com)。
- mydomain:是电子邮件服务器的域名(可以是真实或虚假的域名)。
- myorigin:是本地发布的电子邮件似乎来自并传递到的域名。
- inet_interfaces:设置Postfix可以接收邮件的网络接口。这些需要包括至少localhost和local.domain。
- mydestination:是要传递到的域名列表(即,此服务器是发送到这些域的电子邮件的最终目的地)。
- mynetworks:是可以通过服务器发送或中继邮件的可信IP地址列表。尝试通过源自此处未列出的IP地址的服务器发送电子邮件的用户将被拒绝。
- relay_domains:此系统将邮件中继到的目标域列表。通过将其设置为空白,我们确保我们的邮件服务器不会充当不受信任网络的开放中继。建议读者测试他们的系统在这里不是一个开放的中继:http://www.abuse.net/relay.html
- home_mailbox:设置邮箱相对于用户主目录的路径,还指定要使用的邮箱样式。Postfix支持Maildir和mbox格式,鼓励读者自己阅读每个格式的优点。但是,在本文中,我们选择使用Maildir格式(尾部斜杠表示Maildir格式。要指定mbox格式,读者将使用home_mailbox = Mailbox)。
创建用户邮箱
接下来,我们需要为其主目录中的每个用户创建一个邮箱并设置相应的权限,因此使用我们的示例用户john:
mkdir /home/john/Maildir chown john:john /home/john/Maildir chmod -R 700 /home/john/Maildir
注意:如果以root身份创建用户邮箱,则必须将目录的所有权设置为用户。
别名
我们差不多完成了。我们为我们的用户 John Smith 设置了一个电子邮件帐户,该帐户以john 身份登录。他的电子邮件地址是 john@example.com。但是,John 可能希望收到jsmith@example.com(或任何其他别名)的电子邮件。我们可以通过使用系统别名文件为John 设置别名来实现此目的(默认情况下,postfix使用 /etc/aliases )。我们还可以为其他用户添加别名,例如我们也可以通过将以下内容添加到/etc/aliases 来将 root 的电子邮件重定向到 John :
# Person who should get root's mail root: john # User aliases jsmith: john j.smith: john
如果在运行postfix
后编辑别名文件以为用户设置新别名,则必须通过运行newaliases
命令重建别名数据库。
启动服务器
我们现在准备启动新的电子邮件服务器。首先,我们需要告诉我们的系统使用 postfix 作为MTA而不是默认的 sendmail。为此,请运行 system-switch-mail 命令并选择 postfix作为MTA。这将安装后缀服务并将其设置为在运行级别3,4和5自动启动。接下来,我们需要将dovecot服务设置为也自动从运行级别3,4和5开始,并启动这两个服务:
chkconfig --level 345 dovecot on /etc/init.d/dovecot start /etc/init.d/postfix start
此时你应该启动并运行。您的电子邮件服务器在内部发送和接收电子邮件以及发送外部电子邮 要在您的域上接收外部电子邮件,您还需要在 DNS 中为您的域配置 MX 记录(理想情况下,还应通过您的ISP将IP地址映射到您的域来配置 PTR rDNS 条目)。不要忘记在Linux防火墙上打开任何所需的端口,具体取决于您运行的服务(SMTP 25; POP3 110; IMAP 143; IMAPS 993; POP3S 995),并为任何路由器上的端口启用端口转发。
如果对 postfix 配置文件 main.cf 进行任何更改,则可以重新启动 postfix 服务或运行 postfix reload
命令来更新更改。
总结
Postfix是一种功能强大且功能多样的邮件传输代理。在本文中,我们已经了解了如何使用postfix 和 dovecot为基于系统用户帐户的单个域实现基本电子邮件服务器。我们几乎没有涉及基于 postfix 的系统的真正功能,但希望能为新用户构建提供坚实的工作基础。