热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Postfix常用配置

原文地址:PostfixBasicConfiguration。有少许编译。[喝小酒的网摘]http://blog.const.net.cn/rss/read.php?id2500介绍Postfix的配置文件main.cf有数百个配置参数,幸运的是,所有参数都有合理的默认配置项。大部分时候,只需要配置两三个参数即可。

原文地址:Postfix Basic Configuration。 有少许编译。[喝小酒的网摘]http://blog.const.net.cn/rss/read.php?id=2500

介绍

Postfix 的配置文件main.cf有数百个配置参数, 幸运的是,所有参数都有合理的默认配置项。 大部分时候,只需要配置两三个参数即可。

安装 Postfix 的方法可以参见安装方法。

特殊场景用途的配置方式,如邮件中枢,防火墙,拨号环境客户端的说明可以在标准配置说明里面查看。

Postfix 配置语法

Postfix 的配置文件默认在/etc/postfix。主力配置文件是main.cf和master.cf。用户权限必须是 root 的。

/etc/postfix/main.cf配置语法有两个要点:不用引号,可以使用$来引用参数。


1
2
3
4
5
6


# 定义一个参数
/etc/postfix/main.cf:
    parameter = value
# 引用一个已有参数
/etc/postfix/main.cf:
    other_parameter = $parameter

引用参数时候,可以再定义之前先引用(Postfix 使用延迟计算技术)。

Postfix 使用数据文件来控制接入权限。详情请看DATABASE 介绍,一般这样配置:


1
2


/etc/postfix/main.cf:
    virtual_alias_maps = hash:/etc/postfix/virtual

修改main.cf或者master.cf之后,需要postfix reload重新载入配置文件。

配置对外发送域名

myorigin参数指定邮件中显示的发送域名,默认使用当前机器名$myhostname。 一般来说,我们会把myorigin设置成顶级域名$mydomain。

范例:


1
2
3

/etc/postfix/main.cf:
    myorigin = $myhostname (default: send mail as "user@$myhostname")
    myorigin = $mydomain   (probably desirable: "user@$mydomain")

配置接收域名

mydestination参数配置了本地直接接收的域名,而不会再对外发送。

这个参数可以使用文件配置,也可以使用type:table,比如 hash / btree / ldap / mysql 等等。

范例:


1
2
3
4
5
6
7 8 9 10 11 12

# 默认配置
/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost
# 对整个域名生效
/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost $mydomain
# 对多个 DNS 域名生效
/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost
        www.$mydomain ftp.$mydomain

配置允许从哪些地方接收

默认情况下面,Postfix 仅发送信任网络的邮件。信任网络配置在mynetworks参数中。

范例(使用下列任意一个):


1
2
3 4 5

/etc/postfix/main.cf:
    mynetworks_style = subnet  (default: authorize subnetworks)
    mynetworks_style = host    (safe: authorize local machine only)
    mynetworks = 127.0.0.0/8   (safe: authorize local machine only)
    mynetworks = 127.0.0.0/8 168.100.189.2/32 (authorize local machine)

还可以这样配置:


1
2


/etc/postfix/main.cf:
    mynetworks = 168.100.189.0/28, 127.0.0.0/8

配置允许发送到的域名

默认情况下,非信任网络仅仅被允许从发送邮件到特定域名。默认值是mydestination下面的所有域名(包括子域名)。


1
2
3 4

/etc/postfix/main.cf:
    relay_domains = $mydestination (default)
    relay_domains =           (safe: never forward mail from strangers)
    relay_domains = $mydomain (forward mail to my domain and subdomains)

配置递送方式:直接或间接

默认情况下,Postfix 会直接递送邮件到因特网。有时候你的服务器在防火墙后面或者 无法直接连接互联网,那就需要将邮件递送到另外一个relay host。

范例:


1
2
3 4 5

/etc/postfix/main.cf:
    relayhost =                   (default: direct delivery to Internet)
    relayhost = $mydomain         (deliver via local mailhub)
    relayhost = [mail.$mydomain]  (deliver via local mailhub)
    relayhost = [mail.isp.tld]    (deliver via provider mailhub)

配置报告错误

可以通过配置aliases来将错误报告邮件转发给其他人。

范例:


