`

编译postfix2.2.10

阅读更多

参考文档:
http://blog.5ilinux.com/archives/2006/05/postfix_cyrussa.html
http://www.extmail.org/forum/archive/2/0510/563.html

wget ftp://postfix.cn99.com/postfix/official/postfix-2.2.10.tar.gz

tar zvxf postfix-2.2.10.tar.gz

下载VDA补丁,使postfix支持磁盘限额
wget http://web.onda.com.br/nadal/postfix/VDA/postfix-2.2.10-vda.patch.gz

gzip -d  postfix-2.2.10-vda.patch.gz

chkconfig --level 2345 sendmail off

安装postfix之前添加相关的用户&用户组
groupadd postfix -g 1000
groupadd postdrop
useradd postfix -u 1000 -g postfix -G postdrop
groupadd vmail -g 1002
useradd vmail -u 1002 -g 1002
mkdir /opt/virtual
chown vmail:vmail /opt/virtual
chmod -R 771 /opt/virtual

cd postfix-2.2.10
打补丁
patch -p1 < ../postfix-2.2.10-vda.patch

make tidy

make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/ -DUSE_SASL_AUTH -I/usr/local/include/sasl' \
'AUXLIBS=-L/usr/local/mysql/lib/ -lmysqlclient -lm -lz -L/usr/local/lib -lsasl2'

make
make install

mv /etc/aliases /etc/aliases.old
ln -s /etc/postfix/aliases /etc/aliases
echo 'root: admin@example.com'>>/etc/postfix/aliases
/usr/bin/newaliases

touch /etc/postfix/mysql/virtual_alias_maps.cf
touch /etc/postfix/mysql/virtual_domains_maps.cf
touch /etc/postfix/mysql/virtual_mailbox_maps.cf
touch /etc/postfix/mysql/virtual_limit_maps.cf

cd /etc/postfix
postconf -n > main2.cf
mv main.cf main.cf.old
mv main2.cf main.cf

vi /etc/postfix/main.cf
myhostname = mail.example.com         # mail.example.com是安装Postfix软件的主机名
mydomain = example.com                # example.com是安装Postfix软件的主机名中的域名部分
myorigin = $mydomain
mydestination =
alias_maps = hash:/etc/aliases
home_mailbox = Maildir/               # 使用Maildir作为邮件的存储格式


#=====================MySQL=====================
virtual_alias_maps = mysql:/etc/postfix/mysql/virtual_alias_maps.cf
virtual_mailbox_base = /opt/virtual
virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual_domains_maps.cf
virtual_mailbox_limit = 102400000
virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
virtual_minimum_uid = 1002
virtual_uid_maps = static:1002
virtual_gid_maps = static:1002
virtual_transport = virtual
#"virtual_gid_maps"和"virtual_uid_maps"是postfix用户的gid和uid, "virtual_minimum_uid"应当≤"virtual_uid_maps",

"virtual_mailbox_limit"是每个邮箱的大小。

#=====================Quota=====================
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/virtual_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes
#virtual_trash_count=yes
#virtual_trash_name=.Trash

#====================SASL======================
smtpd_recipient_restrictions =
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_non_fqdn_hostname,
 reject_non_fqdn_sender,
 reject_non_fqdn_recipient,
 reject_unauth_destination,
 reject_unauth_pipelining,
 reject_invalid_hostname
 #reject_rbl_client opm.blitzed.org,
 #reject_rbl_client list.dsbl.org,
 #reject_rbl_client bl.spamcop.net,
 #reject_rbl_client sbl-xbl.spamhaus.org
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

#=============================================
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
setgid_group = postdrop
unknown_local_recipient_reject_code = 550


编辑cf配置文件

vi /etc/postfix/mysql_virtual_alias_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
additional_conditions = AND active = '1'

=================================

vi /etc/postfix/mysql_virtual_domains_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
additional_conditions = AND active = '1'

=================================

vi /etc/postfix/mysql_virtual_mailbox_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
additional_conditions = AND active = '1'

=================================

vi /etc/postfix/mysql_virtual_limit_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username
additional_conditions = AND active = '1'


启动和停止postfix服务
/usr/sbin/postfix start
/usr/sbin/postfix stop

设置Postfix开机自动运行,在/etc/rc.local中增加“/usr/sbin/postfix start&”。
注:①系统已经打开了Postfix的TLS支持,如果你需要这项功能可以参考Postfix发行包中的TLS_README文档进行配置。
    ②你可以使用一个叫pflogsumm.pl的perl脚本对postfix的日志进行分析,详细的情况见:http://jimsun.linxnet.com/postfix_contrib.html

分享到:
评论

相关推荐

    Linux源码编译安装postfix

    本文将详细讲解如何通过源码编译的方式在Linux上安装Postfix,这将有助于理解其内部工作原理,并能根据特定环境进行定制配置。 首先,确保系统已经安装了必要的编译工具和依赖库。在大多数Linux发行版中,可以使用...

    postfix编译安装

    ### Postfix与Dovecot的源码编译安装详解 #### 一、Postfix与Dovecot概述 在深入探讨如何编译安装Postfix之前,我们先简要介绍这两个软件的功能及其重要性。 - **Postfix**:是一款开源的MTA(Mail Transfer ...

    centos postfix2.8 安装

    根据给定的部分内容,我们可以看到Postfix是通过源码编译的方式进行安装的。具体步骤如下: 1. **下载并解压Postfix源码包**: ```bash tar xzvf postfix-2.8.1.tar.gz cd postfix-2.8.1/ ``` 2. **配置编译...

    POSTFIX的安装与配置

    2. **开发工具和库**:包括`development-tools`和`development-libs`,它们是编译和安装POSTFIX及其依赖所需的。 3. **基本文件、管理工具和系统工具**:如`base`, `admin-tools`, `system-tools`,这些是系统运行的...

    postfix-2.2.11.tar.gz

    4. 编译源代码,使用 `make` 命令。 5. 最后,执行 `make install` 安装 Postfix 到指定位置。 配置 Postfix 是关键环节,涉及多个配置文件,如 `main.cf` 和 `master.cf`。用户可以根据需求调整反垃圾邮件策略、...

    Postfix安装

    然后,我们需要编译和安装 Postfix: ``` # cd /mysrc # tar zvfx postfix-2.7.1.tar.gz # cd postfix-2.7.1 # ./configure --prefix=/usr/local/postfix --with-mysql=/usr/local/mysql # make && make install ```...

    编译原理实验(后缀表达式Postfix)

    总之,通过完成“编译原理实验(后缀表达式Postfix)”,学生将能够掌握基本的编译原理技术,特别是关于表达式解析的部分,同时增强对栈数据结构的理解和应用。这不仅对学习计算机科学的基础知识有帮助,也为将来...

    Linux下Postfix邮件服务器搭建

    Linux 下 Postfix 邮件服务器搭建 在 Linux 下成功搭建起 Postfix 服务器需要完成以下几个步骤:安装 Postfix、配置 main.cf 文件、添加 DNS 服务器和测试 Postfix。 一、安装 Postfix 首先,需要卸载 sendmail ...

    Linux系列-Red_Hat5平台下的Postfix邮件服务搭建

    在编译和安装Postfix之前,需要预配置编译参数。考虑到RHEL5自带的eyrus-sasl认证软件,需要确保Postfix支持SASL认证以及能查询MySQL数据库。为此,我们需要调整CCARGS和AUXLIBS编译参数。CCARGS用于指定头文件路径...

    postfix-2.8.0加补丁

    - `postfix-2.8.0.tar.gz` 是Postfix源代码的压缩包,通过解压后可以获取到源代码文件,然后可以进行编译和安装。通常,安装流程包括: 1. 解压缩:`tar -zxvf postfix-2.8.0.tar.gz` 2. 进入源码目录:`cd ...

    postfix软件包

    Postfix是一款广泛使用的开源邮件传输代理(MTA),它的设计目标是高效、安全以及易于管理。这个"postfix-2.5.6源码包"是该软件的一个特定版本,表明它已经经过了验证,可以正常工作。让我们深入探讨一下Postfix的...

    postfix权威指南 中文版

    postfix权威指南,O’Reilly系列丛书,POSTFIX权威指南中文版,文字版,排版与原书保持一致。全面了解postfix的绝对好书。 想要自己架设邮件服务器吗?如果sendmail让你头痛万分,现在你有更好的选择 —— Postfix...

    postfix-2.6.5.tar.gz

    "postfix-2.6.5.tar.gz"是一个包含Postfix 2.6.5源代码的压缩包文件,适用于那些希望从源代码编译安装Postfix的用户。下面将详细阐述Postfix及其在Linux环境下的安装与配置。 一、Postfix简介 Postfix是由Wietse ...

    postfix完全手册 (共294页)

    《Postfix完全手册》是一本全面介绍Postfix邮件服务器配置、管理和优化的专业指南。Postfix是互联网上广泛使用的开源邮件传输代理(MTA),以其高效、安全和稳定性著称。手册详细阐述了Postfix从安装到日常运营的全...

    postfix-全功能邮件安装部署文件

    在开始安装Postfix前,确保系统已经安装了必要的基础软件,包括但不限于编译工具、库文件等。通常,你需要的软件包可能包括: 1. **Development Tools**: 如`gcc`, `make`, `automake`, `autoconf`等,用于编译源...

    Postfix安装配置 Postfix安装配置

    Postfix安装配置 Postfix安装配置 Postfix安装配置 Postfix安装配置 Postfix安装配置 Postfix安装配置

    postfix全功能邮件服务器

    - 编译和安装Postfix,然后启动服务。 5. **应用Postfix补丁**: - 应用补丁包到Postfix源代码中,以便获取额外功能或改进。 6. **安装Dovecot**: - 解压Dovecot源码,配置并安装,确保与Postfix兼容。 - ...

    postfix 权威指南

    序 前言 第一章 简介 Postfix的起源与...基于命令的过滤 基于守护进程的过滤 其他考虑事项 第十五章 外部数据库 MySQL LDAP 附录一 配置参数 附录二 Postfix支持工具 附录三 Postfix的编译与安装 附录四 问题集 索引

Global site tag (gtag.js) - Google Analytics