一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3470|回复: 0
收起左侧

在CentOS上安装邮局服务器Postfix 一个简单的 Postfix/Dovcot 电邮服务器

[复制链接]
发表于 2010-11-20 20:27 | 显示全部楼层 |阅读模式
Contents
  • 引言
  • 安装
  • 设置
    Postfix
    • Dovecot
    • 创建用户的信箱
    • 别名
  • 引导服务器
  • 总结
  • 连结



1. 引言
这篇文章的对像是希望设置一台基本邮件服务器的初学者。拥有基本系统管理知识会有帮助,而能够安装软件及编辑配置文件是必须的。这篇文章是针对 CentOS 5 所撰写的,但亦应该适用於更早版本。

一台邮件服务器的设置可以有很多不同的实例和组合(多至不能在此尽录),因此这篇文章为你作了一些基本的选择,例如我们将会采用的软件(postfix 及 dovecot)。其它选项则需要用户更改,例如你的网络地址及域名。虚拟网域或用户等高级选项已超越了这篇文章的范筹,因而不会在这里处理。

这篇文章采用 postfix 作为邮件传输代理(MTA),替换了 sendmail,CentOS 缺省的 MTA。dovecot 是用来容让用户通过 imap 或 pop 协议来访问他们的邮件。我们会假设域名是 example.com,它应该由读者更改,这可以是给一台正式邮件服务器用的真实域名,或者只是供内部邮件服务器用的虚构域名。我们假设实体的邮件服务器(主机)是 mail.example.com,并且位於 192.168.0.1 这个私人 IP 地址(这应该按读者的需要作出修改)。这台邮件服务器将会通过标准的系统帐户来提供邮件帐户,而用户将会利用他们的系统帐户及口令来访问他们的邮件。我们会假设有一位用户名叫 John Smith,它拥有一个名为 john 的系统帐户。

2. 安装
我们首先要做的事情就是安装所需的软件。最简单的做法就是在命令行上采用 yum:


yum install postfix dovecot system-switch-mail system-switch-mail-gnome
yum 应该会自动解决任何依赖性的需要。dovecot 依赖 mysql 及 perl,因此它们若未被安装在系统上,现在很可能便会。

3. 设置
接下来我们需要设置邮件服务器的各部份。

3.1. Postfix
postfix 的配置文件是存储在 /etc/postfix 之内。postfix 的两个主要配置文件是 master.cfmain.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 及 本地网域。

mydestination:这是可投递的网域(换言之,这台服务器是寄往这些网域的邮件的最终目的地)。

mynetworks:这是获信任可以通过服务器来发放或转发邮件的 IP 地址。当来自这些 IP 地址以外的用户尝试通过服务器发放邮件时,便会被拒绝。

relay_domains:这是本系统会把寄邮转件到的网域的清单。通过将它设置为空白,我们确保这台邮件服务器不会成为未受信任的网络的公开转发站。我们推荐读者在这里测试他们的系统并非一个公开的转发站:http://www.abuse.net/relay.html

home_mailbox:它设置信箱相对用户根目录的路径,以及指定要采用的信箱格式。postfix 同时支持 Maildir 及 mbox 格式,而我们鼓励读者阅读有关每个格式的优点。然而,在这篇文章内我们选用了 Maildir 格式(一个尾随的斜线代表 Maildir 格式。要指定 mbox 格式,读者需要采用 home_mailbox = Mailbox)。

3.2. Dovecot
dovecot 的配置文件位於 /etc/dovecot.conf。以下内容需要被添加、编辑或解除注释:


protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
pop3_uidl_format = %08Xu%08Xv
# Required on x86_64 kernels
login_process_size = 64
让我们再次查看每个选项:

protocols:它指定可供用户访问邮件的协议。dovecot 支持 imap(s) 及 pop3(s) ,你可应用部份或所有协议。