1
2
3

/etc/aliases:
    postmaster: you
    root: you

默认情况下面,只会报告严重错误(资源错误和软件错误):


1
2


/etc/postfix/main.cf:
    notify_classes = resource, software

其他错误还有:bounce 拒收 / 2bounce 错误报告拒收 / delay 延迟 / policy 策略未通过 / protocol 协议错误 / resouce 资源错误 / software 软件错误

代理/NAT 配置

有时候需要通过代理或者 NAT 连接互联网。参考proxy_interfaces

范例:


1
2


/etc/postfix/main.cf:
    proxy_interfaces = 1.2.3.4 (the proxy/NAT external network address)

Postfix 日志分布情况

日志路径配置在/etc/syslog.conf中:


1
2
3

etc/syslog.conf:
    mail.err                                    /dev/console
    mail.debug                                  /var/log/maillog

建议经常这样做日志审核:


1
2


# postfix check
# egrep '(reject|warning|error|fatal|panic):' /some/log/file

在 chorooted 状态下运行 Postfix

初学者就不用管这个了。

配置机器名

myhostname手工指定了 FQDN。它被其他好几个域名相关的地方引用。

一般来说,如果指定了mydomain,就会自动通过它生成myhostname。

范例:


1
2
3 4

/etc/postfix/main.cf:
    myhostname = host.local.domain (machine name is not FQDN)
    myhostname = host.virtual.domain (virtual interface)
    myhostname = virtual.domain (virtual interface)

配置域名

使用mydomain配置,这个参数被很多地方引用。

范例:


1
2
3

/etc/postfix/main.cf:
    mydomain = local.domain
    mydomain = virtual.domain (virtual interface)

配置网络地址

inet_interfaces配置监听网络。

默认配置:


1
2


/etc/postfix/main.cf:
    inet_interfaces = all

多个虚拟邮件服务器配置:


1
2
3

/etc/postfix/main.cf:
    inet_interfaces = virtual.host.tld         (virtual Postfix)
    inet_interfaces = $myhostname localhost... (non-virtual Postfix)

注意,这项参数配置完之后需要重启。

版权所有 2010 转载本站文章请注明: 转载自Log4D
原文链接: http://blog.log4d.com/2013/11/postfix-basic-configuration/
您可以随意地转载本站的文章,但是必须在醒目位置注明来源及本站链接,不可以将本站文章商业化使用,或者修改、转换或者以本作品为基础进行创作。
3a1ff193cee606bd1e2ea554a16353ee

原文地址:Postfix Basic Configuration。 有少许编译。

介绍

Postfix 的配置文件main.cf有数百个配置参数, 幸运的是,所有参数都有合理的默认配置项。 大部分时候,只需要配置两三个参数即可。

安装 Postfix 的方法可以参见安装方法。

特殊场景用途的配置方式,如邮件中枢,防火墙,拨号环境客户端的说明可以在标准配置说明里面查看。

Postfix 配置语法

Postfix 的配置文件默认在/etc/postfix。主力配置文件是main.cf和master.cf。用户权限必须是 root 的。

/etc/postfix/main.cf配置语法有两个要点:不用引号,可以使用$来引用参数。


1
2
3
4
5
6


# 定义一个参数
/etc/postfix/main.cf:
    parameter = value
# 引用一个已有参数
/etc/postfix/main.cf:
    other_parameter = $parameter

引用参数时候,可以再定义之前先引用(Postfix 使用延迟计算技术)。

Postfix 使用数据文件来控制接入权限。详情请看DATABASE 介绍,一般这样配置:


1
2


/etc/postfix/main.cf:
    virtual_alias_maps = hash:/etc/postfix/virtual

修改main.cf或者master.cf之后,需要postfix reload重新载入配置文件。

配置对外发送域名

myorigin参数指定邮件中显示的发送域名,默认使用当前机器名$myhostname。 一般来说,我们会把myorigin设置成顶级域名$mydomain。

范例:


1
2
3

/etc/postfix/main.cf:
    myorigin = $myhostname (default: send mail as "user@$myhostname")
    myorigin = $mydomain   (probably desirable: "user@$mydomain")

配置接收域名

mydestination参数配置了本地直接接收的域名,而不会再对外发送。

