当前位置:文档之家› postfix的配置详解

postfix的配置详解

postfix的配置详解
postfix的配置详解

postfix的配置详解(一)

(1)postfix的配置文件结构

postfix的配置文件位于/etc/postfix下,安装完postfix以后,我们可以通过ls命令查看postfix的配置文件:

[root@mail postfix]# ls

install.cf main.cf master.cf postfix-script

这四个文件就是postfix最基本的配置文件,它们的区别在于:

mail.cf:是postfix主要的配置文件。

Install.cf:包含安装过程中安装程序产生的postfix初始化设置。

master.cf:是postfix的master进程的配置文件,该文件中的每一行都是用来配置postfix的组件进程的运行方式。

postfix-script:包装了一些postfix命令,以便我们在linux环境中安全地执行这些postfix命令。

(2)postfix的基本配置

postfix大约有100个配置参数,这些参数都可以通过main.cf 指定。配置的格式是这样的,用等号连接参数和参数的值。如:

myhostname =https://www.doczj.com/doc/974841546.html,

等号的左边是参数的名称,等号的右边是参数的值;当然,我们也可以在参数的前面加上$来引用该参数,如:

myorigin = $myhostname

虽然postfix有100个左右的参数,但是postfix为大多数的参数都设置了缺省值,所以在让postfix正常为你服务之前,你只需要配置为数不多的几个参数。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦你更改了main.cf文件的内容,则必须运行postfix reload命令使其生效。

1.myorigin

myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@https://www.doczj.com/doc/974841546.html,,则该参数指定@后面的域名。缺省地,postfix使用本地主机名作为myorigin,但是建议你最好使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为https://www.doczj.com/doc/974841546.html,则我们可以这样指定myorigin:

myorigin = https://www.doczj.com/doc/974841546.html,

当然我们也可以引用其他参数,如:

myorigin = $mydomain

2.mydestination

mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就

是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为user@https://www.doczj.com/doc/974841546.html,, 也就是你的域为https://www.doczj.com/doc/974841546.html,, 则你就需要接收所有收件人为user_name@https://www.doczj.com/doc/974841546.html,的邮件。与myorigin一样,缺省地,postfix使用本地主机名作为mydestination。如:

mydestination = $mydomain

mydestination = https://www.doczj.com/doc/974841546.html,

3.notify_classes

在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,

只有这样,在用户遇到问题时才有报告的对象,postfix也才能将系统的问题报告给管理员。notify_classes 参数就是用来指定向postfix管理员报告错误时的信息级别。共有以下几种级别:

bounce:将不可以投递的邮件的拷贝发送给postfix管理员。出于个人隐私的缘故,该邮件的拷贝不包含信头。

2bounce:将两次不可投递的邮件拷贝发送给postfix管理员。

delay:将邮件的投递延迟信息发送给管理员,仅仅包含信头。

policy:将由于UCE规则限制而被拒绝的用户请求发送给postfix管理员,包含整个SMTP会话的内容。

protocol:将协议的错误信息或用户企图执行不支持的命令的记录发送给postfix管理员。同样包含整个SMTP会话的内容。

resource:将由于资源错误而不可投递的错误信息发送给postfix管理员,比如:队列文件写错误等等。

software:将由于软件错误而导致不可投递的错误信息发送给postfix管理员。

缺省值为:

notify_classes = resource, software

4.myhostname

myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省地,该值被设定为本地机器名。你也可以指定该值,需要注意的是,要指定完整的主机名。如:

myhostname = https://www.doczj.com/doc/974841546.html,

5.mydomain

mydomain参数指定你的域名,缺省地,postfix将myhostname的第一部分删除而作为mydomain的值。你也可以自己指定该值,如:

mydomain = https://www.doczj.com/doc/974841546.html,

6.mynetworks

mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来区别用户是远程的还是本地的,如果是本地网络用户则允许其访问。你可以用标准的A、B、C类网络地址,也可以用CIDR(无类域间路由)地址来表示,如:

192.168.1.0/24

192.168.1.0/26

7.inet_interfaces

inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听

所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。如:

inet_interfaces = all

inet_interface = 192.168.1.1

(3)postfix的UCE(unsolicited commercial email)控制

所谓UCE控制就是指控制postfix接收或转发来自于什么地方的邮件。

缺省地,postfix转发符合以下条件的邮件:

* 来自客户端ip地址符合$mynetworks的邮件。

* 来自客户端主机名符合$relay_domains及其子域的邮件。

* 目的地为$relay_domains及其子域的邮件。

缺省地,postfix接受符合以下条件的邮件:

* 目的地为$inet_interfaces的邮件。

* 目的地为$mydestination的邮件。

* 目的地为$virtual_maps的邮件。

但是我们也可以通过下面的规则来实现更强大的控制功能。

1.信头过滤

通过header_checks参数限制接收邮件的信头的格式,如果符合指定的格式,则拒绝接收该邮件。可以指定一个或多个查询列表,如果新邮件的信头符合列表中的某一项则拒绝该接收邮件。如:

header_checks = regexp:/etc/postfix/header_checks

header_checks = pcre:/etc/postfix/header_checks

缺省地,postfix不进行信头过滤。

2.客户端主机名/地址限制

通过smtpd_client_restrictions参数限制可以向postfix发起SMTP 连接的客户端的主机名或ip地址。可以指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。可用的规则有:

reject_unknown_client:如果客户端的ip地址在DNS中没有PTR记录则拒绝转发该客户端的连接请求。可以用unknown_client_reject_code参数指定返回给客户机的错误代码(缺省为450)。如果你有用户没有作DNS记录则不要启用该选项。

permit_mynetworks:如果客户端的ip地址符合$mynetworks参数定义的范围则接受该客户端的连接请求,并转发该邮件。

check_client_access maptype:mapname:根据客户端的主机名、父域名、ip地址或属于的网络搜索access 数据库。如果搜索的结果为REJECT 或者"[45]XX text" 则拒绝该客户端的连接请求;如果搜索的结果为OK、RELAY 或数字则接受该客户端的连接请求,并转发该邮件。。可以用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。

reject_maps_rbl:如果客户端的网络地址符合$maps_rbl_domains参数的值则拒绝该客户端的连接请求。可以用maps_rbl_reject_code参数指定返回给客户机的错误代码(缺省为554)。

示例:

smtpd_client_restrictions = hash:/etc/postfix/access, reject_maps_rbl

smtpd_client_restrictions = permit_mynetworks, reject_unknown_client

该参数的缺省值为:

smtpd_client_restrictions =

也即接收来自任何客户端的SMTP连接。

3. 是否请求HELO命令

可以通过smtpd_helo_required参数指定客户端在SMTP会话的开始是否发

送一个HELO命令。你可以指定该参数的值为yes或no。缺省值为:

smtpd_helo_required = no

4. HELO主机名限制

可以通过smtpd_helo_restrictions参数指定客户端在执行HELO命令时发送

给postfix的主机名。缺省地,postfix接收客户端发送的任意形式的主机名。可以指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。可用的规则有:reject_invalid_hostname:如果HELO命令所带的主机名参数不符合语法规范则拒绝客户机的连接请求。可以用invalid_hostname_reject_code参数指定返回给客户机的错误代码(缺省为501)。

permit_naked_ip_address:RFC要求客户端的HELO命令包含的ip地址放在方括号内,你可以用permit_naked_ip_address参数取消该限制。因为有的mail客户端不遵守该RFC的规定。

reject_unknown_hostname:如果客户端执行HELO命令时的主机名在DNS中没有相应的A 或MX 记录则拒绝该客户端的连接请求。可以用invalid_hostname_reject_code参数指定返回给客户机的错误代码(缺省为450)。

reject_non_fqdn_hostname:如果客户端执行HELO命令时的主机名不是RFC规定的完整的域名则拒绝客户端的连接请求。可以用invalid_hostname_reject_code参数指定返回给客户机的错误代码(缺省为504)。

check_helo_access maptype:mapname:根据客户端HELO的主机名、父域名搜索access数据库。如果搜索的结果为REJECT 或者"[45]XX text" 则拒绝该客户端的连接请求;如果搜索的结果为OK、RELAY 或数字则接受该客户端的连接请求。可以用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。

示例:

smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname

5. RFC 821信头限制

RFC 821对邮件的信头做了严格的规定,但是广泛使用的sendmail并不支

持该规定,所以对于该参数我们只能说不,即:

strict_rfc821_envelopes = no

6. 通过发件人地址进行限制

可以用smtpd_sender_restrictions参数通过发件人在执行MAIL FROM命令时提供的地址进行限制。可以指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被

执行。可用的规则有:

reject_unknown_sender_domain:如果MAIL FROM命令提供的主机名在DNS中没有相应的A 或MX 记录则拒绝该客户端的连接请求。可以用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。

check_sender_access maptype:mapname:根据MAIL FROM命令提供的主机名、父域搜索access数据库。如果搜索的结果为REJECT 或者"[45]XX text" 则拒绝该客户端的连接请求;如果搜索的结果为OK、RELAY 或数字则接受该客户端的连接请求。可以用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。可以通过该参数过滤来自某些不受欢迎的发件人的邮件。

reject_non_fqdn_sender:如果MAIL FROM命令提供的主机名不是RFC规定的完整的域名则拒绝客户端的连接请求。可以用non_fqdn_reject_code 参数指定返回给客户机的错误代码(缺省为504)。

缺省地,postfix接受来自任何发件人的邮件。

示例:

smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain

7. 通过收件人地址进行过滤

可以用smtpd_recipient_restrictions参数通过发件人在执行RCPT TO命令

时提供的地址进行限制。缺省值为:

smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains

可以指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序

进行的,第一条符合条件的规则被执行。可用的规则有:

check_relay_domains:如果符合以下的条件,则接受SMTP连接请求,否则拒绝该连接,可以用relay_domains_reject_code 参数指定返回给客户机的错误代码(缺省为504)。

* 客户端主机名符合$relay_domains及其子域

* 目的地为$inet_interfaces、$mydestination或$virtual_maps

permit_auth_destination:不管客户端的主机名,只要符合以下的条件,就

接受SMTP连接请求:

* 解析后的目标地址符合$relay_domains及其子域

* 解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps

reject_unauth_destination:不管客户端的主机名,只要符合以下的条件,

就拒绝该客户端SMTP连接请求:

* 解析后的目标地址符合$relay_domains及其子域

* 解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps

check_recipient_access:根据解析后的目标地址、父域搜索access数据库。如果搜索的结果为REJECT 或者"[45]XX text" 则拒绝该客户端的连接请求;如果搜索的结果为OK、RELAY 或数字则接受该客户端的连接请求。可以用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。

reject_unknown_recipient_domain:如果收件人的邮件地址在DNS中没有相应的A 或MX 记录则拒绝该

客户端的连接请求。可以用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。

reject_non_fqdn_recipient:如果发件人在执行RCPT TO命令时提供的地址

不是完整的域名则拒绝其SMTP连接请求。可以用The non_fqdn_reject_code参数指定返回给客户机的错误代码(缺省为504)。

(4)posftfix的性能控制

之所以对postfix的性能进行控制,是为了在遇到邮件风暴时保证postfix可以正常运行。通常,我们可以通过对下列postfix参数的配置来调节postfix的性能,这些参数都是通过mail.cf配置文件进行配置的,修改以后不要忘了运行postfix reload命令来使配置生效。

1.进程数限制

可以通过default_process_limit 参数来控制postfix系统同时可以运行的最

大进程数目。缺省值是50个。

2.对同一目标主机的并发连接限制

当向同一目标主机发出SMTP连接时,postfix初始化发出两个SMTP连接,

如果投递成功则增加并发的SMTP连接数目,遇到拥塞时又减少并发连接的数目。postfix中通过以下的参数对同一目标主机的并发连接进行控制:

* initial_destination_concurrency:控制对同一目标主机的初始化并发连接数目。缺省值为2。

postfix的配置详解(三)

* default_destination_concurrency_limit:控制初始化连接后对同一目标主机的最大并发连接数目。缺省值为10。

* local_destination_concurrency_limit:控制对同一本地收件人的最大同时投递的邮件数目。缺省值为2,因为对本地同一收件人投递邮件时投递工作只能一个接一个的进行,所以设得在大也没用。

3.对同一封邮件的收件人数目限制

通过default_destination_recipient_limit参数来控制postfix的投递代理(如

smtp进程)可以将同一封邮件发送给多少个收件人。缺省值为50。也可以用明确指出该投递代理的参数来覆盖该缺省值。如用smtpd_recipient_limit来指定smtp投递代理可以将同一封邮件发送给多少个收件人,该参数的缺省值为1000。

4.推迟投递控制

通过defer_transports参数,我们可以推迟投递该参数指定的邮件直到postfix明确的提出投递要求。下面我们看一个例子:

有一个小型的局域网,用户都将邮件发送给局域网内部的一台postfix

邮件服务器,然后通过在该服务器上拨号将邮件发送出去。这时我们可以这样指定该参数的值:defer_transports = smtp

该语句表示postfix推迟投递所有的邮件直到执行sendmail -q命令,这样

我们就可以在ppp的脚本中加上sendmail -q,以便在拨号成功后让postfix开始投递邮件。

5.关于延迟邮件的再投递控制

可以通过以下的几个参数实现对延迟邮件的再投递控制:

queue_run_delay:设置队列管理进行扫描deferred邮件队列的频率,缺省值为1000秒。maximal_queue_lifetime:设置postfix在放弃投递而返回不可投递信息前,被延迟邮件再deferred邮件队列中的生存时间。

minimal_backoff_time:当一封邮件投递失败后,邮件队列将在一段时间内忽视该邮件的存在,也就是我们前面讲的时间邮票。该参数就是用来设置最小的时间邮票。缺省值为1000秒。maximal_backoff_time:设置最大的时间邮票。

6.对拒绝服务攻击的处理

postfix对每一个SMTP会话都设置一个错误计数器,当该客户端的请求未

被接受或违反那UCE规则时,该计数器就增1。随着计数器的增加,postfix将采取不同的措施来防止恶意用户的拒绝服务攻击。

smtpd_error_sleep_time:当该错误计数器的值还很小时,postfix将暂停

smtpd_error_sleep_time指定的时间,然后向客户端报告一个错误。该参数的缺省值为5秒。smtpd_soft_error_limit:当错误计数器的值超过该参数指定的值时,postfix在响应该客户端请求前将沉睡一段时间。缺省值为10。

smtpd_hard_error_limit:当错误计数器的值超过该参数指定的值时,postfix

中断同该客户端的连接。缺省值为100。

(5)postfix对使用资源的控制

通过特定的postfix配置参数,我们可以实现postfix运行时对所消耗的资源的灵活控制。可以通过以下几个方面来控制postfix消耗的资源:

1.限制内存中的对象的大小

要控制对内存资源的消耗,必须控制内存中对象的大小。可以用以下的参数来进行对象大小的控制:

line_length_limit:控制读入数据时每一行的大小,如果太长则强行将其分割成更短的行,太长的行在投递时再重组。缺省值为2048 bytes。

header_size_limit:限制信头长度。缺省值为102400bytes。

message_size_limit:限制postfix队列文件的大小。缺省值为10240000 bytes。

queue_minfree:邮件队列中可用的空间大小。缺省为无限制。建议该值最好时message_size_limit的数倍以便于处理大邮件。

bounce_size_limit:限制某一邮件不可投递时,返回给发件人不可投递报告的大小,缺省值为50000 bytes。

2.限制内存中对象的数目

qmgr_message_recipient_limit:设置内存中收件人地址的最大数目。缺省值为10000。qmgr_message_active_limit:设置active邮件队列中邮件数目的最大值。缺省值为1000。duplicate_filter_limit:设置需要local和cleanup后台程序记住的收件人地址的最大数目。缺省值为1000。

3.限制等待一个外部命令完成的时间

command_time_limit:设置local程序等待一个外部命令完成的时间。缺省值为1000秒。

4.限制文件锁定的操作时间

deliver_lock_attempts:设置锁定一个文件的最大尝试次数。缺省值为5次。

deliver_lock_delay:设置如果锁定一个文件失败后再次尝试的等待时间,缺省值为1秒。

5.控制错误恢复

在某些情况下(如高负载),postfix的某个进程可能会死掉,这时master进

程会试图重新启动该进程,我们可以通过下面的参数来控制这种行为:

fork_attempts:试图重启动一个进程的最大尝试次数。缺省值为5次。

fork_delay:每两次尝试之间的等待时间,缺省值为1秒。

transport_retry_time:队列管理进程每两次尝试连接一个不正常的投递代理进程之间的等待时间。缺省为60秒。

(6)postfix中的地址操作

1.将地址改写为标准格式

postfix的配置详解(四)

在cleanup进程进行表查询之前,它首选请求trivial-rewrite进程将新

邮件地址改写成标准的user@fully.qualified.doma in格式。改写的目的是为了减少查询表中的条目,从而提供查询的效率。trivial-rewrite进程可以实现以下的地址改写:

* 将包含源路由信息的地址如@hosta,@hostb:user@site写成user@site,因为postfix不支持包含源路由信息的地址格式。

* 将形如user%domain的地址改写成user@domain的形式。该特性可通过allow_percent_hack参数进行控制,其缺省值为yes。

* 将只包含user的地址改写成user@$myorigin。该特性可通过append_at_myorigin参数进行控制,其缺省值为yes。最好不要改动其缺省值,因为大多数的postfix进程更擅长处理地址形如user@$myorigin的邮件。

* 将形如user@host的地址改写成user@host.$mydomain。该特性可通过append_dot_mydomain 参数进行控制,其缺省值为yes。

* 将形如user@site.的地址改写成user@site,也即除去了最后的点号。

2.规范地址映射

在cleanup进程将一封新邮件存入incoming邮件队列之前,cleanup进程

将根据查询规范表来进行地址改写,从而使之更具可读性。主要是替换形如https://www.doczj.com/doc/974841546.html,stname 风格的地址以及清除无效的域。缺省postfix是不进行规范地址改写的,你可以通过指定canonical_maps参数的值来使其生效。如:

canonical_maps = hash:/etc/postfix/canonical

也可以分别为收件人和发件人地址分别指定不同的改写规范,这时参数sender_canonical_maps和recipient_canonical_maps的优先级比canonical_maps高。如:

sender_canonical_maps = hash:/etc/postfix/sender_canonical

recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

3.地址欺骗

就是将形如user@host.doma in的地址改写成user@domain或user@other.doma in,

好像是从其他的邮件服务器发出的一样。缺省该功能是被禁止的,可以用参数masquerade_domains 使其生效,如:

masquerade_domains = $mydomain

也可以通过masquerade_exceptions参数对特定的用户不进行地址欺骗,如:

masquerade_exceptions = root

注意:地址欺骗只对发件人地址有作用。

4.虚拟地址映射

在运用了规范地址映射和地址欺骗之后,cleanup将使用虚拟表映射将邮件

重定向到所有的收件人。注意,该操作仅仅作用于信头上的收件人地址。这样,我们就可以将发送到虚拟域的邮件投递到真实用户的邮箱。系统的别名数据库同样可以起到相同的作用。缺省该功能是被禁止的,可以用参数virtual_maps使其生效,如:

virtual_maps = hash:/etc/postfix/virtual

5.Relocated数据库查询

Relocated表格提供如何将邮件发送给在系统中没有帐号的用户。缺省该功能是被禁止的,可以用参数relocated_maps使其生效,如:

relocated_maps = hash:/etc/postfix/relocated

6.别名数据库查询

当邮件在本地投递时,local投递代理进程会在别名数据库(linux下为

/etc/aliases)中查询收件人的别名。该操作不会作用于邮件信头中的地址。可以用alias_maps指定使用的别名数据库。缺省地,该功能是有效的,如:

alias_maps = hash:/etc/aliases

可以通过alias_database参数控制别名数据库的路径,如:

