特殊:Badtitle/NS100:PostfixBasicSetupHowto/zh:修订间差异
小无编辑摘要 |
|||
第6行: | 第6行: | ||
= Postfix 基本设置指南 = | = Postfix 基本设置指南 = | ||
== | == 简介 == | ||
这份说明的目标是告诉你如何在企业环境下为Postfix邮件服务器作基本的设置。这份说明的主要目的是教会你进行Postfix邮件服务器的基本配置以使其拥有IMAP与POP3功能。但是,你无法在这份说明中学到在Postfix邮件服务器中集成像病毒过滤及垃圾邮件过滤等高级的功能的方法。 | 这份说明的目标是告诉你如何在企业环境下为Postfix邮件服务器作基本的设置。这份说明的主要目的是教会你进行Postfix邮件服务器的基本配置以使其拥有IMAP与POP3功能。但是,你无法在这份说明中学到在Postfix邮件服务器中集成像病毒过滤及垃圾邮件过滤等高级的功能的方法。 | ||
这份说明是针对刚开始使用Postfix的用户提供一个基础的认识。其它的高级指南是[:PostfixVirtualMailBoxClamSmtpHowto:Postfix - Postfix 虚拟邮箱和病毒过滤指南]以及[:PostfixCompleteVirtualMailSystemHowto:Postfix - Postfix 完整虚拟邮件系统指南]。如果你是一个 Postfix 的新手,但希望使用那些高级功能的话,你应当事先了解本说明。 | 这份说明是针对刚开始使用Postfix的用户提供一个基础的认识。其它的高级指南是[:PostfixVirtualMailBoxClamSmtpHowto:Postfix - Postfix 虚拟邮箱和病毒过滤指南]以及[:PostfixCompleteVirtualMailSystemHowto:Postfix - Postfix 完整虚拟邮件系统指南]。如果你是一个 Postfix 的新手,但希望使用那些高级功能的话,你应当事先了解本说明。 | ||
== | == 安装提示 == | ||
本指南提供的安装方法,Postfix通过网络来发送及接收邮件并将它们存入用户邮箱中,用户可以通过Courier IMAP 或者 POP3 服务器来回复他们的邮件。用户验证是由 Courier Authdaemon 这个守护进程来完成的。下面的图片表现了这个过程。 | 本指南提供的安装方法,Postfix通过网络来发送及接收邮件并将它们存入用户邮箱中,用户可以通过Courier IMAP 或者 POP3 服务器来回复他们的邮件。用户验证是由 Courier Authdaemon 这个守护进程来完成的。下面的图片表现了这个过程。 | ||
第24行: | 第18行: | ||
[[image:SetupOverview.jpg|center]] | [[image:SetupOverview.jpg|center]] | ||
== | == Postfix的结构 == | ||
=== | === 构件 === | ||
下面的图片展现了主要的Postfix系统组件,以及它们之间的关键信息流。 | 下面的图片展现了主要的Postfix系统组件,以及它们之间的关键信息流。 | ||
第34行: | 第26行: | ||
[[image:PostfixComponents.gif|center]] | [[image:PostfixComponents.gif|center]] | ||
* | * 黄色椭圆是邮件程序。 | ||
* | * 黄色方框是邮件队列或文件。 | ||
* | * 蓝色方框是查找表。 | ||
* | * 在大方框中运行的程序是由Postfix主驻留守护进程控制的。 | ||
* | * 大方框中的数字是Postfix邮件系统的属性。 | ||
=== | === 接收邮件 === | ||
当Postfix邮件服务器收到一封新消息的时候,它将首先被放入接收队列中。下面的图表展示了新邮件处理的主要组件。 | 当Postfix邮件服务器收到一封新消息的时候,它将首先被放入接收队列中。下面的图表展示了新邮件处理的主要组件。 | ||
[[image:PosfixRecieving.gif|center]] | [[image:PosfixRecieving.gif|center]] | ||
* 邮件是在本地发送的。Postfix[http://www.postfix.org/sendmail.1.html 邮件发送]程序将首先调用[http://www.postfix.org/postdrop.1.html 邮件丢弃]程序将邮件丢弃到“回收站”目录下,在那里,邮件又将被 [http://www.postfix.org/sendmail.1.html 邮件发送] 进程所处理。这个进程执行一些完整性检查,以保护Postfix邮件服务器的工作。 | * 邮件是在本地发送的。Postfix[http://www.postfix.org/sendmail.1.html 邮件发送]程序将首先调用[http://www.postfix.org/postdrop.1.html 邮件丢弃]程序将邮件丢弃到“回收站”目录下,在那里,邮件又将被 [http://www.postfix.org/sendmail.1.html 邮件发送] 进程所处理。这个进程执行一些完整性检查,以保护Postfix邮件服务器的工作。 | ||
* 邮件是来自网络的。Postfix[http://www.postfix.org/smtpd.8.html SMTP 服务器]将接收这些邮件并进行完整性检查,以保护Postfix邮件服务器的工作。 | * 邮件是来自网络的。Postfix[http://www.postfix.org/smtpd.8.html SMTP 服务器]将接收这些邮件并进行完整性检查,以保护Postfix邮件服务器的工作。 | ||
* 邮件是由Postfix系统自己生成来返回无法传送的返回邮件给发送者。[[http://www.postfix.org/bounce.8.html |bounce or defer]]进程处理该消息。 | |||
* 邮件是由Postfix系统自己生成来返回无法传送的返回邮件给发送者。[[http://www.postfix.org/bounce.8.html bounce or defer]]进程处理该消息。 | |||
* 邮件被[[http://www.postfix.org/local.8.html 本地传输代理]]转发时,或是通过一个在系统级的[http://www.postfix.org/aliases.5.html 别名]数据库中的条目,或者通过一个每个用户自己的[[http://www.postfix.org/aliases.5.html .forward]]文件中的条目。这被一个没有标签的箭头指明。 | * 邮件被[[http://www.postfix.org/local.8.html| 本地传输代理]]转发时,或是通过一个在系统级的[http://www.postfix.org/aliases.5.html 别名]数据库中的条目,或者通过一个每个用户自己的[[http://www.postfix.org/aliases.5.html| .forward]]文件中的条目。这被一个没有标签的箭头指明。 | ||
* 邮件由Postfix服务器自己在内部生成,为了向邮件管理员[[http://www.postfix.org/basic.html#notify 通知]]这个问题(这条路径也被一个没有标签的箭头指明)。Postfix服务器能够配置来向邮件管理员通知SMTP协议的问题,[[http://en.wikipedia.org/wiki/E-mail_spam UCE]] 策略的问题,等等。 | * 邮件由Postfix服务器自己在内部生成,为了向邮件管理员[[http://www.postfix.org/basic.html#notify |通知]]这个问题(这条路径也被一个没有标签的箭头指明)。Postfix服务器能够配置来向邮件管理员通知SMTP协议的问题,[[http://en.wikipedia.org/wiki/E-mail_spam |UCE]] 策略的问题,等等。 | ||
* | * [[http://www.postfix.org/cleanup.8.html |cleanup]] 守护进程完成对于新邮件处理的最后阶段。它添加了缺失的'''From:'''和其他的邮件头信息,将地址重写成标准的 [email protected] 格式,并且从邮件头有选择性的展开收到邮件的地址。'''cleanup'''守护进程将处理作为一个简单的队列插入到'''incoming'''队列,并且通知[[http://www.postfix.org/qmgr.8.html |队列管理员]]新邮件到达。'''cleanup'''守护进程能够配置来在查询[[http://www.postfix.org/rewrite.html#canonical |canonical]]和 [[http://www.postfix.org/rewrite.html#virtual |virtual]]表的基础上转换地址。 | ||
* 在cleanup守护进程的请求到来时,[[http://www.postfix.org/trivial-rewrite.8.html |trivial-rewrite]]守护进程将地址重写成标准的 [email protected] 形式。 | |||
* 在cleanup守护进程的请求到来时,[[http://www.postfix.org/trivial-rewrite.8.html trivial-rewrite]]守护进程将地址重写成标准的 [email protected] 形式。 | |||
== | == 安装 Postfix == | ||
在安装中假定你的域名是 ''''yourdomain.com'''',并且它有一个有效的 MX 记录叫做''''mail.yourdomain.com''''。请一定记得将这份指南中的''''yourdomain.com''''替换成你的真实的域名。并且我还假定你知道"MX记录"是什么。要找出MX你需要在终端中输入 | 在安装中假定你的域名是 ''''yourdomain.com'''',并且它有一个有效的 MX 记录叫做''''mail.yourdomain.com''''。请一定记得将这份指南中的''''yourdomain.com''''替换成你的真实的域名。并且我还假定你知道"MX记录"是什么。要找出MX你需要在终端中输入 | ||
第84行: | 第58行: | ||
</pre> | </pre> | ||
''' | '''安装 postfix''' | ||
<pre> | <pre> | ||
sudo apt-get install postfix | sudo apt-get install postfix | ||
</pre> | </pre> | ||
安装mailx软件包来用做mail命令邮件工具的程序。安装这个包来安装mail命令。 | 安装mailx软件包来用做mail命令邮件工具的程序。安装这个包来安装mail命令。 | ||
第98行: | 第70行: | ||
</pre> | </pre> | ||
== | == 测试默认的安装 == | ||
这样添加一个用户。 | 这样添加一个用户。 | ||
第108行: | 第78行: | ||
sudo passwd fmaster | sudo passwd fmaster | ||
</pre> | </pre> | ||
用下面的命令来测试默认的安装。 | 用下面的命令来测试默认的安装。 | ||
第116行: | 第84行: | ||
telnet localhost 25 | telnet localhost 25 | ||
</pre> | </pre> | ||
Postfix将出现下面这样的终端提示,这样你就可以输入一些SMTP命令。 | Postfix将出现下面这样的终端提示,这样你就可以输入一些SMTP命令。 | ||
第127行: | 第93行: | ||
220 localhost.localdomain ESMTP Postfix (Ubuntu) | 220 localhost.localdomain ESMTP Postfix (Ubuntu) | ||
</pre> | </pre> | ||
在Postfix的提示符下面输入这些代码段。 | 在Postfix的提示符下面输入这些代码段。 | ||
第145行: | 第109行: | ||
quit | quit | ||
</pre> | </pre> | ||
检查''''fmaster''''的邮箱。 | 检查''''fmaster''''的邮箱。 | ||
第154行: | 第116行: | ||
mail | mail | ||
</pre> | </pre> | ||
当你输入'''mail'''}命令的时候,终端的输出应该像下面这样。 | 当你输入'''mail'''}命令的时候,终端的输出应该像下面这样。 | ||
第166行: | 第126行: | ||
& | & | ||
</pre> | </pre> | ||
你会观察到邮件被按照数字编号索引了,因此你可以输入你想看的邮件的编号。例如输入''''2''''来阅读第二封信。阅读完毕使用''"q"''命令退出。邮件会被写到用户主目录下面的一个叫做''''mbox''''的文件中。在我们的例子中是''''/home/fmaster/mbox''''。 | 你会观察到邮件被按照数字编号索引了,因此你可以输入你想看的邮件的编号。例如输入''''2''''来阅读第二封信。阅读完毕使用''"q"''命令退出。邮件会被写到用户主目录下面的一个叫做''''mbox''''的文件中。在我们的例子中是''''/home/fmaster/mbox''''。 | ||
mbox型的邮箱中的所有消息被连接并且储存成一个单一的文件。每一个消息的开始被头5个字母是"From"的那一行标示出来,并且每一封消息的末尾有一个空行。 | mbox型的邮箱中的所有消息被连接并且储存成一个单一的文件。每一个消息的开始被头5个字母是"From"的那一行标示出来,并且每一封消息的末尾有一个空行。 | ||
== | == 设置Postfix支持Maildir型的邮箱 == | ||
Maildir 是一个邮件池的格式,这种邮件格式不需要文件锁定来保证消息的完整性,因为邮件以一个特有的名字被保存在一个个单独的文件中。一个Maildir是一个包含3个叫做tmp, new和curd的子目录的目录(常常以Maildir命名)。这些子目录应该在同一个文件系统中。 | Maildir 是一个邮件池的格式,这种邮件格式不需要文件锁定来保证消息的完整性,因为邮件以一个特有的名字被保存在一个个单独的文件中。一个Maildir是一个包含3个叫做tmp, new和curd的子目录的目录(常常以Maildir命名)。这些子目录应该在同一个文件系统中。 | ||
另一个使用Maildir格式的邮箱的理由是Courier IMAP/POP3服务器只支持Maildir格式的邮箱。 | 另一个使用Maildir格式的邮箱的理由是Courier IMAP/POP3服务器只支持Maildir格式的邮箱。 | ||
在[[http://en.wikipedia.org/wiki/Maildir| 这里]]能够得到更多关于Maildir的信息。 | |||
在[[http://en.wikipedia.org/wiki/Maildir 这里]]能够得到更多关于Maildir的信息。 | |||
<pre> | <pre> | ||
sudo vi /etc/postfix/main.cf | sudo vi /etc/postfix/main.cf | ||
</pre> | </pre> | ||
加入下面的代码: | 加入下面的代码: | ||
第200行: | 第149行: | ||
</pre> | </pre> | ||
在'''' mailbox_command = procmail -a "$EXTENSION" ''''那一行前面加上一个"#"将其注释掉。 | 在'''' mailbox_command = procmail -a "$EXTENSION" ''''那一行前面加上一个"#"将其注释掉。 | ||
'''重启 Postfix''' 使改变生效。 | '''重启 Postfix''' 使改变生效。 | ||
第212行: | 第157行: | ||
</pre> | </pre> | ||
再一次测试你的安装。 | |||
== 安装 courier IMAP 和 POP3 == | |||
== | |||
<pre> | <pre> | ||
第222行: | 第165行: | ||
sudo apt-get install courier-imap | sudo apt-get install courier-imap | ||
</pre> | </pre> | ||
为postfix增加本地域 | 为postfix增加本地域 | ||
第230行: | 第171行: | ||
sudo vi /etc/postfix/main.cf | sudo vi /etc/postfix/main.cf | ||
</pre> | </pre> | ||
将你的域名增加到 ''''mydestination''''。增加完成后它看起来应该象这样: | 将你的域名增加到 ''''mydestination''''。增加完成后它看起来应该象这样: | ||
第240行: | 第179行: | ||
... | ... | ||
</pre> | </pre> | ||
'''将你的本地网络增加到:''' | '''将你的本地网络增加到:''' | ||
第248行: | 第185行: | ||
sudo vi /etc/postfix/main.cf | sudo vi /etc/postfix/main.cf | ||
</pre> | </pre> | ||
我假定你的本地网络是 192.168.1.0/24 并且将你的本地网络加入到{{{mynetworks}}}。完成后它看起来应该像这样: | 我假定你的本地网络是 192.168.1.0/24 并且将你的本地网络加入到{{{mynetworks}}}。完成后它看起来应该像这样: | ||
第255行: | 第190行: | ||
mynetworks = 127.0.0.0/8, 192.168.1.0/24 | mynetworks = 127.0.0.0/8, 192.168.1.0/24 | ||
</pre> | </pre> | ||
'''使Postfix从因特网上接收邮件''' | '''使Postfix从因特网上接收邮件''' | ||
使用下面的命令在''''/etc/postfix/main.cf''''增加''''inet_interfaces = all'''' | 使用下面的命令在''''/etc/postfix/main.cf''''增加''''inet_interfaces = all'''' | ||
第267行: | 第198行: | ||
sudo vi /etc/postfix/main.cf | sudo vi /etc/postfix/main.cf | ||
</pre> | </pre> | ||
最后重启Postfix; | 最后重启Postfix; | ||
第275行: | 第204行: | ||
sudo /etc/init.d/postfix restart | sudo /etc/init.d/postfix restart | ||
</pre> | </pre> | ||
使用下面的代码再一次测试你的安装是否成功: | 使用下面的代码再一次测试你的安装是否成功: | ||
第294行: | 第221行: | ||
quit | quit | ||
</pre> | </pre> | ||
检查''''fmaster''''的邮箱 | 检查''''fmaster''''的邮箱 | ||
第303行: | 第228行: | ||
ls | ls | ||
</pre> | </pre> | ||
现在你将看到邮件在一个个单独的文件中了。 | 现在你将看到邮件在一个个单独的文件中了。 | ||
== | == 测试 Courier POP3 == | ||
在终端中输入: | 在终端中输入: | ||
第317行: | 第238行: | ||
telnet mail.yourdomain.com 110 | telnet mail.yourdomain.com 110 | ||
</pre> | </pre> | ||
使用下面示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样: | 使用下面示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样: | ||
第327行: | 第246行: | ||
+OK Hello there. | +OK Hello there. | ||
</pre> | </pre> | ||
在Courier POP3服务器的提示符下面输入下面的代码段。我假定你能够看情况输入''''+OK''''后的行。 | 在Courier POP3服务器的提示符下面输入下面的代码段。我假定你能够看情况输入''''+OK''''后的行。 | ||
第340行: | 第257行: | ||
</pre> | </pre> | ||
== | == 测试 Courier IMAP == | ||
在终端输入这些: | 在终端输入这些: | ||
第349行: | 第264行: | ||
telnet mail.yourdomain.com 143 | telnet mail.yourdomain.com 143 | ||
</pre> | </pre> | ||
使用下面的示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样: | 使用下面的示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样: | ||
第357行: | 第270行: | ||
XCOURIEROUTBOX=INBOX.Outbox] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information. | XCOURIEROUTBOX=INBOX.Outbox] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information. | ||
</pre> | </pre> | ||
在Courier POP3服务器的提示符下面输入下面的代码段 | 在Courier POP3服务器的提示符下面输入下面的代码段 | ||
第368行: | 第279行: | ||
</pre> | </pre> | ||
== | == 本地的别名数据库 == | ||
当邮件要被本地传送时,本地传送代理通过别名数据库来接受每一个名字。这个映射不对邮件头中的地址生效。本地的别名主要是用来实现收发列表,或者直接的将标准的别名例如 | 当邮件要被本地传送时,本地传送代理通过别名数据库来接受每一个名字。这个映射不对邮件头中的地址生效。本地的别名主要是用来实现收发列表,或者直接的将标准的别名例如 | ||
'''postmaster'''映射成真实的地址。这个表也可用来映射Firstname.Lastname的地址到登录名。 | '''postmaster'''映射成真实的地址。这个表也可用来映射Firstname.Lastname的地址到登录名。 | ||
Postfix默认开启别名查询,你可以在'''main.cf'''文件中看到这些代码: | |||
<pre。 | |||
< | |||
... | ... | ||
alias_maps = hash:/etc/aliases | alias_maps = hash:/etc/aliases | ||
第384行: | 第291行: | ||
</pre> | </pre> | ||
== | == 为一个账号创建别名 == | ||
下面的代码讲述了怎样设置一个别名。这个步骤是可选的,因为我们稍后会配置虚拟邮件域名的。加入这个步骤的目的是保证你在需要的时候明白如何配置。 | 下面的代码讲述了怎样设置一个别名。这个步骤是可选的,因为我们稍后会配置虚拟邮件域名的。加入这个步骤的目的是保证你在需要的时候明白如何配置。 | ||
'''建立一个用户''' | '''建立一个用户''' | ||
第398行: | 第301行: | ||
sudo passwd sysadmin | sudo passwd sysadmin | ||
</pre> | </pre> | ||
'''编辑别名表''' | '''编辑别名表''' | ||
使用下面的命令打开别名表: | 使用下面的命令打开别名表: | ||
第410行: | 第309行: | ||
sudo vi /etc/aliases | sudo vi /etc/aliases | ||
</pre> | </pre> | ||
加入下面的代码: | 加入下面的代码: | ||
第418行: | 第315行: | ||
fmaster: sysadmin | fmaster: sysadmin | ||
</pre> | </pre> | ||
使用下面的代码让你的改动生效: | 使用下面的代码让你的改动生效: | ||
第426行: | 第321行: | ||
sudo newaliases | sudo newaliases | ||
</pre> | </pre> | ||
发送一封邮件到''''fmaster''''并检查''''/home/sysadmin/Maildir/new''''文件夹中的邮件来测试你的改变是否生效。 | 发送一封邮件到''''fmaster''''并检查''''/home/sysadmin/Maildir/new''''文件夹中的邮件来测试你的改变是否生效。 | ||
== | == 各个用户的 .forward 文件 == | ||
用户可以在他们主目录下的.forward文件中控制他们自己的邮件传输。这个文件的语法和系统的别名是基本一样的,除了查询键和colon没有出现。 | 用户可以在他们主目录下的.forward文件中控制他们自己的邮件传输。这个文件的语法和系统的别名是基本一样的,除了查询键和colon没有出现。 | ||
在这里我举一个例子: | 在这里我举一个例子: | ||
假定你需要将到达用户sysadmin的所有邮件传输到另一个用户,就象这样做: | 假定你需要将到达用户sysadmin的所有邮件传输到另一个用户,就象这样做: | ||
第449行: | 第336行: | ||
touch .forward | touch .forward | ||
</pre> | </pre> | ||
然后打开.forward文件。 | 然后打开.forward文件。 | ||
第457行: | 第342行: | ||
vi .forward | vi .forward | ||
</pre> | </pre> | ||
加入下面的代码 | 加入下面的代码 | ||
第465行: | 第348行: | ||
</pre> | </pre> | ||
记得在这个练习中使用真实的email地址。 | 记得在这个练习中使用真实的email地址。 | ||
现在发送一封邮件到''''sysadmin''''就会被转发到[email protected]。 | 现在发送一封邮件到''''sysadmin''''就会被转发到[email protected]。 | ||
== | == Postfix单独域名和Linux系统用户的虚拟别名 == | ||
用这个方法,每一个主机域可以有它自己的信息,比如邮件地址。但是,这种方法仍然使用Linux系统账户来进行本地的邮件传送。 | 用这个方法,每一个主机域可以有它自己的信息,比如邮件地址。但是,这种方法仍然使用Linux系统账户来进行本地的邮件传送。 | ||
使用虚拟别名域名,每个别名被映射到一个本地的unix系统账户或一个远程的邮件地址上。下面的例子显示了如何对fossedu.org和linuxelabs.com域使用这个机制。 | 使用虚拟别名域名,每个别名被映射到一个本地的unix系统账户或一个远程的邮件地址上。下面的例子显示了如何对fossedu.org和linuxelabs.com域使用这个机制。 | ||
打开'''main.cf'''文件: | 打开'''main.cf'''文件: | ||
第491行: | 第364行: | ||
sudo vi /etc/postfix/main.cf | sudo vi /etc/postfix/main.cf | ||
</pre> | </pre> | ||
添加下面的代码段: | 添加下面的代码段: | ||
第500行: | 第371行: | ||
virtual_alias_maps = hash:/etc/postfix/virtual | virtual_alias_maps = hash:/etc/postfix/virtual | ||
</pre> | </pre> | ||
编辑文件''''/etc/postfix/virtual'''': | 编辑文件''''/etc/postfix/virtual'''': | ||
加入Linux系统账户: | 加入Linux系统账户: | ||
第512行: | 第380行: | ||
sudo useradd -m -s /bin/bash kala | sudo useradd -m -s /bin/bash kala | ||
</pre> | </pre> | ||
为上面的用户设定密码。 | 为上面的用户设定密码。 | ||
第526行: | 第392行: | ||
sudo vi /etc/postfix/virtual | sudo vi /etc/postfix/virtual | ||
</pre> | </pre> | ||
增加下面的代码段: | 增加下面的代码段: | ||
第535行: | 第399行: | ||
[email protected] kala | [email protected] kala | ||
</pre> | </pre> | ||
建立一个数据库映射: | 建立一个数据库映射: | ||
第543行: | 第405行: | ||
sudo postmap /etc/postfix/virtual | sudo postmap /etc/postfix/virtual | ||
</pre> | </pre> | ||
postmap是一个将''''/etc/postfix/virtual''''转换成''''/etc/postfix/virtual.db''''即伯克利DB格式的工具,以便Postfix能够更快的访问这个文件。 | postmap是一个将''''/etc/postfix/virtual''''转换成''''/etc/postfix/virtual.db''''即伯克利DB格式的工具,以便Postfix能够更快的访问这个文件。 | ||
重启Postfix使修改生效: | 重启Postfix使修改生效: | ||
第554行: | 第414行: | ||
sudo /etc/init.d/postfix restart | sudo /etc/init.d/postfix restart | ||
</pre> | </pre> | ||
发送邮件到 [email protected] 和 [email protected] 这些邮件都会进入相应的'''sigiri'''和'''kala'''的邮箱。 | 发送邮件到 [email protected] 和 [email protected] 这些邮件都会进入相应的'''sigiri'''和'''kala'''的邮箱。 |
2007年5月16日 (三) 23:24的版本
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/PostfixBasicSetupHowto }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/af | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Afrikaans| [[::PostfixBasicSetupHowto/zh/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ar | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|العربية| [[::PostfixBasicSetupHowto/zh/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/az | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|azərbaycanca| [[::PostfixBasicSetupHowto/zh/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/bcc | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|جهلسری بلوچی| [[::PostfixBasicSetupHowto/zh/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/bg | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|български| [[::PostfixBasicSetupHowto/zh/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/br | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|brezhoneg| [[::PostfixBasicSetupHowto/zh/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ca | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|català| [[::PostfixBasicSetupHowto/zh/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/cs | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|čeština| [[::PostfixBasicSetupHowto/zh/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/de | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Deutsch| [[::PostfixBasicSetupHowto/zh/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/el | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Ελληνικά| [[::PostfixBasicSetupHowto/zh/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/es | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|español| [[::PostfixBasicSetupHowto/zh/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/fa | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|فارسی| [[::PostfixBasicSetupHowto/zh/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/fi | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|suomi| [[::PostfixBasicSetupHowto/zh/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/fr | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|français| [[::PostfixBasicSetupHowto/zh/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/gu | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|ગુજરાતી| [[::PostfixBasicSetupHowto/zh/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/he | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|עברית| [[::PostfixBasicSetupHowto/zh/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/hu | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|magyar| [[::PostfixBasicSetupHowto/zh/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/id | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Bahasa Indonesia| [[::PostfixBasicSetupHowto/zh/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/it | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|italiano| [[::PostfixBasicSetupHowto/zh/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ja | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|日本語| [[::PostfixBasicSetupHowto/zh/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ko | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|한국어| [[::PostfixBasicSetupHowto/zh/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ksh | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Ripoarisch| [[::PostfixBasicSetupHowto/zh/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/mr | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|मराठी| [[::PostfixBasicSetupHowto/zh/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ms | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Bahasa Melayu| [[::PostfixBasicSetupHowto/zh/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/nl | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Nederlands| [[::PostfixBasicSetupHowto/zh/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/no | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|norsk| [[::PostfixBasicSetupHowto/zh/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/oc | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|occitan| [[::PostfixBasicSetupHowto/zh/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/pl | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|polski| [[::PostfixBasicSetupHowto/zh/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/pt | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|português| [[::PostfixBasicSetupHowto/zh/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ro | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|română| [[::PostfixBasicSetupHowto/zh/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/ru | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|русский| [[::PostfixBasicSetupHowto/zh/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/si | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|සිංහල| [[::PostfixBasicSetupHowto/zh/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/sq | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|shqip| [[::PostfixBasicSetupHowto/zh/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/sr | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|српски / srpski| [[::PostfixBasicSetupHowto/zh/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/sv | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|svenska| [[::PostfixBasicSetupHowto/zh/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/th | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|ไทย| [[::PostfixBasicSetupHowto/zh/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/tr | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Türkçe| [[::PostfixBasicSetupHowto/zh/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/vi | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|Tiếng Việt| [[::PostfixBasicSetupHowto/zh/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/yue | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|粵語| [[::PostfixBasicSetupHowto/zh/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/zh | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|中文| [[::PostfixBasicSetupHowto/zh/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/zh-hans | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|中文(简体)| [[::PostfixBasicSetupHowto/zh/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PostfixBasicSetupHowto | UbuntuHelp:PostfixBasicSetupHowto | {{#if: | :}}PostfixBasicSetupHowto/zh}}/zh-hant | • {{#if: UbuntuHelp:PostfixBasicSetupHowto|中文(繁體)| [[::PostfixBasicSetupHowto/zh/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:PostfixBasicSetupHowto|:PostfixBasicSetupHowto/zh|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :PostfixBasicSetupHowto/zh/zh | | {{#ifexist: PostfixBasicSetupHowto/zh/zh | | {{#ifeq: {{#titleparts:PostfixBasicSetupHowto/zh|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:PostfixBasicSetupHowto/zh|1|-1|}} | zh | | }}
Postfix 基本设置指南
简介
这份说明的目标是告诉你如何在企业环境下为Postfix邮件服务器作基本的设置。这份说明的主要目的是教会你进行Postfix邮件服务器的基本配置以使其拥有IMAP与POP3功能。但是,你无法在这份说明中学到在Postfix邮件服务器中集成像病毒过滤及垃圾邮件过滤等高级的功能的方法。
这份说明是针对刚开始使用Postfix的用户提供一个基础的认识。其它的高级指南是[:PostfixVirtualMailBoxClamSmtpHowto:Postfix - Postfix 虚拟邮箱和病毒过滤指南]以及[:PostfixCompleteVirtualMailSystemHowto:Postfix - Postfix 完整虚拟邮件系统指南]。如果你是一个 Postfix 的新手,但希望使用那些高级功能的话,你应当事先了解本说明。
安装提示
本指南提供的安装方法,Postfix通过网络来发送及接收邮件并将它们存入用户邮箱中,用户可以通过Courier IMAP 或者 POP3 服务器来回复他们的邮件。用户验证是由 Courier Authdaemon 这个守护进程来完成的。下面的图片表现了这个过程。
Postfix的结构
构件
下面的图片展现了主要的Postfix系统组件,以及它们之间的关键信息流。
- 黄色椭圆是邮件程序。
- 黄色方框是邮件队列或文件。
- 蓝色方框是查找表。
- 在大方框中运行的程序是由Postfix主驻留守护进程控制的。
- 大方框中的数字是Postfix邮件系统的属性。
接收邮件
当Postfix邮件服务器收到一封新消息的时候,它将首先被放入接收队列中。下面的图表展示了新邮件处理的主要组件。
- 邮件是在本地发送的。Postfix邮件发送程序将首先调用邮件丢弃程序将邮件丢弃到“回收站”目录下,在那里,邮件又将被 邮件发送 进程所处理。这个进程执行一些完整性检查,以保护Postfix邮件服务器的工作。
- 邮件是来自网络的。PostfixSMTP 服务器将接收这些邮件并进行完整性检查,以保护Postfix邮件服务器的工作。
- 邮件是由Postfix系统自己生成来返回无法传送的返回邮件给发送者。[|bounce or defer]进程处理该消息。
- 邮件由Postfix服务器自己在内部生成,为了向邮件管理员[|通知]这个问题(这条路径也被一个没有标签的箭头指明)。Postfix服务器能够配置来向邮件管理员通知SMTP协议的问题,[|UCE] 策略的问题,等等。
- [|cleanup] 守护进程完成对于新邮件处理的最后阶段。它添加了缺失的From:和其他的邮件头信息,将地址重写成标准的 [email protected] 格式,并且从邮件头有选择性的展开收到邮件的地址。cleanup守护进程将处理作为一个简单的队列插入到incoming队列,并且通知[|队列管理员]新邮件到达。cleanup守护进程能够配置来在查询[|canonical]和 [|virtual]表的基础上转换地址。
- 在cleanup守护进程的请求到来时,[|trivial-rewrite]守护进程将地址重写成标准的 [email protected] 形式。
安装 Postfix
在安装中假定你的域名是 'yourdomain.com',并且它有一个有效的 MX 记录叫做'mail.yourdomain.com'。请一定记得将这份指南中的'yourdomain.com'替换成你的真实的域名。并且我还假定你知道"MX记录"是什么。要找出MX你需要在终端中输入
dig mx yourdomain.com
安装 postfix
sudo apt-get install postfix
安装mailx软件包来用做mail命令邮件工具的程序。安装这个包来安装mail命令。
sudo apt-get install mailx
测试默认的安装
这样添加一个用户。
sudo useradd -m -s /bin/bash fmaster sudo passwd fmaster
用下面的命令来测试默认的安装。
telnet localhost 25
Postfix将出现下面这样的终端提示,这样你就可以输入一些SMTP命令。
Trying 127.0.0.1... Connected to mail.fossedu.org. Escape character is '^]'. 220 localhost.localdomain ESMTP Postfix (Ubuntu)
在Postfix的提示符下面输入这些代码段。
ehlo localhost mail from: root@localhost rcpt to: fmaster@localhost data Subjet: My first mail on Postfix Hi, Are you there? regards, Admin . (Type the .[dot] in a new Line and press Enter ) quit
检查'fmaster'的邮箱。
su - fmaster mail
当你输入mail}命令的时候,终端的输出应该像下面这样。
Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/fmaster": 2 messages 2 new >N 1 root@localhost Mon Mar 6 12:49 13/479 Just a test N 2 root@localhost Mon Mar 6 12:51 15/487 My first mail &
你会观察到邮件被按照数字编号索引了,因此你可以输入你想看的邮件的编号。例如输入'2'来阅读第二封信。阅读完毕使用"q"命令退出。邮件会被写到用户主目录下面的一个叫做'mbox'的文件中。在我们的例子中是'/home/fmaster/mbox'。
mbox型的邮箱中的所有消息被连接并且储存成一个单一的文件。每一个消息的开始被头5个字母是"From"的那一行标示出来,并且每一封消息的末尾有一个空行。
设置Postfix支持Maildir型的邮箱
Maildir 是一个邮件池的格式,这种邮件格式不需要文件锁定来保证消息的完整性,因为邮件以一个特有的名字被保存在一个个单独的文件中。一个Maildir是一个包含3个叫做tmp, new和curd的子目录的目录(常常以Maildir命名)。这些子目录应该在同一个文件系统中。
另一个使用Maildir格式的邮箱的理由是Courier IMAP/POP3服务器只支持Maildir格式的邮箱。
在[这里]能够得到更多关于Maildir的信息。
sudo vi /etc/postfix/main.cf
加入下面的代码:
home_mailbox = Maildir/
在' mailbox_command = procmail -a "$EXTENSION" '那一行前面加上一个"#"将其注释掉。
重启 Postfix 使改变生效。
sudo /etc/init.d/postfix restart
再一次测试你的安装。
安装 courier IMAP 和 POP3
sudo apt-get install courier-pop sudo apt-get install courier-imap
为postfix增加本地域
sudo vi /etc/postfix/main.cf
将你的域名增加到 'mydestination'。增加完成后它看起来应该象这样:
... mydestination = mail.fossedu.org, localhost.localdomain, localhost, yourdoamin.com ...
将你的本地网络增加到:
sudo vi /etc/postfix/main.cf
我假定你的本地网络是 192.168.1.0/24 并且将你的本地网络加入到{{{mynetworks}}}。完成后它看起来应该像这样:
mynetworks = 127.0.0.0/8, 192.168.1.0/24
使Postfix从因特网上接收邮件
使用下面的命令在'/etc/postfix/main.cf'增加'inet_interfaces = all'
sudo vi /etc/postfix/main.cf
最后重启Postfix;
sudo /etc/init.d/postfix restart
使用下面的代码再一次测试你的安装是否成功:
telnet mail.yourdomain.com 25 ehlo yourdmain.com mail from: [email protected] rcpt to: [email protected] data Subject: My first mail for my domain Hi, Are you there? regards, Admin . (and Enter In a new Line) quit
检查'fmaster'的邮箱
su - fmaster cd Maildir/new ls
现在你将看到邮件在一个个单独的文件中了。
测试 Courier POP3
在终端中输入:
telnet mail.yourdomain.com 110
使用下面示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样:
Connected to mail.yourdomain.com (69.60.109.217). Escape character is '^]'. +OK Hello there.
在Courier POP3服务器的提示符下面输入下面的代码段。我假定你能够看情况输入'+OK'后的行。
user fmaster +OK Password required. pass password +OK logged in. quit
测试 Courier IMAP
在终端输入这些:
telnet mail.yourdomain.com 143
使用下面的示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样:
*OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS XCOURIEROUTBOX=INBOX.Outbox] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
在Courier POP3服务器的提示符下面输入下面的代码段
a login fmaster password a OK LOGIN Ok. a logout
本地的别名数据库
当邮件要被本地传送时,本地传送代理通过别名数据库来接受每一个名字。这个映射不对邮件头中的地址生效。本地的别名主要是用来实现收发列表,或者直接的将标准的别名例如 postmaster映射成真实的地址。这个表也可用来映射Firstname.Lastname的地址到登录名。
Postfix默认开启别名查询,你可以在main.cf文件中看到这些代码: <pre。 ... alias_maps = hash:/etc/aliases ...
为一个账号创建别名
下面的代码讲述了怎样设置一个别名。这个步骤是可选的,因为我们稍后会配置虚拟邮件域名的。加入这个步骤的目的是保证你在需要的时候明白如何配置。
建立一个用户
sudo useradd -m -s /bin/bash sysadmin sudo passwd sysadmin
编辑别名表
使用下面的命令打开别名表:
sudo vi /etc/aliases
加入下面的代码:
fmaster: sysadmin
使用下面的代码让你的改动生效:
sudo newaliases
发送一封邮件到'fmaster'并检查'/home/sysadmin/Maildir/new'文件夹中的邮件来测试你的改变是否生效。
各个用户的 .forward 文件
用户可以在他们主目录下的.forward文件中控制他们自己的邮件传输。这个文件的语法和系统的别名是基本一样的,除了查询键和colon没有出现。
在这里我举一个例子:
假定你需要将到达用户sysadmin的所有邮件传输到另一个用户,就象这样做:
su - sysadmin touch .forward
然后打开.forward文件。
vi .forward
加入下面的代码
[email protected]
记得在这个练习中使用真实的email地址。
现在发送一封邮件到'sysadmin'就会被转发到[email protected]。
Postfix单独域名和Linux系统用户的虚拟别名
用这个方法,每一个主机域可以有它自己的信息,比如邮件地址。但是,这种方法仍然使用Linux系统账户来进行本地的邮件传送。
使用虚拟别名域名,每个别名被映射到一个本地的unix系统账户或一个远程的邮件地址上。下面的例子显示了如何对fossedu.org和linuxelabs.com域使用这个机制。
打开main.cf文件:
sudo vi /etc/postfix/main.cf
添加下面的代码段:
virtual_alias_domains = fossedu.org linuxelabs.com virtual_alias_maps = hash:/etc/postfix/virtual
编辑文件'/etc/postfix/virtual':
加入Linux系统账户:
sudo useradd -m -s /bin/bash sigiri sudo useradd -m -s /bin/bash kala
为上面的用户设定密码。
sudo passwd sigiri sudo passwd kala
sudo vi /etc/postfix/virtual
增加下面的代码段:
[email protected] sigiri [email protected] kala
建立一个数据库映射:
sudo postmap /etc/postfix/virtual
postmap是一个将'/etc/postfix/virtual'转换成'/etc/postfix/virtual.db'即伯克利DB格式的工具,以便Postfix能够更快的访问这个文件。
重启Postfix使修改生效:
sudo /etc/init.d/postfix restart
发送邮件到 [email protected] 和 [email protected] 这些邮件都会进入相应的sigiri和kala的邮箱。