这篇文章的对像是希望设置一 台基本邮件服务器的初学者。拥有基本系统管理知识会有帮助,而能够安装软件及编辑配置文件是必须的。这篇文章是针对 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 的系统帐户。
我们首先要做的事情就是安 装所需的软件。最简单的做法就是在命令行上采用 yum:
yum install postfix dovecot system-switch-mail system-switch-mail-gnome
yum 应该会自动解决任何依赖性的需要。dovecot 依赖 mysql 及 perl,因此它们若未被安装在系统上,现在很可能便会。
接下来我们需要设置邮件服 务器的各部份。
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 及 本地网域。
mydestination:这是可投递的网域(换言之,这台服务器是寄往这些网域 的邮件的最终目的地)。
mynetworks:这 是获信任可以通过服务器来发放或转发邮件的 IP 地址。当来自这些 IP 地址以外的用户尝试通过服务器发放邮件时,便会被拒绝。
relay_domains:这是本系统会把寄邮转件到的网域的清单。通过将它设 置为空白,我们确保这台邮件服务器不会成为未受信任的网络的公开转发站。我们推荐读者在这里测试他们的系统并非一个公开的转发站:http://www.abuse.net/relay.html
home_mailbox:它 设置信箱相对用户根目录的路径,以及指定要采用的信箱格式。postfix 同时支持 Maildir 及 mbox 格式,而我们鼓励读者阅读有关每个格式的优点。然而,在这篇文章内我们选用了 Maildir 格式(一个尾随的斜线代表 Maildir 格式。要指定 mbox 格式,读者需要采用 home_mailbox = Mailbox)。
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 settings 及 POP3 specific settings 部份有关权宜之计。它所备有的选项多数是关乎旧电邮客户端,以及针对微软 Outlook 和 Outlook Express 的权宜之计。
接著我们须要在每位用户的 根目录内置立一个信箱及设置适的权限,因此以 john 这个用户为例:
mkdir /home/john/Maildir chmod -R 700 /home/john/Maildir
我们快要完成了。我们已经 为以 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 这个指令来重建别名数据库。
现在我们已经准备好引导新 的邮件服务器。首先我们要告诉我们的系统以 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 这个指令来更新这些改动。
postfix 是一个非常强劲及多用途的邮件传输代理。在这篇文章内我们看见如何利用 postfix 及 dovecot 为一个网域设立一台应用系统帐户的基本邮件服务器。我们并未认真地探究 postfix 系统的性能,但盼望这里提供了一个基础让新用户能够创建在其上。
现在我们鼓励读者阅读相关的 postfix 规限指南。
我们鼓励读者阅读 postfix 网站上收藏的大量 postfix 文件,及所包含的众多样例设置:
http://www.postfix.org/documentation.html
测试邮件服务器是否被设成公开转发站:
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |