Postfix配置文件主要定义参数配置
Postfix的的配置文件位于以下目录,使用vi命令打开进行编辑,注意编译安装的配置文件请以你编译时定义的config_directory: [/etc/postfix] 为主
vi /etc/postfix/main.cf
打开主要配置文件进行编辑(请不要直接复制以下代码替换配置文件,因为注释的内容会造成配置无法解析),下面例举的配置文件是一个可正常运行的基本邮局服务,并且不会成为公网上的open relay!配置文件中的要点请看注释。部分配置会进行说明,请遵循默认的值,也就是不去掉前方的#注释符号;部分配置必须去掉#前的符号进行参数定义,请注意!
#-----以下均为默认值------ queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix setgid_group = postdrop #proxy_interfaces = <--此参数用于位于代理网关之下的服务器,本文范例中不配置,有代理网关才能出内网的,请去掉注释符号并填写代理网关地址 unknown_local_recipient_reject_code = 550 #relay_domains = $mydestination <--此处定义允许传递的域,在使用单一MX服务器的时候,使用默认值不定义这个参数 #relay_recipient_maps = hash:/etc/postfix/relay_recipients <--此处定义随上方参数使用默认值,即不使用定义接受relay的列表 debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.6.6/samples readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES #-----参数功能有重叠,本文中暂不定义的参数------- #mynetworks_style = class <--此参数与mynetworks功能有重叠 #mynetworks_style = subnet <--此参数与mynetworks功能有重叠 #mynetworks_style = host <--此参数与mynetworks功能有重叠 #mynetworks = $config_directory/mynetworks <--此处可以使用文件定义多个地址,本文中暂不定义,请参考下方定义区域 #mynetworks = hash:/etc/postfix/network_table<--此处可以使用文件定义多个地址,本文中暂不定义,请参考下方定义区域 #-----以下请去掉注释符号,并在=号后定义参数----- myhostname = mail.test.cc <--定义你的邮局域名,比如你有一个域名是test.cc,请在此处定义,子域前缀最好加上mail,以便日后扩展 mydomain = test.cc <--定义你邮件服务器的所属域名,默认会使用myhostname中的根域,也可自己手动定义 myorigin = $mydomain <--此处定义邮件传递过程中发送来源名称,也就是你发邮件时给对方后,对方看到的@之后的网域名称 inet_interfaces = all <--此处定义监听的端口,如果要对公网服务,请定义为all;本机内部邮件测试请定义为localhhost inet_protocols = ipv4 <--此处定义邮局服务监听的类型,如果你没有使用ipv6服务,则可以在此处定义ipv4而不是默认的all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain <--参数指定哪些邮件地址允许在本地发送邮件。这是一组被信任的允许通过服务器发送或传递邮件的IP地址,用户试图通过发送从此处未列出的IP地址的原始服务器的邮件将被拒绝。 mynetworks = 127.0.0.0/8, 你的服务器公网固定IP <--此处定义受信任SMTP的列表,只有位于这个列表内的网域,才能成为受信任的SMTP客户请求端,才会允许通过Postfix传递邮件。 alias_maps = hash:/etc/aliases <--此处定义用户别名,在配置文件中的其他三个相同的选项请保持注释 alias_database = hash:/etc/aliases <--此处定义用户别名,在配置文件中的其他三个相同的选项请保持注释 home_mailbox = Maildir/ <--此处定义用户的邮箱格式标准,还有一个参数为Mailbox,仅可二选一,区别请度娘 #-----SMTP服务参数------ smtpd_banner = $myhostname ESMTP $mail_name (unkonw) <--此处定义服务器回显给登入用户的hello信息,请编辑隐藏具体版本号 smtpd_sasl_auth_enable = yes <--开启smtp端口的身份验证 smtpd_sasl_local_domain = <--此参数用于定义默认认证域,请留空 smtpd_sasl_security_options = noanonymous <--此处定义不允许尝试匿名登陆服务 #smtpd_sender_restrictions = permit_mynetworks <--此处定义接受的发件方所处的网域或地址范围,如果用于公网,请勿定义这个参数 smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unknown_sender_domain,reject_unauth_destination <--此处定义了允许发信的过滤条件,以及不允许发信的条件,这个范例参数可以用于企业私网与公网发布使用,如无特殊要求,请照着这样定义即可 smtpd_client_restrictions = permit_sasl_authenticated <--此处定义连接到服务器的客户端必须使用加密认证 mailbox_size_limit = 1073741824 <--定义每个用户分配的邮箱总空间,单位是字节 message_size_limit = 10485760 <--定义每个用户每封邮件的大小上限,单位是字节 # broken_sasl_auth_clients = yes <--允许连接的客户端不使用SSL加密认证,此处暂时关闭