本地邮件的投递操作

若收件 地址的网域部分,是列在mydestination参数的所有网域之一,postfix就将其当成本地邮件交给local MDA进行投递。你可以随意在mydestination列出多个网域,但是本地的个别用户会收到所有网域的邮件。举例来说,如果 oreilly.com、ora.com和oreillymedia.com同时被列在mydestination参数,则寄给 kdent@ora.com、kdent@oreilly.com或kdent@oreillymedia.com的邮件,最后都是进入同一个本地邮箱。 为了避免收下不明用户的邮件,所有本地收件人的名称都必须列在local_recipient_maps参数所指的表中。此参数的默认值是指向unix系 统的密码文件与别名表,所以你通常不需要修改它。

检查邮件地址的人名部分时,postfix先检查别名表。如果发现相符的别名,则以该别名对应的 名称为新的收件人,重新提交邮件,当成新邮件处理;否则,就试着将邮件传给系统上的用户。postfix先检查当地用户是否设置了自己的.forward 文件,如果有,则依据其设定内容来转寄邮件;乳沟没有,则将邮件放入用户的邮箱。

.forward文件

.forward 文件让用户可以设置自己的别名。.forward文件的格式与别名文件的RHS-VALUE部分的格式一样,甚至比其更宽松。比方说,别名文件的RHS- VALUE可以有多个以分号隔开的值,.forward文件也沿用相同惯例,但同时也容许你将值分别写在不同的行。

.forward文件的拥有权 限必须是收件人的系统账户,而且通常放在用户的主目录下。你可以用forward_path参数来改变.forward文件的存放路径。postfix提 供下列8大变量让你表示.forward文件的存放路径,这些变量的实际值,由投递时的系统环境决定:

$user 收件人得账户名称(信息来源: /etc/passwd)

$home 收件人得主目录(信息来源: /etc/passwd)

$shell 收件人得shell

$recipient 收件人得完整邮件地址

$extension 收件地址得人名部分得扩展部分(不一定有),以+之类得分隔符与人名部分风格开。以 user1+labs@example.com为例,$extension等于user1。

$domain 收件地址的网域部分。

$local 收件地址的完整人名部分(包括扩展部分在内--如果有的话)。以user1+ labs@example.com为例,$local等于user1+labs。

$recipient delimiter 收件地址得人名部分与扩展部分之间得分隔符(通常是+)如果你增加对一个非标准得.forward文件得支持,可以参考下面得设定;

forward_path = /home/$user/.forward /home/$user/other_forward

别名投递操作

当 别名文件指定了一个命令或文件时,postfix必须先将自己得执行身份改成别名文件拥有者,然后以该身份得权限来执行命令,或将邮件内容写入文件。唯一 的例外是别名文件拥有者为root时,这时候postfix使用default_privs参数所指定的账户(默认值为nobody)

邮箱投递操作

当postfix 将邮件投递给一位本地用户时,它必须将邮件内容写入该用户在系统上的邮箱。postfix默认使用的邮箱格式是mbox,当你安装postfix时,它会 依据你所用的Unix平台类型来决定邮件存储目录的位置。mail_spool_directory参数可用来指定一个默认之外的目录,而目录路径的指定 方式会影响pstfix选择何种邮件格式。举例来说,假如你这样设定:

mail_spool_directory = /var/spool/mail

这表示postfix应该使用mbox格式将邮件存在/var/spool/mail目录下。如果你想改用maildir格式,则必须在目录名称之后附加一个/符号:

mail_spool_directory = /var/spool/mail/

你也可以要求postfix将邮件放在用户的主目录下。设定一个相对路径给home_mailbox参数,表示你想要哪一个文件来作为邮箱:

home_mailbox = mbox

在路径名称之后附加一个/符号,表示postfix应该使用maildir格式的投递程序:

home_mailbox = maildir/

这会使得postfix将邮件投递到用户主目录下的maildir/子目录。

注意: 使用maildir格式时,postfix通常会自动创建必要的子目录与文件--如果用户的身份权限足够的话。不过,基于安全上的考虑,如果上层目录的权限模式为775,则local MDA不会创建任何额外的文件或目录。

通过上面的文章详细的描述,大家都应该知道了如何用Postfix进行投递的过程。希望对你们有所帮助!
 


相关内容