alias_database = hash:/etc/aliases

构建postfix邮件服务器(五)extmail和extman的安装,实现web使用和管理邮件系统

构建postfix邮件服务器(五)extmail和extman的安装,实现web使用和管理邮件系统2010年3月17日稀饭发表评论阅读评论 一、准备 1.在https://www.doczj.com/doc/974841546.html, 中下载extmail-1. 2.tar.gz 和extman1.1 Extmail 用于从浏览器中登入、使用邮件系统 Extman 用于从浏览器中管邮件系统 2.由于安装extmail要用到以下三个包(到https://www.doczj.com/doc/974841546.html, 中搜索) 1)Unix-Syslog https://www.doczj.com/doc/974841546.html,/~mharnisch/Unix-Syslog-1.1/Syslog.pm 2)DBI https://www.doczj.com/doc/974841546.html,/~timb/DBI-1.609/ 3)DBD-mysql https://www.doczj.com/doc/974841546.html,/~capttofu/DBD-mysql-4.013/lib/DBD/mysql.pm 3.安装Extman web管理要用到以下四个软件包 1)GD https://www.doczj.com/doc/974841546.html,/~lds/GD-2.44/ 解决验证码 2)File-Tail https://www.doczj.com/doc/974841546.html,/~mgrabnar/File-Tail-0.99.3/ 支持图形日志 3)rrdtool-1.2.23-3..el5.i386.rpm 支持图形日志 4)rrdtool-perl-1.2.23-3.el5.i386.rpm 支持图形日志 二、按先后顺序安装以下软件 1.安装Unix-Syslog 1)解压tar zxvf Unix-Syslog-1.1.tar.gz 2)进入目录cd Unix-syslog-1.1 3)预配置perl Makefile.PL 4)编译,安装make ; make install

LAMP+postfix+dovecot+mailman搭建邮件服务器及邮件列表

LAMP+postfix+dovecot+mailman搭建邮件服务器及邮件列表 声明:鉴于此前有其他用户未经本同意上传本人原创作品的情况,特在此声明,此文由libidli (百度ID)编写,任何人本人未经同意不得转载或上传 email:libidli@https://www.doczj.com/doc/974841546.html,

目录 一、邮件列表所需要的安装包 (3) 二、安装Apache (3) 三、安装MySQL (3) 四、安装PHP (4) 五、安装并配置postfix (5) 六、安装并配置Dovecot (7) 七、支持虚拟用户 (8) 八、安装extmail及extman (10) 九、病毒及垃圾邮件过滤 (13) 十、安装配置mailman (14) 十一、总结 (17) 十二、【参考文档】 (17) 十三、【附录一】cyrus-sasl2的安装 (17) 十四、【附录二】搭建所遇问题及解决方案 (18)

本文系统环境是rhel-server-5.5 一、邮件列表所需要的安装包 简单地说,搭邮件列表的前提是搭一个邮件服务器,能收发邮件才能实现一个邮件列表的功能;收信主要通过IMAP或POP3服务完成;发信主要通过SMTP服务完成;为了更好的实现操作及管理,所以还需要提供web邮件及管理服务;另外为了保证邮件的安全可靠,还需要提供一些发信认证、垃圾邮件扫描、病毒扫描的服务;以上这些服务 安装基础设施LAMP 二、安装Apache #tar –zxf httpd-2.2.21.tar.gz #cd /usr/local/src/httpd-2.2.21 #./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite #make #make install 三、安装MySQL #useradd –M –s /sbin/nologin mysql mysql需要一个独立的账户执行系统有可能自带mysql,建立先将其卸载掉 #tar zxf mysql-5.5.17.tar.gz #cd /usr/local/src/ mysql-5.5.17 #./configure --prefix=/usr/local/mysql #make #make install 以上完成后,配置MySQL #cd mysql-5.5.17 #cp support-files/https://www.doczj.com/doc/974841546.html,f /etc/https://www.doczj.com/doc/974841546.html,f 复制主配置文件

安装及配置Postfix邮件服务器

安装、配置Postfix邮件服务器 一、编译、安装 注:只要按照此安装及配置步骤进行,均可成功实现安装、配置postfix。文中“』”表示空格 1、关闭sendmail service』sendmail』stop 2、添加用户组和用户 groupadd』–g』1200』postdrop groupadd』–g』1000』postfix useradd』–M』–u』1000』–g』postfix』–G』postdrop –s/sbin/nologin』postfix 3、编译安装 1)进入源码包所在目录 如:cd』/home/hello/ 2)列补丁(可省略) l(小写的“L”) 3)解压补丁包(可省略) gunzip』postfix----vda-ng.patch.gz 4)解压源码包 tar』zxvf』postfix-2.6.2.tar.gz』–C』/usr/src/ cd』/usr/src/』postfix-2.6.2 注:–C』/usr/src/ 是指把解压后当然源码包存放在/usr/src/目录下; cd』/usr/src/』postfix-2.6.2 是指进入源码包目录。 5)打补丁(可省略) Patch』–p1』<』/home/hello/----补丁存放当然位置 6)编译 make 如果此时出現缺少db*-devel错误: install the appropriate db*-devel package first make: ***[makefiles] error 解决办法:

到光盘下去把db*-devel文件查找出来或把整个linux包,拷贝到相应位置,然后用如下命令进行安装 rpm』–ivh』-force-debian』–nodeps』/home/hello/db*-devel.rpm 7)安装 make』install 到此postfix安装完成,postfix在/usr/src/postfix-2.6.2中 二、配置postfix 1、postfix必须有DNS支撑 启动dns service named restart 测试DNS是否正确 nslook 退出用exit 2、进入postfix工作目录 cd』/etc/postfix/ 3、得到有效的配置项 postconf』–n >』main.cf- 把主配置文件改名 mv』main.cf』main.cf.bak 为得到的配置文件改名 mv』main.cf-』main.cf 查看一下 vi main.cf 4、添加如下行: Inet_interfaces=127.0.0.1,192.168.1.1 myhostname=https://www.doczj.com/doc/974841546.html, mydomain=https://www.doczj.com/doc/974841546.html, myorigin=$mydomain mydestination=$mydomain,$myhostnam home_mailbox=Maildir/ //邮件存放位置 5、启动服务 postfix start 查看是否服务启动

linux环境下postfix+dovecot+webmail安装配置详解

