Linux Study Lab !

当前位置:   网站首页 >> Linux 邮局应用

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加密认证,此处暂时关闭



发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项