这个参数可以使用文件配置,也可以使用type:table,比如 hash / btree / ldap / mysql 等等。

范例:


1
2
3
4
5
6
7 8 9 10 11 12

# 默认配置
/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost
# 对整个域名生效
/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost $mydomain
# 对多个 DNS 域名生效
/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost
        www.$mydomain ftp.$mydomain

配置允许从哪些地方接收

默认情况下面,Postfix 仅发送信任网络的邮件。信任网络配置在mynetworks参数中。

范例(使用下列任意一个):


1
2
3 4 5

/etc/postfix/main.cf:
    mynetworks_style = subnet  (default: authorize subnetworks)
    mynetworks_style = host    (safe: authorize local machine only)
    mynetworks = 127.0.0.0/8   (safe: authorize local machine only)
    mynetworks = 127.0.0.0/8 168.100.189.2/32 (authorize local machine)

还可以这样配置:


1
2


/etc/postfix/main.cf:
    mynetworks = 168.100.189.0/28, 127.0.0.0/8

配置允许发送到的域名

默认情况下,非信任网络仅仅被允许从发送邮件到特定域名。默认值是mydestination下面的所有域名(包括子域名)。


1
2
3 4

/etc/postfix/main.cf:
    relay_domains = $mydestination (default)
    relay_domains =           (safe: never forward mail from strangers)
    relay_domains = $mydomain (forward mail to my domain and subdomains)

配置递送方式:直接或间接

默认情况下,Postfix 会直接递送邮件到因特网。有时候你的服务器在防火墙后面或者 无法直接连接互联网,那就需要将邮件递送到另外一个relay host。

范例:


1
2
3 4 5

/etc/postfix/main.cf:
    relayhost =                   (default: direct delivery to Internet)
    relayhost = $mydomain         (deliver via local mailhub)
    relayhost = [mail.$mydomain]  (deliver via local mailhub)
    relayhost = [mail.isp.tld]    (deliver via provider mailhub)

配置报告错误

可以通过配置aliases来将错误报告邮件转发给其他人。

范例:


1
2
3

/etc/aliases:
    postmaster: you
    root: you

默认情况下面,只会报告严重错误(资源错误和软件错误):


1
2


/etc/postfix/main.cf:
    notify_classes = resource, software

其他错误还有:bounce 拒收 / 2bounce 错误报告拒收 / delay 延迟 / policy 策略未通过 / protocol 协议错误 / resouce 资源错误 / software 软件错误

代理/NAT 配置

有时候需要通过代理或者 NAT 连接互联网。参考proxy_interfaces

范例:


1
2


/etc/postfix/main.cf:
    proxy_interfaces = 1.2.3.4 (the proxy/NAT external network address)

Postfix 日志分布情况

日志路径配置在/etc/syslog.conf中:


1
2
3

etc/syslog.conf:
    mail.err                                    /dev/console
    mail.debug                                  /var/log/maillog

建议经常这样做日志审核:


1
2


# postfix check
# egrep '(reject|warning|error|fatal|panic):' /some/log/file

在 chorooted 状态下运行 Postfix

初学者就不用管这个了。

配置机器名

myhostname手工指定了 FQDN。它被其他好几个域名相关的地方引用。

一般来说,如果指定了mydomain,就会自动通过它生成myhostname。

范例:


1
2
3 4

/etc/postfix/main.cf:
    myhostname = host.local.domain (machine name is not FQDN)
    myhostname = host.virtual.domain (virtual interface)
    myhostname = virtual.domain (virtual interface)

配置域名

使用mydomain配置,这个参数被很多地方引用。

范例:


1
2
3

/etc/postfix/main.cf:
    mydomain = local.domain
    mydomain = virtual.domain (virtual interface)

配置网络地址

inet_interfaces配置监听网络。

默认配置:


1
2


/etc/postfix/main.cf:
    inet_interfaces = all

多个虚拟邮件服务器配置:


1
2
3

/etc/postfix/main.cf:
    inet_interfaces = virtual.host.tld     &

推荐阅读
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 本文详细解析了MySQL中常见的几种错误,并提供了具体的解决方法,帮助开发者快速定位和解决问题。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
author-avatar
热情的海浪公主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有