构建postfix邮件服务器(一) 1、编译安装Postfix [root@mail ~]# groupadd -g 1200 postdrop [root@mail ~]# groupadd -g 1000 postfix [root@mail ~]# useradd -M -s /sbin/nologin -u 1000 -g postfix -G postdrop postfix [root@mail ~]# tar zxf postfix-2.4.6.tar.gz [root@mail ~]# gunzip postfix-2.4.6-vda-ng.patch.gz [root@mail ~]# cd postfix-2.4.6 [root@mail postfix-2.4.6]# patch -p1 < ../postfix-2.4.6-vda-ng.patch patching file README_FILES/VDA_README patching file src/global/mail_params.h patching file src/util/file_limit.c patching file src/virtual/mailbox.c patching file src/virtual/maildir.c patching file src/virtual/virtual.c patching file src/virtual/virtual.h [root@mail postfix-2.4.6]# 预配置编译参数 [root@mail postfix-2.4.6]# make makefiles \ 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \ -DUSE_SASL_AUTH \ -DUSE_CYRUS_SASL -I/usr/include/sasl' \ 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \ -L/usr/lib/sasl2 -lsasl2 ' && make && make install //编译并进行安装 Postfix的配置文件 (Postfix系统最主要的配置文件包括:/etc/postfix/main.cf 和/etc/postfix/master.cf.前者是postfix服务的配置文件,后者是master程序的配置文件) [root@mail postfix-2.4.6]# postconf –n //-n 将只列出不同于默认值的配置参数command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 2 html_directory = no mail_owner = postfix mailq_path = /usr/bin/mailq manpage_directory = /usr/local/man newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = no sample_directory = /etc/postfix sendmail_path = /usr/sbin/sendmail

linux Postfix邮件服务器安装配置

:Postfix邮件服务器的安装与配置 一、先安装配置Apache、DNS 1.挂载光盘镜像; Mount /dev/cdrom /mnt Cd /mnt/Server 2.安装Apache rpm -ivh httpd-2.2.3-43.el5.i386.rpm apr-1.2.7-11.el5_3.1.i386.rpm apr-util-1.2.7-11.el5.i386.rpm postgresql-libs-8.1.18-2.el5_4.1.i386.rpm 查看有否安装: [root@localhost Server]# rpm -qa | grep http httpd-2.2.3-43.el5 启动Apache: Service httpd start 3.安装DNS 用rpm分别安装以下包: bind-9.3.6-4.P1.el5_4.2.i386.rpm bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm bind-devel-9.3.6-4.P1.el5_4.2.i386.rpm bind-libbind-devel-9.3.6-4.P1.el5_4.2.i386.rpm bind-libs-9.3.6-4.P1.el5_4.2.i386.rpm bind-sdb-9.3.6-4.P1.el5_4.2.i386.rpm bind-utils-9.3.6-4.P1.el5_4.2.i386.rpm DNS有两个配置文件: 主配置文件: /var/named/chroot/etc/named.conf 用来设置DNS全局命令的 DocumentRoot “/var/www/html”:定义网页文件存放的目录 数据库文件:https://www.doczj.com/doc/974841546.html,.zone 记录哪个域名IP是多少的。 装完后启动DNS Service named start 编辑DNS主配置文件(默认是空的)如下: 命令:vim /var/named/chroot/etc/named.conf

利用UbuntuExtMail30分钟配置好一个功能强大的邮件

利用Ubuntu ExtMail 30分钟配置好一个功能强 大的 利用Ubuntu ExtMail 30分钟配置好一个功能强大的服务器V1.1,以下文档通过19个大的步骤进行配置,配置成功! 由于网上Ubuntu ExtMail的步骤特别多,看了都头痛,在此特别给朋友们制作了一个简洁的安装文档,希望大家喜欢:) 环境: Ubuntu 8.04 TLS postfix 2.5.1 ExtMail 1.2 extman 1.1 1.安装依赖包 apt-get install mysql-client-5.0 mysql-server apache2 postfix postfix-mysql postfix-doc courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl libapache2-mod-fastcgi libfcgi-perl build-essential libtool libnet-server-perl libnet-cidr-perl libberkeleydb-perl arc zoo lzop liblzo1 libstdc++5 libgd-gd2-perl libfile-tail-perl libdigest-sha1-perl libdigest-HMAC-perl libnet-ip-perl libnet-dns-perl libhtml-tagset-perl libhtml-parser-perl libio-stringy-perl libio-multiplex-perl libio-socket-ssl-perl libio-zlib-perl libnet-ssleay-perl libunix-syslog-perl libtimedate-perl libmailtools-perl libconvert-binhex-perl libconvert-tnef-perl libconvert-uulib-perl libcompress-zlib-perl libarchive-zip-perl libarchive-tar-perl perl-suid 你会被询问以下问题: Create directories for web-based administration? <– No General type of mail configuration: <– Internet Site System mail name: <– https://www.doczj.com/doc/974841546.html, 2.下载extmail-1.2和extman-1.1,并修改配置 下载地址:https://www.doczj.com/doc/974841546.html,/download tar xvzf extmail-1.2.tar.gz

最全的postfix配置参数

最全的postfix配置参数 2009-03-31 22:00 最完整的信息--postfix包随附的在线说明与配置文件样本,已经在你手上了。因此,本附录只能算是 postfix参数的“速查参考”。 对于每一个参数,我们都会列出其可能值或是设定值的类型,大部分类型的设定值都没有异议,只有一些类型的值需要解释: 逐项列出 参数需要一个或多个可能值。至于某特定参数可能需要哪些值,请参阅在线说明。 查询表 当参数指向查询表时,必须指出表的类型与名称,两者之间以一个冒号隔开,例如: transport_map = hash:/etc/postfix/transport 路径名称 一个文件的完整路径。 格式样板 某些参数的设定值,是由包含宏的字符串所组成,例如: smtpd_banner = $myhostname ESMTP $mail_name 宏(此例中的$myhostname与¥mail_name)是在运行时才展开的对应的参数值。至于哪些参数的样板可接受哪些宏,请参阅在线说明文件。 计时单位 postfix有许多涉及时间的参数,例如: queue_run_delay = 1000s 为了方便描述时间,postfix拟定了一组通用的计时单位简写,如果没注明计时单位,每个时间参数都有自己默认的计时单位。至于特定时间参数的默认计时单位是什么,请参阅在线说明。 单位简写 秒 s 分 m 时 h 日 d 周 w 所有参数都有一个默认值(虽然某些默认值得空白)。只有实际设定值不同于默认值得参数时,才需要被列在main.cf中。本篇附录虽然列出了参数得默认值,但是不保证新版本得postfix一定不会改变默认值。使用postconf命令得-d 选项,可以查出特定参数得默认值。 postconf -d alias_maps postfix参数速查参考 2bounce_noice_recipient 可能值:邮件地址默认值:postmaster “2bounce”是多钟可能得错误类型之一。每一类型错误,都可由你决定是否要发出通知函。2bounce_notice_recipient指定“2bounce”错误类型得通知对

Linux下的Postfix邮件服务器

