频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Postfix 电子邮件系统精要(10)

作者: 田逸 出处:51CTO.com 2007-10-08 15:25    砖    好    评论   进入论坛
阅读提示:配置一个postfix邮件系统,远比我先前的想象复杂。这次共配置2个postfix系统,花了不少精力,其间也经历不少麻烦,还好,最后都做成了!在配置过程中,参考了《postfix权威指南》和网上其他人写的文章,但在实际的配置中,完全按照这些文档还是不易顺利完成。现在此行文披露我做这个事情的全部过程,希望对大家的工作有所帮助。
Webmail安装配置

可供postfix选择的webmail不是很丰富,通过比较,我选择extmail作为postfix的webmail客户端工具,本来extmail也包括像postfixadmin这样的web管理工具(extman),因为前面我们已经用了postfixadmin, 这里我只用extmail。

下载ExtMail-Solution-Linux-0.1.tar.gz后解压,然后把它移动到目录/var/www/extsuite/extmail。在apache的配置文件httpd.conf末尾追加下面的内容以便用户可以通过web方式访问extmail:

DirectoryIndex  index.html index.php  index.cgi

ScriptAlias /extmail/cgi/   /mail/www/extsuite/extmail/cgi/

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

 

Alias /extmail /mail/www/extsuite/extmail/html

     Options Indexes FollowSymLinks

     AllowOverride None

     Order allow,deny

     Allow from all

保存文件,重启apache服务即可在浏览器输入邮件服务器的url访问了。

图 8

如果少了相应的perl模块,web页面会给出提示,按照提示把perl模块安装上去就正常了。到这里,extmail的配置还没有完呢,至少还有2个文件需要修改,这2个文件是webmail.cf和/var/www/extsuite/extmail/html/default/index.html.前一个是extmail的配置文件,后一个是页面文件显示方式。

webmail.cf的内容:更改过的内容用斜体红色字体显示

[root@mailserv2 extmail]# more webmail.cf

# sys_config, the config file and webmail programe root

SYS_CONFIG = /var/www/extsuite/extmail/

 

# sys_langdir, the i18n dir

SYS_LANGDIR = /var/www/extsuite/extmail/lang

 

# sys_templdir, the template dir

SYS_TEMPLDIR = /var/www/extsuite/extmail/html

 

# sys_warn, show system warning or not, default to yes

SYS_SHOW_WARN = 0

 

# sys_permit_noquota, permit an account without qouta?

SYS_PERMIT_NOQUOTA = 1

 

# sys_sess_dir, the session dir

SYS_SESS_DIR = /tmp/

 

# sys_log_on = 1 | 0 - enable logging or not

SYS_LOG_ON = 1

 

# sys_log_type = file|syslog|nsyslog, syslog will save login

# or error info into mail.*, nsyslog is a replacement to syslog

# that will send log message to network syslogd

SYS_LOG_TYPE = syslog

 

# sys_log_file - path to log file, if sys_log_type = file

SYS_LOG_FILE = /var/log/extmail.log

 

# sys_sess_timeout, session timeout, default 3 hours (3h) format:

# number+(s|m|h|d|M|y); or only number, the 0 means that the

# session will last for 0 seconds, but if you specify the

# sys_sess_cookie_only = 1 then it means the session will expire

# after you close your browser :)

SYS_SESS_TIMEOUT = 0

 

# sys_sess_cookie_only = 0|1 use cookie only or include cgi "sid"

# parameter ? if set to true(1), the session will be expired after

# sys_sess_timeout if there is no any active request from browser

SYS_SESS_COOKIE_ONLY = 1

 

# sys_user_psize, user default page_size

SYS_USER_PSIZE = 10

 

# sys_user_tsize, user mail subject truncate size, valid type:

# auto    => full text

# screen1 => 800x600

# screen2 => 1024x768

# screen3 => 1280x1024

SYS_USER_SCREEN = auto

 

# sys_user_lang, user default language

SYS_USER_LANG = en_US

 

# sys_user_template, user default template

SYS_USER_TEMPLATE = default

 

