postfix安装配置指南
发布时间:2024-11-18
发布时间:2024-11-18
postfix安装配置指南
1 文档简介 1.1 编写目的为公司邮件系统(postfix)安装与故障恢复处理提供标准化处理步骤。1.2适用范围该文档的阅读对象为系统维护、管理等相关人员。1.3序号 1 2 3 4 5名词解释术语/ 术语/缩略语 postfix postfixadmin Extmail mysql Php 全称和说明 邮件服务器主程序 Postfix管理程序(创建用户,域等) Web登录程序 数据库程序 PHP程序(postfixadmin,extmail需要使用PHP进行操作)6ApacheWeb应用程序1.4格式约定以“#”开头代表 root 用户; 以“$”开头代表普通用户; 本文中没有特殊说明,所有的操作均使用 root 账号进行;1.5系统环境OS Vesion:Redhat Enterprise AS 6.0 X86_64
postfix安装配置指南
1.6软件列表1. postfix-2.6.9.tar.gz 邮件服务主程序 2. postfixadmin_2.3.4.tar.gz 邮件管理主程序,进行域、用户创建/删除等操作 3. mysql-5.5.13.tar.gz 数据库主程序,保存邮件账号等信息 4. php-5.3.6.tar.gz 用于 postfixadmin,extmail 等程序的解析执行,需要调用使用 5. courier-authlib-0.63.0.tar.bz2 账号密码认证主程序 6. courier-imap-4.5.1.tar.bz2 为邮件服务器提供 POP3 与 smtp 服务 7. maildrop-2.0.4.tar.bz2 本地邮件投递主程序 8. cyrus-sasl-2.1.23.tar.gz 配置 sasl 验证 smtp 的主程序 9. extmail-1.0.4.tar.gz Web 登录主程序 10. clamav-0.97.2.tar.gz . 防病毒主程序 11. Mail-SpamAssassin-3.3.2.tar.gz 防垃圾邮件主程序 12. 需要使用的一些 perl 模块,不一一列出,后续安装直接通过命令即可2 安装过程2.1 清理系统已安装的软件rpm –qa | grep –i sasl cyrus-sasl-2.1.23-8.el6.x86_64 cyrus-sasl-plain-2.1.23-8.el6.x86_64 cyrus-sasl-lib-2.1.23-8.el6.x86_64 cyrus-sasl-gssapi-2.1.23-8.el6.x86_64 cyrus-sasl-devel-2.1.23-8.el6.x86_64 (如果系统是使用 yum 工具进行 rpm 管理, 请不要删除 cyrus-sasl-lib-2.1.23-8.el6.x86_64 这个包,否则,yum 工具将不能正常使用; )将上述搜索出来的包进行卸载,后续通过 源码进行安装; rpm –e --nodeps rpm-name 使用 ls –l /usr/lib or ls –l /usr/lib64 (64bit 系统) 检查目录还有没有 sasl1 与 sasl2 目录 , (正 常删除以后,应该没有了)
postfix安装配置指南
2.2 删除 sendmail 软件包rpm –qa | grep -i sendmail 同上删除 sendmail 安装包, (使用 postfix) ;2.3 创建用户与组创建邮件系统运行时的用户与组(用户与组同名即可) Username mysql(500) postfix(89) vmail(1001) amavisclamavGroupname mysql(500) postfix(89) postdrop(90) vmail(1001) amavisclamavFunction 数据库运行用户 Postfix 主程序运行账户Postfix setgid_group Postfix 虚拟邮件帐号所使用 的用户及组 邮件扫描Remarksetgid_group=postdrop uid,gid:1001,1001病毒扫描2.4 安装 httpd-2.2.19.tar.gz; ;安装过程如下: mkdir /usr/local/apache cd /tmp/httpd-2.2.29 ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite make; make install; 执行完成上述以后,在/usr/local/apache 目录下会生产很多的目录(此处省略) 检查 apache 编译加入的模块(重点为:mod_so.c) /usr/local/apache/bin/httpd -l Compiled in modules: core.c mod_authn_file.c mod_authn_default.c mod_authz_host.c mod_authz_groupfile.c mod_authz_user.c mod_authz_default.c mod_auth_basic.c mod_include.c mod_filter.c mod_log_config.c mod_env.c
postfix安装配置指南
mod_setenvif.c mod_version.c prefork.c http_core.c mod_mime.c mod_status.c mod_autoindex.c mod_asis.c mod_cgi.c mod_negotiation.c mod_dir.c mod_actions.c mod_userdir.c mod_alias.c mod_so.c 这个模块的目的是将 PHP 以模块的方式进行加载;2.5 安装 mysqlmysql-5.5.13.tar.gz; 安装 5.5 版本需要使用 cmake,需要先安装 cmake 包; mkdir /mysql_data(最好是单独建立一个分区给 mysql 存放数据文件等) cd /tmp/mysql-5.5.13 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/mysql_data/data -DMYSQL_USER=mysql make; make install; cp support-files/http://f http://f,根据需要对这个文件进行修改 附件为提供的一个文件:my.doc(鄙视微软,只能插入 doc 或者 excel 文件,没有办法,要用别人的) 执行数据库初始化脚本; /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mysql_data/data --user=mysql (红色部分需要根据自己定义的进行修改) 如果是在 root 用户下执行完成上述脚本,需要修改 mysql ,performance_schema 这连 个目录的属主与属组为 mysql;这两个目录在—datadir 定义的目录下; cd /mysql_data/data; chown -R mysql:mysql mysql/; chown -R mysql:mysql performance_schema/; /usr/local/mysql/bin/mysqld_safe &,启动 mysql Ps –ef | grep mysql,检查进程是否启动;
postfix安装配置指南
netstat –an | grep 3306 检查端口是否启动,如果出现异常,通过错误日志进行检查修复; 编译过程中出现一下报错:-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) 安装 ncurses-devel 包 yum install ncurses-devel* 安装完成以后,需要先删除 mysql-5.5.13 下的所有的文件,从新解压,或者删除 CMakeCache.txt 这个文件 重新编译 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/mysql_data/data -DMYSQL_USER=mysql2.6 安装 php 软件cd /tmp tar zxvf php-5.3.6.tar.gz; cd php-5.3.6 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --enable-mbstring 编译的时候一定加上—with-mysql 参数,否则在后面 postfixadmin 安装以后,会出现无 法连接数据库的问题;同时加上 enable-mbstring,否则在 postfixadmin 的 setup.php 页面 的时候会出现 mbstring not found;可以不用安装 php-imap(我们后续会安装 imap 包) Make Make install 完成以后会在/usr/local/apache 目录下生成 libphp5.so 文件 ls -l /usr/local/apache/modules/ 总用量 21600 -rw-r--r-- 1 mysql mysql 9149 9 月 22 15:35 httpd.exp -rwxr-xr-x 1 root root 22104176 9 月 22 17:34 libphp5.so 在 apache 的配置文件中添加如下信息:vi /usr/local/apache/conf/httpd.conf LoadModule php5_module module/libphp5.so AddType application/x-httpd-php .php7. 完成安装的过程可能会报以下错误; PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled 解决办法:从 http:///go-pear 下载个没有打包的 PEAR 安装包存储到本地命 名为 go-pear.php 运行:php go-pear.php 报如下错误: configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information. 安装对应的 libc-client-devel 包 更多的错误信息请见《PHP 安装错误解决汇总》
postfix安装配置指南
2.7 安装 courier-authlibcourier-authlib-0.63.0.tar.bz2 Cannot find either the gdbm or the db library; 安装 gdbm-devel-1.8.0.x86_64 的 rpm 包, 这 个需要下载,在 yum 源中没有 ./configure --with-mailuser=vmail --with-mailgroup=vmail --with-mysql-libs=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include/mysql --prefix=/usr/local/authlib --without-stdheaderdir Make Make install make install-migrate make install-configure 完成安装以后,找到 authdaemonvar 的路径,后面需要使用 grep "authdaemonvar" /usr/local/authlib/etc/authlib/authdaemonrc ##NAME: authdaemonvar:2 # authdaemonvar is here, but is not used directly by authdaemond. It's authdaemonvar=/usr/local/authlib/var/spool/authdaemon 在目录/usr/local/authlib/etc/authlib 中,修改文件 authdaemonrc 及 authmysqlrc 的属主为 vmail,同时修改两个文件的内容如下: 文件修改如下:vi /usr/local/authlib/etc/authlib/authdaemonrc authmodulelist="authmysql" authmodulelistorig="authmysql" DEBUG_LOGIN=2修改上面 3 项, 其他的项保持不便。 这个修改前 2 行表示用 mysql 认证模块; DEBUG_LOGIN 把 的值有默认的“0”改成“2”的用意是运行 postfix 时有更多的信息输出,通过生成的日 志以帮助排错。vi /usr/local/authlib/etc/authlib/authmysqlrc MYSQL_SERVER localhost(或者修改为主机的 IP 地址) MYSQL_USERNAME postfix MYSQL_PASSWORD postfix MYSQL_DATABASE postfix MYSQL_SOCKET /tmp/mysql.sock MYSQL_USER_TABLE mailbox #MYSQL_CRYPT_PWFIELD password MYSQL_CLEAR_PWFIELD password DEFAULT_DOMAIN MYSQL_UID_FIELD '1001' MYSQL_GID_FIELD '1001'
postfix安装配置指南
MYSQL_LOGIN_FIELD username MYSQL_HOME_FIELD '/postfix/mailbox/'(自己定义的存放用户目录的位置) MYSQL_NAME_FIELD name MYSQL_MAILDIR_FIELD maildir MYSQL_QUOTA_FIELD concat(quota,’S’) MYSQL_WHERE_CLAUSE active='1' 照上面的格式修改,这是比较容易出错的地方,要特别小心。我曾经把 MYSQL_USER_TABLE mailbox 这一项的 mailbox 写成 mailbov 导致 sasl 验证一直 没法通过!特别注意 MYSQL_UID_FIELD 和 MYSQL_GID_FIELD 字段的值,这里是 特别注意 ‘1001’,也可以是其它的,但一定要与 vmail 用户及组相一致(id vmail 可以 得出这 2 者的值)2.8 安装 cyrus-saslCyrus-sasl-2.1.23.tar.gz 2.1.23.tar.gz 2.1.23 ./configure --enable-login --enable-plain --disable-anon --enable-sql --with-mysql=/usr/local/mysql --with-mysql --with-authdaemond 编译的时候 --with-mysql=安装 mysql 的路径,如果是按照本手册安装,直接填写到 /usr/local/mysql 即可; 编译完成以后,进行安装; Make Make install 安装完成以后,在进行如下的配置: ln -s /usr/local/lib/sasl2 /usr/lib/sasl2 echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig; Make 的时候可能会报错如下: digestmd5.c:4037:15: error: #elif with no expression maker2: ** [digestmd5.lo] Erro 1 在 cyrus-sasl 的目录下执行以下操作: sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c 将这行注释掉, (这是 一个 BUG) 创建文件 /usr/local/lib/sasl2/smtpd.conf,并加入如下内容: pwcheck_method: authdaemond mech_list: PLAIN LOGIN log_level: 3 authdaemond_path: /usr/local/authlib/var/spool/authdaemon/socket 最后一行 authdaemond_paeth 的设置来自 anthlib 的配置文件 authlibdaemonrc,千万 不要把这个弄错了; Sasl2 需要使用文件/usr/local/authlib/var/spool/authdaemon/socket, 但默认情况 下,其属性是 744,需要把它加上执行权限,以便文件属组(主)而外的其它用户可以
postfix安装配置指南
执行。 运行命令:chmod +x /usr/local/authlib/var/spool/authdaemon 这样的目的是 postfix 用户能够使用到这个文件。2.9 安装 postfixadminPostfixadmin 是 postfix 邮件系统的 web 管理工具, 有了这个工具, 管理和维护用户 帐号就方便多了。假如不用工具,就需要手动修改数据库,谁愿意这样做?安装 postfixadmin 比较简单,解压包 postfixadmin-2.2.11.tar.gz,然后把它移动到某个目录下, 其过程如下: postfixadmin-2.3.3.tar.gz mkdir /usr/local/postfixadmin cd /tmp/postfixadmin-2.3.3 cp –R * /usr/local/postfixadmin 由于我们是使用 vmail 用户进行 postfix 的用户管理等操作;所以还需要将 postfixadmin 的属主与属组均修改为 vmail; chown –R /usr/local/postfixadmin; 这样 postfixadim 就算安装完成了;接下来是进行 postfixadmin 的配置,主要分以下几 部:2.9.1 修改配置 config.inc.php 文件 修改配置修改配置文件是 config.inc.php,如果没有这个文件,使用 config.inc.php.sample 搬 过来就是了(cp config.inc.php.sample config.ini.php),再来看一下目录结构: [root@test postfixadmin]# pwd /var/www/postfixadmin [root@test postfixadmin]ls -l total 236 drwxr-xr-x 2 vmail vmail 4096 Sep 16 16:06 ADDITIONS drwxr-xr-x 2 vmail vmail 4096 Sep 16 19:31 admin -rw-r--r-- 1 vmail vmail 1195 Sep 16 16:06 BACKUP_MX.TXT -rw-r--r-- 1 vmail vmail 10155 Sep 16 16:06 CHANGELOG.TXT -rw-r----- 1 vmail vmail 4700 Sep 16 16:14 config.inc.php -rw-r--r-- 1 vmail vmail 4694 Sep 16 16:06 config.inc.php.sample -rw-r----- 1 vmail vmail 3774 Sep 16 16:06 create-alias.php -rw-r----- 1 vmail vmail 7379 Sep 16 19:24 create-mailbox.php -rw-r--r-- 1 vmail vmail 4910 Sep 16 16:06 DATABASE_MYSQL.TXT -rw-r--r-- 1 vmail vmail 4955 Sep 16 16:06 DATABASE_PGSQL.TXT -rw-r----- 1 vmail vmail 2497 Sep 16 19:30 delete.php -rw-r----- 1 vmail vmail 1727 Sep 16 16:06 edit-active.php -rw-r----- 1 vmail vmail 3013 Sep 16 16:06 edit-alias.php ……………………………………………..
postfix安装配置指南
先修改 config.inc.php 文件;以下是修改过的文件,红色部分为修改的内容: [root@test postfixadmin]# more config.inc.php // // Postfix Admin // by Mischa Peters // Copyright (c) 2002 - 2005 High5! // License Info: [url]http:///?file=LICENSE.TXT[/url] // // File: config.inc.php // if (ereg ("config.inc.php", $_SERVER['PHP_SELF'])) { header ("Location: login.php"); exit; } // Postfix Admin Path // Set the location to your Postfix Admin installation here. $CONF['postfix_admin_url'] = ''; $CONF['postfix_admin_path'] = ''; // Language config // Language files are located in './languages'. 使用中文) $CONF['default_language'] = 'cn'; (使用中文) // Database Config // mysql = MySQL 3.23 and 4.0 // mysqli = MySQL 4.1 // pgsql = PostgreSQL $CONF['database_type'] = 'mysql'; 'localhost localhost'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfix'; 'postfix'; $CONF['database_password'] = 'postfix'; 数据库信息,根据实际情况配置) $CONF['database_name'] = 'postfix'; (数据库信息,根据实际情况配置) $CONF['database_prefix'] = ''; …………………………省略若干………………………………………. // Mailboxes // If you want to store the mailboxes per domain set this to 'YES'. // Example: /usr/local/virtual/domain.tld/username@domain.tld $CONF['domain_path'] = 'YES'; // If you don't want to have the domain in your mailbox set this to 'NO'. // Example: /usr/local/virtual/domain.tld/username $CONF['domain_in_mailbox'] = 'NO'; …………………………省略若干……………………………………….
postfix安装配置指南
// Default Domain Values // Specify your default values below. Quota in MB. $CONF['aliases'] = '1000'; $CONF['mailboxes'] = '1000'; $CONF['maxquota'] = '1000'; …………………………省略若干………………………………………. // Welcome Message // This message is send to every newly created mailbox. // Change the text between EOM. $CONF['welcome_text'] = <<<EOM Hi, 展示自我,分享乐趣" 欢迎来到米博邮件系统; "展示自我,分享乐趣",欢迎来到米博邮件系统; http:// http:// 这里是新建一个用户以后, 系统发送的一封默认邮件, 根据自己实际情况修改) EOM; (这里是新建一个用户以后, 系统发送的一封默认邮件, 根据自己实际情况修改) …………………………省略若干………………………………………. // Quota // When you want to enforce quota for your mailbox users set this to 'YES'. $CONF['quota'] = 'NO'; // You can either use '1024000' or '1048576' $CONF['quota_multiplier'] = '1024000'; …………………………省略若干………………………………………. ?>2.9.2 修改配置 create-mailbox.php 文件修改 create-mailbox.php 文件,以下是修改过的文件,红色部分为修改的内容: [root@test postfixadmin]# more create-mailbox.php // // Postfix Admin // by Mischa Peters // Copyright (c) 2002 - 2005 High5! // License Info: [url]http:///?file=LICENSE.TXT[/url] ……………………………………省略若干……………………………………. else { db_query('COMMIT'); db_log ($SESSID_USERNAME, $fDomain, 'create_mailbox', "$fUsername"); $tDomain = $fDomain; $tQuota = $CONF['maxquota']; system("sudo /usr/sbin/maildirmake.sh ".$_POST['fUsername']);$fDomain
postfix安装配置指南
if ($fMail == "on") { $fTo = $fUsername; $fFrom = $SESSID_USERNAME; $fHeaders = "To: " . $fTo . "\n"; $fHeaders .= "From: " . $fFrom . "\n";1.7.9.2 ……………………………………省略若干……………………………………. 红色部分为新加的内容;本文的 postfixadmin 版本中这一红添加在第 233 行下面;一定 要添加正确具体的位置,否则将不起作用; 添加这行的目的是:postfixadmin 默认情况下添加用户,不会添加用户的邮箱目录;这 行的目的就是在添加用户的时候,在 post_base 下添加用户的邮箱目录信息。 Maildirmake.sh 这是一个脚本,后续给出这个脚本的具体内容!这里先配置上。2.9.3 修改配置 delete.php 文件[root@test postfixadmin]# vi delete.php ……………………………………….省略很多……………………………… require ("./variables.inc.php"); require ("./config.inc.php"); require ("./functions.inc.php"); include ("./languages/" . check_language () . ".lang"); $SESSID_USERNAME = check_session(); ……………………………………….省略很多……………………………… $result = db_query ("SELECT * FROM mailbox WHERE username='$fDelete' AND domain='$fDomain'"); $userarray=explode("@",$fDelete); $user=$userarray[0]; $domain=$userarray[1]; system("sudo /usr/sbin/maildirdel.sh $domain $user"); ……………………………………….省略很多……………………………… ?> 红色部分为新加的内容;本文的 postfixadmin 版本中这一红添加在第 125 行下面;一定 要添加正确具体的位置,否则将不起作用; 添加这行的目的是:postfixadmin 默认情况下删除用户,不会删除用户的邮箱目录;这 行的目的就是在删除用户的时候,在 post_base 下删除用户的邮箱目录信息。 Maildirdel.sh 这是一个脚本,后续给出这个脚本的具体内容!这里先配置上。2.9.4 创建 postfix 数据库登录到 mysql 系统; mysql> create database postfix; mysql> create user 'postfix'@'192.168.0.%' identified by 'postfix'; mysql> grant all privileges on postfix.* to postfix@1'192.168.0.%'; mysql> flush privileges;
postfix安装配置指南
在网上看到在 postfixadmin 下有一个创建数据库的脚本,这里没有,仅仅有一个 INSTALL.TXT 的操作说明文档!不管了,咋也会使用命令进行操作,满足要求即可!2.9.5 修改 apache 配置文件需要通过 WEB 的方式使用 postfixadmin,需要修改 apache 的配置文件来支持 postfixadmin 的运行; 在/usr/local/apache/conf/httpd.conf 文件的末尾添加上以下的信息, Alias /postfixadmin /usr/local/postfixadmin <Directory /usr/local/postfixadmin> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/usr/local/postfixadmin/admin"> AuthType Basic Options None AllowOverride None Order allow,deny Allow from all AuthName "mibuo.mail Access" AuthUserFile /usr/local/apache/conf/htpasswd Require valid-user </Directory> 到这里 postfixadmin 就配置完成了, (在网上有看到还需要修改 admin 目录下的同名文 件,在本例中,admin 目录下没有相应的文件;通过验证测试,这里不进行 admin 目录 下的配置,也完全没有异常) 此时通过 WEB(域名/postfixadmin/setup.php)访问能够看到一些基本信息,如下图:
postfix安装配置指南
最后的地方显示“NOT FOUND”信息,这个是 PHP 的 imap 功能,由于后续使用单独 的 imap 工具,不用安装也没有关系。2.10安装 postfixPostfix 是邮件系统的核心部分,涉及到的配置文件与需要修改的地方非常多,在实 施过程中要仔细; 本文使用的 postfix 为 2.6.9 版;2.10.1 安装 postfixtar zxvf postfix-2.6.9.tar.gz cd postfix-2.6.9/ make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/ -DUSE_SASL_AUTH -I/usr/local/include/sasl -DUSE_CYRUS_SASL -L/usr/lib/sasl2' 'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm -L/usr/local/lib -lsasl2' 在编译的时候一定要加上 USE_CYRUS_SASL; 否则后续用户登录的时候会认证不能通过; make make install 接下来一路回车即可(如果有特殊的需求,手动修改) 安装按成以后,执行以下命令:
postfix安装配置指南
[root@mail tmp]# postconf -a cyrus dovecot 出现有 cyrus 证明 postfix 已经与 cyrus 结合成功了, 如果没有看到, 请检查上述编译 安装是否有问题,需要进行重新安装;否则后续认证无法通过;2.10.2 错误集锦1)No <db.h> include file found. make -f Makefile.in MAKELEVEL= Makefiles (echo "# Do not edit -- this file documents how Postfix was built for your machine."; /bin/sh makedefs) >makedefs.tmp No <db.h> include file found. Install the appropriate db*-devel package first. 安装 db4-devel.x86_64 0:4.7.25-16.el6 2)在编译命令的参数中,请注意使用 mysql 的目录,一定填写正确(系统的 mysql 安 装在哪个目录,就需要制定对应的目录) 3)ln –s /usr/local/lib/sasl2 /usr/lib/sasl2,建立一个链接方式 4)出现如下报错: bin/postconf: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory 使用 find / -name libmysqlclient.so.18 找到对应的文件在哪里; 使用 echo "/usr/local/mysql/lib/mysql">>/etc/ld.so.conf执行 Ldconfig 生效2.10.3 配置 main.conf为了配置的清晰,容易阅读与维护;将 main.conf 先清空,然后加入内容; 如下: [root@FANFOU-BALANCE01 postfix]# cat main.cf config_directory = /etc/postfix readme_directory = no sample_directory = /etc/postfix sendmail_path = /usr/sbin/sendmail html_directory = no setgid_group = postdrop command_directory = /usr/sbin manpage_directory = /usr/local/man daemon_directory = /usr/libexec/postfix newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq queue_directory = /postfix/var/spool mail_owner = postfix
postfix安装配置指南
########################################################### content_filter = smtp-amavis:[127.0.0.1]:10024 max_use = 10 #=====================BASE========================= myhostname = http:// mydomain = http:// myorigin = $mydomain mydestination = $myhostname localhost localhost.$mydomain mynetworks = 127.0.0.0/8,192.168.0.0/24 inet_interfaces = all #=====================Vritual Mailbox settings====================== virtual_mailbox_base = /postfix/mailbox/ virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf virtual_uid_maps = static:1001 virtual_gid_maps = static:1001 virtual_transport = maildrop maildrop_destination_recipient_limit = 1 maildrop_destination_concurrency_limit = 1 #====================QUOTA======================== message_size_limit = 14336000 virtual_mailbox_limit = 20971520 virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_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 #====================SASL======================== broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hos tname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,re ject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination,permit smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous smtpd_sasl_application_name = smtpd smtpd_banner=$myhostname ESMTP "Version not Available" alias_maps = hash:/etc/aliases
postfix安装配置指南
unknown_local_recipient_reject_code = 550 data_directory = /postfix/data 配置文件中红色部分需要根据实际情况修改; 特别注意: 1.virtual_uid_maps 与 gid_maps 两个字段,一定要与 vmail 账号的 id 一致 2.Myhostname 与 mydomain 的值不能一样; 3.content_filter = smtp-amavis:[127.0.0.1]:10024 这个防病毒与反垃圾邮件使用2.10.4 创建 Postfix 使用的 Mysql 文件1.mkdir /etc/postfix/mysql 2.touch mysql_virtual_alias_maps.cf;将以下内容放入文件; user = postfix password = postfix hosts = 192.168.0.106 (数据库的主机) dbname = postfix (数据库的名称) table = alias select_field = goto where_field = address 3.touch mysql_virtual_domains_maps.cf;将以下内容放入文件; user = postfix password = postfix hosts = 192.168.0.106 dbname = postfix table = domain select_field = description where_field = domain 4.touch mysql_virtual_mailbox_limit_maps.cf;将以下内容放入文件; user = postfix password = postfix hosts = 192.168.0.106 dbname = postfix table = mailbox select_field = quota where_field = username 5.touch mysql_virtual_mailbox_maps.cf user = postfix password = postfix hosts = 192.168.0.106 dbname = postfix table = mailbox select_field = maildir where_field = username