Linux下的邮件服务器Postfix(一)在Linux下1、挂载光驱建立DNS服务器的MX记录:正向: 反向: 2、创建用户和密码: 看一下邮箱邮件默认保存在这里:

3、安装Postfix包,开启Postfix服务: 4、关闭sendmail服务: 5、编辑/etc/postfix/main.cf文件 找到这几项修改其余不改: myhostname = https://www.doczj.com/doc/974841546.html, 邮件主机的完整名称 mydomain = https://www.doczj.com/doc/974841546.html, 邮件主机域名 myorigin = $mydomain(表示所有)设置发件人邮件地址的网域名 inet_interfaces = all (表示监听所有端口)监听端口【把下面的inet_interfaces=localhost 注释掉】 mydestination = $myhostname, $mydomain(表示所有)指定接收邮件时收件人的域名mynetworks = 192.168.1.0/24, 127.0.0.0/8(192.168.1.0/24表示这个网段,127.0.0.0/8表示本 地)设置可以为其转发邮件的网络 relay_domains = $mydestination(表示所有)设置可以为其转发邮件的域名 6、重新启动服务: 7、验证:发信: #telnet https://www.doczj.com/doc/974841546.html, 25 telnet到邮件服务器的25号端口 helo https://www.doczj.com/doc/974841546.html, 用helo或ehlo介绍自己(可以不写) mail from:li@https://www.doczj.com/doc/974841546.html, 发信人地址 rcpt to:gen@https://www.doczj.com/doc/974841546.html, 收件人地址 data 表示开始输入邮件正文 Hello! 邮件正文 .新起一行以“.”表示正文结束 quit 退出telnet

postfix邮件服务器搭建完整版

Postfix邮件服务器安装 一.安装前准备 1.关闭防火墙 vi /etc/selinux/config 图1 如图1,将其中的SELINUX=enforcing修改为SELINUX=disabled 需要注意的是此修改需要重启后才能生效,可以在将所有搭建步骤结束后在进行重启。 2.关闭ip信息包过滤系统iptables iptables –flush 图2 3. 从自启动中关掉sendmail 先停掉sendmail服务:service sendmail stop

图3 然后从自启动项中移除sendmail:chkconfig sendmail off 二、安装软件包,本文档中安装的是linux redhat5.4自带的rpm安装包 1. 安装配置DNS服务器 DNS服务用来帮助解析域名的,如果不配置DNS服务,那么outlook,foxmail等软件无法解析我们的邮件域名,也就无法连接到提供收发邮件协议的服务器。 (1)查看系统是否已经安装了服务相关的所有安装包rpm –qa|grep bind 图4 可以看到系统只安装了服务所需的部分包,还需要安装如下图所示的其他包: 图5 (2)使用rpm –ivh 命令安装其他包: 图6

(3)配置DNS DNS有两个配置文件: ①主配置文件: /var/named/chroot/etc/named.conf 用来设置DNS全局命令的 编辑DNS主配置文件(默认是空的)如下: 命令:vi /var/named/chroot/etc/named.conf 这里以https://www.doczj.com/doc/974841546.html,域名为例进行配置,如图: 图7 编辑完成后先按Esc键退出编辑状态然后输入:wq 点击回车进行保存。 ②zone文件,注意此处的zone文件的名称要和住配置文件中的file后写的文件名一致。可以从模板拷贝一份zone文件进行编辑配置: cp/usr/share/doc/bind-9.3.6/sample/var/named/localdomain.zone /var/named/chroot/var/named/https://www.doczj.com/doc/974841546.html,.zone 图8 编辑https://www.doczj.com/doc/974841546.html,.zone文件:

linux-postfix服务器-电子邮件过滤和防病毒

linux-postfix服务器-电子邮件过滤和防病毒-技术笔记 电子邮件过滤和防病毒 postfix邮件服务系统可以针对SMTP会话中的地址,名称等信息进行检查,并根据main.cf 的配置参数将某一类型的数据发送到指定的策略配置文件,由该文件配置执行的动作,该文件经过hash加密导入数据库。 1. 根据客户端的主机名地/址过滤邮件,可以是单个ip,网段ip,域名,主机名。 vi /etc/postfix/main.cf smtpd_client_restrictions = check_client_access hash:/etc/postfix/access //指定策略文件和hash数据库位置 下面设置策略文件: vi /etc/postfix/access 192.168.4 REJECT //也可以使用DISCARD丢弃 192.168.4.1 OK https://www.doczj.com/doc/974841546.html, REJECT postmap /etc/postfix/access //该命令用于将策略文件hash一下加入数据库 //客户端地址可能是邮件真实的来源地,而helo信息只是客户端告知的地址 //客户端的信息是 2根据hello信息中的主机名地址过滤 配置main.cf smtpd_helo_required = yes //要求必须使用helo命令 smtpd_helo_restrictions = reject_invalid_hostname //拒绝使用无效主机名的主机 3根据发件人地址过滤邮件 smtp_sender_login_maps = mysql:/etc/postfix/mysql_virtual_sender_maps.cf, //指定mysql类型的查询表文件和别名文件 mysql:/etc/posfix/mysql_virtual_alias_maps.cf smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, //发件人与登录用户不匹配时拒绝 reject_non_fqdn_sender, //发件人地址不属于合法FQDN时拒绝 reject_unknown_sender_domain, //发件人地址未知或不存在时拒绝 //以上可以防止通过发信认证的用户伪造mail from 信息 check_sender_access hash:/etc/postfix/sender_access //用于指向含有邮件地址域名地址的查询表,即rcpt to: 提供的信息---实际上是收件人地址 如:vi /etc/postfixsender_access REJECT marketing@ REJECT https://www.doczj.com/doc/974841546.html, REJECT https://www.doczj.com/doc/974841546.html, REJECT postmap /etc/postfix/sender_access 4根据收件人地址过滤 smtpd_recipient_restrictions = permit_mynetworks, //允许本邮件系统发出的邮件

postfix邮件服务器配置文档