# sys_user_charset, user default charset

SYS_USER_CHARSET = utf-8

 

# sys_user_trylocal, user default outgoing encoding mechanism

SYS_USER_TRYLOCAL = 1

 

# sys_user_timezone, user default timezone

SYS_USER_TIMEZONE = +0800

 

# sys_user_* default parameters

SYS_USER_CCSENT = 0

SYS_USER_SHOW_HTML = 1

SYS_USER_COMPOSE_HTML = 1

SYS_USER_CONV_LINK =1

SYS_USER_ADDR2ABOOK = 1

 

# sys_min_pass_len, minimal password length, default 2

SYS_MIN_PASS_LEN = 2

 

# sys_mfilter_on, default is off

SYS_MFILTER_ON = 1

 

# sys_netdisk_on, default is off

SYS_NETDISK_ON = 0

 

# sys_debug_on, default is off

SYS_DEBUG_ON = 0

 

# sys auth type, mysql/ldap/authlib

SYS_AUTH_TYPE = mysql

 

# maildir_base, the base dir of user maildir, use absolute path

# if not set.

SYS_MAILDIR_BASE = /var/mailbox

 

# sys_auth_schema, vpopmail1/vpopmail2/virtual

# vpopmail1 => all user accounts in one table

# vpopmail2 => accounts in per domain table

SYS_AUTH_SCHEMA = virtual

 

# crypt_type, the default encrypt type of password, possible type

# currently is crypt|cleartext|plain|md5|md5crypt|plain-md5|ldap-md5|sha|sha1

SYS_CRYPT_TYPE = md5crypt

 

# if mysql, all relate parameters should prefix as SYS_MYSQL

SYS_MYSQL_USER = postfix

SYS_MYSQL_PASS = postfix

SYS_MYSQL_DB = postfix

SYS_MYSQL_HOST = localhost

SYS_MYSQL_SOCKET = /tmp/mysql.sock

# table name

SYS_MYSQL_TABLE = mailbox

SYS_MYSQL_ATTR_USERNAME = username

SYS_MYSQL_ATTR_DOMAIN = domain

SYS_MYSQL_ATTR_PASSWD = password

# sys_mysql_attr_clearpw - attribute to save clear password, useful for

# postmaster withdraw the original passwd if the end user forgot, but

# we highly recommend that you don't enable it for security reason

# SYS_MYSQL_ATTR_CLEARPW = clearpwd

SYS_MYSQL_ATTR_QUOTA = quota

SYS_MYSQL_ATTR_NDQUOTA = netdiskquota

SYS_MYSQL_ATTR_HOME = homedir

SYS_MYSQL_ATTR_MAILDIR = maildir

# service enable/disable attributes

# comment them out if you don't want their function

SYS_MYSQL_ATTR_DISABLEWEBMAIL = disablewebmail

SYS_MYSQL_ATTR_DISABLENETDISK = disablenetdisk

SYS_MYSQL_ATTR_ACTIVE = active

 

# if ldap, all relate parameters should prefix as SYS_LDAP

SYS_LDAP_BASE = o=extmailAccount,dc=example.com

SYS_LDAP_RDN = cn=Manager,dc=example.com

SYS_LDAP_PASS = secret

SYS_LDAP_HOST = localhost

# ldif attributes

SYS_LDAP_ATTR_USERNAME = mail

SYS_LDAP_ATTR_DOMAIN = virtualDomain

SYS_LDAP_ATTR_PASSWD = userPassword

# sys_ldap_attr_clearpw - attribute to save clear password, useful for

# postmaster withdraw the original passwd if the end user forgot, but

# we highly recommend that you don't enable it for security reason

# SYS_LDAP_ATTR_CLEARPW = clearPassword

SYS_LDAP_ATTR_QUOTA = mailQuota

SYS_LDAP_ATTR_NDQUOTA = netdiskQuota

SYS_LDAP_ATTR_HOME = homeDirectory

SYS_LDAP_ATTR_MAILDIR = mailMessageStore

# service enable/disable attributes

# comment them out if you don't want their function

SYS_LDAP_ATTR_DISABLEWEBMAIL = disablewebmail

SYS_LDAP_ATTR_DISABLENETDISK = disablenetdisk

SYS_LDAP_ATTR_ACTIVE = active

 

# if authlib, all relate parameters should prefix as AUTHLIB

SYS_AUTHLIB_SOCKET = /usr/local/authlib/var/spool/authdaemon/socket

 

# Global Abook support

# sys_g_abook_type, global abook type, valid is ldap|file, currently

# only support ldap, file module is under development :-)

SYS_G_ABOOK_TYPE = file

 

# if ldap, all relate parameters should prefix as SYS_G_ABOOK_LDAP

SYS_G_ABOOK_LDAP_HOST = localhost

SYS_G_ABOOK_LDAP_BASE = ou=AddressBook,dc=example.com

SYS_G_ABOOK_LDAP_ROOTDN = cn=Manager,dc=example.com

SYS_G_ABOOK_LDAP_ROOTPW = secret

SYS_G_ABOOK_LDAP_FILTER = objectClass=OfficePerson

 

# if file, all relate parameters should prefix as SYS_G_ABOOK_FILE

SYS_G_ABOOK_FILE_PATH = /mail/www/extsuite/extmail/globabook.cf

SYS_G_ABOOK_FILE_LOCK = 1

SYS_G_ABOOK_FILE_CONVERT = 0

SYS_G_ABOOK_FILE_CHARSET = utf-8

在文件/var/www/extsuite/extmail/html/default/index.html 加入下面的标识,可以得到不

 

<%domain%>

邮件域的下拉列表,从而方便用户的使用。

图 9

到这里,postfix的安装配置算是完成了。我们来逐个检查这些服务的正确性,简单的方法就是启动每一个服务,根据服务的运行来掌握各个服务是否正常。为了方便所有服务随开机自动启动,我把它们都加在了文件/etc/rc.local里,这些内容包括:

################ normal services ############################

/usr/local/apache/bin/apachectl start

/usr/local/mysql/bin/mysqld_safe --user=mysql&

/usr/local/authlib/sbin/authdaemond start

 

############## postfix relatively ###########################

postfix start

/usr/local/imap/sbin/imapd start

 

################ antivirus and antispam #####################

/usr/bin/spamd --daemonize --pidfile /var/run/spamd.pid

/usr/local/sbin/amavisd start

/usr/local/clamav/sbin/clamd

病毒库和垃圾邮件的列表则放在crontab里:

[root@mailserv2 extmail]# crontab -l

0 0 1 * * root wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf;kill -HUP `cat /var/run/spamd.pid`

00 00 * * * /usr/local/clamav/bin/freshclam

待所有的服务都正常后,用postfixadmin创建邮件域和用户。创建完毕,通过查看postfix日志/var/log/maillog了解操作是否成功;同时通过查看目录/var/mailbox里是否生成与创建的邮件帐户同名的目录。


共14页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 [11] [12] [13] [14] 下一页
【内容导航】
 第 1 页:运行环境  第 2 页:准备工作
 第 3 页:安装apache,mysql和php  第 4 页:安装和配置SASL、Authlib
 第 5 页:安装和配置postfixadmin  第 6 页:Postfix安装和配置
 第 7 页:Corurier-imap安装配置  第 8 页:安装courier-maildrop
 第 9 页:邮件病毒检查和垃圾邮件过滤  第 10 页:Webmail安装配置
 第 11 页:邮件系统的备份  第 12 页:系统加固及安全
 第 13 页:关于多邮件域和用户限额  第 14 页:51CTO 推荐文章
专题
Linux——从菜鸟到高手
Linux/Solaris服务器的安全配置
Sendmail邮件服务器
Linux 集群技术专题
Linux中文环境
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Windows XP远程桌面连接图解(.. (查看56377次)
·Solaris基础知识入门 (查看47764次)
·Windows操作系统安装 (查看34661次)
·设置远程桌面连接 (查看34190次)
·Linux的安装 (查看31196次)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。