mail_location:它指定每位用户的信箱格式及位置。在这里我们采用 maildir 格式,而且每位用户的信箱是放在 ~/Maildir。配置文件内已经提供了 mbox 格式的样例。

pop3_uidl_format:这是用来修正 Outlook 2003 通过 pop3 访问信箱时出现的问题,因此加入它是很合理的(详情请参阅配置文件内的备注)。

login_process_size:CentOS 5.1 的发行注记声称「当 x86_64 内核上的 dovecot 组件升级至 CentOS 5.1 后,/etc/dovecot.conf 内必须加入 login_process_size = 64 这个参数」。32 位元的安装并不受影响,及不需要这个设置。

注:假如你通过 imap 或 pop3 与 dovecot 连接时出现任何问题,请查阅 dovecot.conf 配置文件内的 IMAP specific settingsPOP3 specific settings 部份有关权宜之计。它所备有的选项多数是关乎旧电邮客户端,以及针对微软 Outlook 和 Outlook Express 的权宜之计。

3.3. 创建用户的信箱
接著我们须要在每位用户的根目录内置立一个信箱及设置适的权限,因此以 john 这个用户为例:


mkdir /home/john/Maildir
chmod -R 700 /home/john/Maildir
3.4. 别名
我们快要完成了。我们已经为以 john 登录的 John Smith 用户创建了一个邮件帐户。他的电邮地址是 john@example.com 。然而,John 或许会希望通过 jsmith@example.com (或者其它别名)接收邮件。我们可以利用系统的别名文件(postfix 缺省使用 /etc/aliases)为 John 设置一个别名来达至这个目的。我们亦可以为其它用户加入别名,譬如我们可以在 /etc/aliases 加入以下内容,将 root 的电邮转发给 John:


# 要接收 root 的电邮的人
root:           john
# 用户别名
jsmith:         john
j.smith:        john

如果你在 postfix 运作时编辑别名文件来为用户设立新的别名,你必须执行 newaliases 这个指令来重建别名数据库。

4. 引导服务器
现在我们已经准备好引导新的邮件服务器。首先我们要告诉我们的系统以 postfix 取代缺省的 sendmail 作为 MTA。要这样做,执行 system-switch-mail 这个指令并选择 postfix 作为 MTA。这样便会安装 postfix 服务并将它设置在 runlevel 3、4、及 5 下自动引导。然后我们亦须设置 dovecot 在 runlevel 3、4、及 5 下自动引导,并引导这两个服务:


chkconfig --level 345 dovecot on
/etc/init.d/dovecot start
/etc/init.d/postfix start
此刻一切应该已在运作。你的邮件服务器不论是发送及接收内部的电邮,或是发送对外的电邮都应该没有问题。要在你的网域上接收外来的电邮,你必须在你的网域的 DNS 内设置 MX 记录(最理想是通过你的 ISP 额外设置一个 PTR rDNS 将你的网域映射至你的 IP 地址)。切勿忘记在你的 Linux 防火墙上根据你所执行的服务打开端口(SMTP 25;POP3 110;IMAP 143;IMAPS 993;POP3S 995),并在所有路由器上为这些端口启用转接功能。

如果你对 postfix 的 main.cf 配置文件作出任何改动,你可以选择重新引导 postfix 服务,或执行 postfix reload 这个指令来更新这些改动。

5. 总结
postfix 是一个非常强劲及多用途的邮件传输代理。在这篇文章内我们看见如何利用 postfix 及 dovecot 为一个网域设立一台应用系统帐户的基本邮件服务器。我们并未认真地探究 postfix 系统的性能,但盼望这里提供了一个基础让新用户能够创建在其上。

现在我们鼓励读者阅读相关的 postfix 规限指南

6. 连结
我们鼓励读者阅读 postfix 网站上收藏的大量 postfix 文件,及所包含的众多样例设置:

http://www.postfix.org/documentation.html

测试邮件服务器是否被设成公开转发站:

http://www.abuse.net/relay.html

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-30 17:54 , Processed in 0.057187 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表