一、一、 postfix postfix 概述概述 postfix 是Wietse Venema 在IBM 的GPL 协议之下开发的MTA(邮件传输代理)软件。下面一段话摘自postfix 的官方站点(https://www.doczj.com/doc/974841546.html,): “postfix 是Wietse Venema 想要为使用最广泛的sendmail 提供替代品的一个尝试。在Internet 世界中,大部分的电子邮件都是通过sendmail 来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真实一个让人吃惊的数字。Postfix 试图更快、更容易管理、更安全,同时还与sendmail 保持足够的兼容性。” 1.1 postfix 的特点 1. postfix 是免费的: postfix 想要作用的范围是广大的Internet 用户,试图影响大多数的Internet 上的电子邮件系统,因此它是免费的。 2. 更快: postfix 在性能上大约比sendmail 快三倍。一部运行postfix 的台式PC 每天可以收发上百万封邮件。 3. 兼容性好: postfix 是sendmail 兼容的,从而使sendmail 用户可以很方便地迁移到postfix。Postfix 支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。 4. 更健壮: postfix 被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix 会自动减少运行进程的数目。当处理的邮件数目增长时,postfix 运行的进程不会跟着增加。 5. 更灵活: postfix 是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。 6. 安全性 postfix 具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix 程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。 1.2 postfix 的总体结构 postfix 由十几个具有不同功能的半驻留进程组成,并且在这些进程中并无特定的进程间父子关系。某一个特定的进程可以为其他进程提供特定的服务。 大多数的postfix 进程由一个进程统一进行管理,该进程负责在需要的时候调用其他进程,这个管理进程就是master 进程。该进程也是一个后台程序。 这些postfix 进程是可以配置的,我们可以配置每个进程运行的数目,可重用的次数,生存的时间等等。通过灵活的配置特性可以使整个系统的运行成本大大降低。 1.2.1 postfix 的邮件队列(mail queues) postfix 有四种不同的邮件队列,并且由队列管理进程统一进行管理: 1. maildrop:本地邮件放置在maildrop 中,同时也被拷贝到incoming

postfix+dovecot+openwebmail

Postfix 实验名称:postfix电子邮件服务器配置 实验目的:实现postfix电子邮件服务器的基本环境配置,在些基础上提高postfix防垃圾邮件能力、防电子邮件包含病毒及保护postfix 的安全措施(拒绝服务攻击);如何定期地去清理日志及利用工具查看日志,即是:postfix+dovecot+cyrus-sasl+openwebmail/squirrelmail+mailScanner+An tiviru s+spamAssassin(解释:dovecot提供imap、pop3服务(在新版本的redhat linux 中dovecot代替了imap软件包);cyrus-sasl提供认证功能的;openwebmail/squirrelmail都是提供webmail服务,其中squirrelmail是redhat自带的,在第三张光盘;而openwebmail 则是第三方软件;mailScanner好像是邮件扫描用的,主要与Antivirus(防病毒)结合;spamAssassin是用来处理垃圾邮件的,判断邮件是否为垃圾邮件) 实验内容: 1.设置服务器的IP地址为10. 2.46.129/24,首先DNS为10.2.46.129,关闭防火墙(便于测试) 2.安装dns服务器所需要的软件包:bind-utils(第一张光盘)、bind、bind-libs(第一张光盘)、bind-chroot(第二张光盘)、caching-nameserver (第四张光盘) 3.配置dns服务器的主机记录、邮件记录及测试 4.安装postfix(第三张光盘)和postfix-pflogsumm(依赖于

Postfixadmin安装手册

Postfixadmin是一个常用的邮件发送服务器的管理工具,要想用他就该懂的他是如何安装的,请看下文。 1.首先下载postfixadmin.tar.gz. 在/var/www/html下解压缩: tar -zxvf postfixadmin-2.1.0.tgz 然后改名成为postfixadmin---------->因为/var/www/html/postfixadmin以后将用作存放网页的文件夹,所以要尽量节俭. 2.修改脚本: /var/www/html/postfixadmin下解压缩后解压出来的config.inc.php.sample的样本文件. 用cp config.inc.php.sample config.inc.php后,vi config.inc.php,修改该文件... 由'en'改成'zh'---->如果默认是en不想改的话也可以. 由NO改成YES. 由YES改成NO--->以上两个必须要改的.. 3.导入MYSQL数据库: /var/www/html/postfixadmin]#mysql -u root -p < DATABASE_MYSQL.TXT-->这个文件在解压缩后该目录自己存在的. 如果提示:ERROR 1062 (23000) at line 28: Duplicate entry 'localhost-postfix' for key 1

则一般为之前已经导入过文件,MYSQL里面需要清空,如果实在没什么必要数据,不如彻底用YUM REMOVE MYSQL卸掉后重新安装MYSQL来的更快些.如果有数据,则需要在MYSQL中删掉POSTFIX这个用户名即可. 4,之后可以启动HTTPD:service httpd start,然后在地址栏输入http://ip/postfixadmin 就可以正常访问postfix的主页了 图1 点击中间的setup 进行测试,如果出现: Warning: Magic Quotes: OFF (using internal function!) 则需要修改/etc/php.ini文件中的magic_quotes_gpc=off--改成On--->注意那个On,前面的O是大写的!! 如果出现:

Postfix安装与使用

Postfix安装与使用 一、下载:去官网下载最新的postfix安装包:https://www.doczj.com/doc/974841546.html,/ftp-sites.html 二、编译与安装: 1、如果你的系统上原来有sendmail,先将其停止并将其文件改名。 用以下命令查看系统是否安装了sendmail: rpm -qa |grep sendmail sendmail-doc-8.9.3-15 sendmail-8.9.3-15 sendmail-cf-8.9.3-15 用以下命令强行卸载sendmail: rpm -e sendmail sendmail-cf sendmail-doc --nodeps 用以下命令杀死运行中的sendmail进程: killall sendmail 2、改名 /etc/init.d/sendmail stop chkconfig --level 0123456 sendmail off mv /usr/bin/newaliases /usr/bin/newaliases.orig mv /usr/bin/mailq /usr/bin/mailq.orig mv /usr/sbin/sendmail /usr/sbin/sendmail.orig 3、然后添加两个组:postfix和maildrop和一个用户:postfix groupadd -g 400 postfix groupadd -g 401 postdrop useradd -u 400 -g 400 -c postfix -M -d/no/where -s/no/shell postfix 这里的组和用户的ID是系统中未使用的ID,一般需要手动修改/etc/passwd,比如:postfix:x:12345:12345:postfix:/no/where:/no/shell 4、编译与安装: tar -xvzf postfix-2.0.16.tar.gz cd postfix-2.0.16 make -f Makefile.init makefiles make install 三、配置 ********************** cd /etc/postfix echo 'root: xxx@https://www.doczj.com/doc/974841546.html,' >> /etc/postfix/aliases postalias /etc/postfix/aliases postmap virtual ********************** 1、给postfix用户做一个系统别名,并将超级用户的邮箱转发到一个普通用户。 2、使用/etc/postfix/aliases别名数据库: cd /etc/postfix echo 'root: ssxx@https://www.doczj.com/doc/974841546.html,' >> /etc/postfix/aliases 3、生成/etc/postfix/aliases别名数据库: postalias /etc/postfix/aliases 4、生成/etc/postfix/virtual的DB库: postmap virtual 5、用root权限执行/usr/bin/newaliases 6、修改配置文件,修改/etc/postfix/main.cf的配置,主要如下: myhostname = https://www.doczj.com/doc/974841546.html, mydomain = https://www.doczj.com/doc/974841546.html, myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, $mydomain, localhost mynetworks_style = subnet mynetworks = 168.100.189.0/28, 127.0.0.0/8 relay_domains = net com cn org edu

Linux1 邮件服务器 Postfix的配置

Linux1 邮件服务器Postfix的配置 Red Hat Enterprise Linux 5.4中的Postfix与Sendmail一样,默认只监听本地127.0.0.1端口的邮件收发。但如果要对整个Internet开放的话,就需要学会对Postfix 进行配置。然而,几乎所有的设置都可以通过/etc/postfix/main.cf文件搞定。对于这个文件的内容需要注意以下几点: ●“#”符号表示注释。 ●所有设置值以类似变量的设置方式来处理。例如myhostname = https://www.doczj.com/doc/974841546.html,,其中等号两边要有空格,且第一个字符不可以是空白,也 就是要从行首写起。 ●可以使用“$”来扩展使用变量设置,例如myorigin = $myhostname,其等 价于myorigin = https://www.doczj.com/doc/974841546.html,。 ●如果该变量支持2个以上的数据,则需要使用空格符分隔,不过建议使用 “,”加空格来处理。例如myorigin = $myhostname, $mydomain,表示 myorigin支持2个数据内容。 ●可使用多行来表示同一个设置值,只要在第1行最后有“,”,且第2行开 头为空格,即可将数据延伸到第2行继续书写。 ●若重复设置某一项目,则以最后一次设置为准。 虽然该配置文件的内容比较多,但其中大部分内容都是注释(以“#”号开头的行),真正需要自行定义的参数并不多,而且这些参数就算不去定义,按照默认值也可以正常运行。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦更改了main.cf文件的内容,则必须运行postfix reload命令使其生效。1.myhostname 这个参数用来设置Postfix服务器的计算机名称,且这个设置值被后面许多其它参数所引用,所以必须设置正确,应该设置成为完整的计算机名称(如https://www.doczj.com/doc/974841546.html,),如图9-55中第71行所示。 图9-55 设置Postfix的计算机名称 除了myhostname外,还有一个mydomain参数,该项目默认会取myhostname (https://www.doczj.com/doc/974841546.html,)中删除第一个“.”之前内容的名称(https://www.doczj.com/doc/974841546.html,)为设置值,而设置Domain Name。当然,用户也可以自行设置它。myhostname和mydomain两个设置值只是用来引用的,只要用户设置正确就可以了。 2.inet_interfaces

postfix的配置详解

postfix的配置详解(一) (1)postfix的配置文件结构 postfix的配置文件位于/etc/postfix下,安装完postfix以后,我们可以通过ls命令查看postfix的配置文件: [root@mail postfix]# ls install.cf main.cf master.cf postfix-script 这四个文件就是postfix最基本的配置文件,它们的区别在于: mail.cf:是postfix主要的配置文件。 Install.cf:包含安装过程中安装程序产生的postfix初始化设置。 master.cf:是postfix的master进程的配置文件,该文件中的每一行都是用来配置postfix的组件进程的运行方式。 postfix-script:包装了一些postfix命令,以便我们在linux环境中安全地执行这些postfix命令。 (2)postfix的基本配置 postfix大约有100个配置参数,这些参数都可以通过main.cf 指定。配置的格式是这样的,用等号连接参数和参数的值。如: myhostname =https://www.doczj.com/doc/974841546.html, 等号的左边是参数的名称,等号的右边是参数的值;当然,我们也可以在参数的前面加上$来引用该参数,如: myorigin = $myhostname 虽然postfix有100个左右的参数,但是postfix为大多数的参数都设置了缺省值,所以在让postfix正常为你服务之前,你只需要配置为数不多的几个参数。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦你更改了main.cf文件的内容,则必须运行postfix reload命令使其生效。 1.myorigin myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@https://www.doczj.com/doc/974841546.html,,则该参数指定@后面的域名。缺省地,postfix使用本地主机名作为myorigin,但是建议你最好使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为https://www.doczj.com/doc/974841546.html,则我们可以这样指定myorigin: myorigin = https://www.doczj.com/doc/974841546.html, 当然我们也可以引用其他参数,如: myorigin = $mydomain 2.mydestination mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就 是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为user@https://www.doczj.com/doc/974841546.html,, 也就是你的域为https://www.doczj.com/doc/974841546.html,, 则你就需要接收所有收件人为user_name@https://www.doczj.com/doc/974841546.html,的邮件。与myorigin一样,缺省地,postfix使用本地主机名作为mydestination。如: mydestination = $mydomain mydestination = https://www.doczj.com/doc/974841546.html, 3.notify_classes 在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,

postfix邮件测试

RHEL5安装Postfix+CyrusSASL+dovecot 默认方式安装RHEL5,不选中任何类型服务器(如WEB服务器,开发服务器,虚拟服务器等) 一、安装postfix [root@rhel5 ~]# service sendmail stop 关闭sm-client:[确定] 关闭sendmail:[确定] [root@rhel5 ~]# chkconfig sendmail off [root@rhel5 Server]# rpm -ivh postfix-2.3.3-2.i386.rpm [root@rhel5 Server]# vi /etc/postfix/main.cf myhostname = https://www.doczj.com/doc/974841546.html, #设置运行postfix服务的邮件主机的主机名、域名mydomain =https://www.doczj.com/doc/974841546.html, myorigin = $mydomain #设置由本机寄出的邮件所使用的域名或主机名称 inet_interfaces = all #设置postfix服务监听的网络接口 mydestination = $myhostname, $mydomain #设置可接收邮件的主机名称或域名 mynetworks = 192.168.0.0/24 #设置可转发哪些网络的邮件 relay_domains = $mydestination #设置可转发哪些网域的邮件 保存文件。 检查postfix的配置: [root@rhel5 Server]# postconf –n [root@rhel5 ~]# chkconfig postfix on 二、添加邮件用户的帐号 [root@mail ~]# groupadd mail [root@mail ~]# useradd –g mail -s /sbin/nologin zpp001 [root@mail ~]# useradd -g mail -s /sbin/nologin zpp002 [root@mail ~]# passwd zpp001 [root@mail ~]# passwd zpp002 將postfix加入到root的组: # usermod -G root postfix 三、SMTP认证的配置安装cyrus-sasl 1、确认cyrus-sasl是否安装了 [root@rhel5 Server]# rpm -qa|grep cyrus cyrus-sasl-plain-2.1.22-4 cyrus-sasl-lib-2.1.22-4 cyrus-sasl-2.1.22-4 2、Cyrus-SASL V2的密码验证机制 [root@rhel5 ~]# saslauthd -v saslauthd 2.1.22 authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

相关主题
相关文档 最新文档