Extmail + Postfix on Debian
概述:
操作系统采用Debian5 GNU/LINUX,MTA主程序使用Postfix,MDA为Courier+Maildrop,使用MySQL作为账户数据库,后台邮件账号管理系统使用Extman,前台用户Webmail使用Extmail。该系统所有使用的软件(除extman和extmail以外)均采用Debian软件包库自带软件,使用aptitude install安装所需软件。
目标:该邮件系统可以满足最简单的中小企业邮件系统的需求,提供如下服务
1、带密码验证的SMTP发件服务
2、带密码验证的POP3收件服务
3、支持多虚拟邮件域和邮箱配额管理
4、用户可通过WEB页面,管理收发邮件
5、邮件管理员可通过WEB后台管理系统,管理邮件账号和虚拟邮件域
安装与配置步骤:
一、系统安装
系统最小安装
安装过程中需新建普通账户,账号名为:extmail (下面的配置可以自己采用此账号)
系统重启后需先安装openssh-server,以方便可以SSH远程管理和配置系统
aptitude install openssh-server
二、基本软件安装 (出现提示,直接按默认配置)
aptitude install mysql-server postfix-mysql courier-authlib-mysql courier-pop libsasl2-modules-sql maildrop apache2-suexec-custom libunix-syslog-perl mailgraph
三、下载并配置 Extmail(用户webmail系统) + Extman(管理员后台系统)
1、下载好的最新的 Extmail 和 Extman 软件包,版本如下
extmail-1.2.tar.gz
extman-1.1.tar.gz
2、解压并设置相关目录
tar -zxvf extman-1.1.tar.gz
tar -zxvf extmail-1.2.tar.gz
cp -R extmail-1.2 /var/www/extmail
cp -R extman-1.1 /var/www/extman
mkdir /home/domains/
chown -R 1000:1000 /home/domains
chown -R 1000:1000 /var/www/extmail/cgi/
chown -R 1000:1000 /var/www/extman/cgi/
#说明:上面的1000为系统安装时创建的extmail账户UID和GID,因为下面的Extmail和Extman里的配置文件均需这个系统账户
3、设置 Extmail & Extman 配置文件
修改Extman配置文件如下(可参考webman.cf.default)
vim /var/www/extman/webman.cf
# sys_config, the config file and webman programe root
SYS_CONFIG = /var/www/extman/
# sys_langdir, the i18n dir
SYS_LANGDIR = /var/www/extman/lang
# sys_templdir, the template dir
SYS_TEMPLDIR = /var/www/extman/html
# maildir_base, the base dir of user maildir, use absolute path
# if not set.
SYS_MAILDIR_BASE = /home/domains
# sys_warn, show system warning or not, default to yes
SYS_SHOW_WARN = 0
# sys_sess_dir, the session dir
SYS_SESS_DIR = /tmp/
# sys_captcha_on 1|0 - to enable captcha feature or not
SYS_CAPTCHA_ON = 0
# sys_captcha_key
SYS_CAPTCHA_KEY = r3s9b6a7
# sys_captcha_len
SYS_CAPTCHA_LEN = 6
# sys_purge_data - to completely destroy user's mailbox or not?
SYS_PURGE_DATA = 0
# sys_sess_timeout, session timeout in seccond, default 6 hours
# SYS_SESS_TIMEOUT = 21600
# sys_user_psize, user default page_size
SYS_PSIZE = 20
# sys_user_lang, user default language
# SYS_LANG = en_US
# sys_app_type, the app type: WebMail or ExtMan? It must be the same
# as prefix part of language package name, eg: WebMail::en_US
SYS_APP_TYPE = ExtMan
# sys_template_name, the template name
SYS_TEMPLATE_NAME = default
# web management related restritions
# sys_default_expire, valid value: ?y ?m ?d
SYS_DEFAULT_EXPIRE = 1y
# sys_groupmail_sender - sender for groupmail, this account must
# exist or postfix or other mta will complain error
SYS_GROUPMAIL_SENDER = postmaster@extmail.org
# sys_default_services, valid value: smtpd, smtp, webmail, netdisk,
# imap and pop3, concatenate with "," as multiple values, eg: webmail,smtpauth
SYS_DEFAULT_SERVICES = webmail,smtpd,smtp,pop3,netdisk
# sys_isp_mode, yes|no - if yes, use our HashDir to spread
# storage to multiple directories
SYS_ISP_MODE = no
# sys_domain_hashdir = yes|no, if yes we will enable domain hashdir
# depend on sys_isp_mode = yes
SYS_DOMAIN_HASHDIR = yes
# sys_domain_hashdir_depth, the hash length and depth, format:
# length x depth, eg: 2x1 => length =2, depth =1
# depend on sys_isp_mode = yes
SYS_DOMAIN_HASHDIR_DEPTH = 2x2
# sys_user_hashdir = yes|no, if yes we will enable user hashdir
# depend on sys_isp_mode = yes
SYS_USER_HASHDIR = yes
# sys_user_hashdir_depth, similar to sys_hashdir_domain_depth
SYS_USER_HASHDIR_DEPTH = 2x2
# XXX FIXME
# experimental feature, per domain tranport/routing capability
# same config style as SYS_USER_ROUTING_LIST
# SYS_DOMAIN_ROUTING_LIST = lmtp:mx1.extmail.org,lmtp:mx2.extmail.org
# XXX FIXME
# experimental feature, per user routing capability
# please specify routing info, concatenate with "," as multiple list
# members, eg: smtp:mx1.abc.com,smtp:mx2.abc.com
# SYS_USER_ROUTING_LIST = smtp:[192.168.2.130],smtp:[192.168.2.128]
# sys_min_uid, the minimal uid
SYS_MIN_UID = 500
# sys_min_gid, the minimal gid
SYS_MIN_GID = 100
# sys_default_uid, if not set, webman will ignore it
SYS_DEFAULT_UID = 1001
# sys_default_gid, if not set, webman will ignore it
SYS_DEFAULT_GID = 1001
# sys_quota_multiplier, in bytes, default to 1 MB
SYS_QUOTA_MULTIPLIER = 1048576
# sys_quota_type, valid type: vda|courier
SYS_QUOTA_TYPE = courier
# maxquota, alias, users and netdisk quota for domain
SYS_DEFAULT_MAXQUOTA = 500
SYS_DEFAULT_MAXALIAS = 100
SYS_DEFAULT_MAXUSERS = 100
SYS_DEFAULT_MAXNDQUOTA = 500
# per user default quota, netdisk quota and expire
SYS_USER_DEFAULT_QUOTA = 5
SYS_USER_DEFAULT_NDQUOTA = 5
SYS_USER_DEFAULT_EXPIRE = 1y
# sys_backend_type mysql|ldap
SYS_BACKEND_TYPE = mysql
# sys_crypt_type: crypt|cleartext|plain|md5|md5crypt|plain-md5|ldap-md5|sha|sha1
SYS_CRYPT_TYPE = md5crypt
# if mysql, all relate paramters should prefix as SYS_MYSQL
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/run/mysqld/mysqld.sock
# table name
SYS_MYSQL_TABLE = manager
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_PASSWD = password
# comment it if you only want to save crypted password
# we highly recommend that you disable the following line :)
# SYS_MYSQL_ATTR_CLEARPW = clearpwd
# if ldap, all relate paramters should prefix as SYS_LDAP
SYS_LDAP_BASE = dc=extmail.org
SYS_LDAP_RDN = cn=Manager,dc=extmail.org
SYS_LDAP_PASS = secret
SYS_LDAP_HOST = localhost
# ldif attributes
SYS_LDAP_ATTR_USERNAME = mail
SYS_LDAP_ATTR_PASSWD = userPassword
# comment it if you only want to save crypted password
# we highly recommend that you disable the following line :)
# SYS_LDAP_ATTR_CLEARPW = clearPassword
# sys_rrd_datadir, the full path of rrd data
SYS_RRD_DATADIR = /var/lib
# sys_rrd_tmpdir, the temp dir for graph
SYS_RRD_TMPDIR = /tmp/viewlog
# sys_rrd_queue_on, yes|no, show queue or not
SYS_RRD_QUEUE_ON = yes
# sys_cmdserver_sock
SYS_CMDSERVER_SOCK = /tmp/cmdserver.sock
# sys_cmdserver_maxconn
SYS_CMDSERVER_MAXCONN = 5
# sys_cmdserver_pid
SYS_CMDSERVER_PID = /var/run/cmdserver.pid
# sys_cmdserver_log
SYS_CMDSERVER_LOG = /var/log/cmdserver.log
# sys_cmdserver_authcode
SYS_CMDSERVER_AUTHCODE = your_auth_code_here
# sys_disable_server_list
SYS_IGNORE_SERVER_LIST = web
修改Extmail配置文件如下(可参考webmail.cf.default)
vim /var/www/extmail/webmail.cf
# sys_config, the config file and webmail programe root
SYS_CONFIG = /var/www/extmail/
# sys_langdir, the i18n dir
SYS_LANGDIR = /var/www/extmail/lang
# sys_templdir, the template dir
SYS_TEMPLDIR = /var/www/extmail/html
# sys_http_cache, a switch to enable or disable http cache via http header
SYS_HTTP_CACHE = 0
# sys_smtp_host
SYS_SMTP_HOST = 127.0.0.1
# sys_smtp_port
SYS_SMTP_PORT = 25
# sys_smtp_timeout
SYS_SMTP_TIMEOUT = 5
# sys_spam_report_on = 1 | 0 - enable spam reporting or not
SYS_SPAM_REPORT_ON = 0
# sys_spam_report_type = dspam | spamassassin - spam reporting type
SYS_SPAM_REPORT_TYPE = dspam
# sys_warn, show system warning or not, default to yes
SYS_SHOW_WARN = 0
# sys_ip_security_on = 1 | 0 - enable login ip security or not
SYS_IP_SECURITY_ON = 1
# sys_permit_noquota, permit an account without qouta?
SYS_PERMIT_NOQUOTA = 1
# sys_sess_dir, the session dir
SYS_SESS_DIR = /tmp
# sys_upload_tmpdir, the temp directory for file uploading
SYS_UPLOAD_TMPDIR = /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
"/var/www/extmail/webmail.cf" 214L, 6783C
# 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_app_type, the app type: WebMail or ExtMan? It must be the same
# as prefix part of language package name, eg: WebMail::en_US
SYS_APP_TYPE = WebMail
# 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 = 1
SYS_USER_SHOW_HTML = 1
SYS_USER_COMPOSE_HTML = 1
SYS_USER_CONV_LINK =1
SYS_USER_ADDR2ABOOK = 1
# sys_message_size_limit, default message size limit per user
# count as byte(s), eg: 5242880 means 5MB
SYS_MESSAGE_SIZE_LIMIT = 5242880
# 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, default is off
SYS_NETDISK_ON = 1
# sys_show_signup, default is on, this feature need extman
# 0.2.2 or higher version, built with signup serivce
SYS_SHOW_SIGNUP = 1
# sys_debug_on, default is off
SYS_DEBUG_ON = 1
# 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 = /home/domains
# 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 = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/run/mysqld/mysqld.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_DISABLEPWDCHANGE = disablepwdchange
SYS_MYSQL_ATTR_ACTIVE = active
# password retrieve attributes
# comment them out if you don't want such function
SYS_MYSQL_ATTR_PWD_QUESTION = question
SYS_MYSQL_ATTR_PWD_ANSWER = answer
SYS_MYSQL_ATTR_PWD_ANSWER = answer
# 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_DISABLEPWDCHANGE = disablePasswdChange
SYS_LDAP_ATTR_ACTIVE = active
# password retrieve attributes
# comment them out if you don't want such function
SYS_LDAP_ATTR_PWD_QUESTION = question
SYS_LDAP_ATTR_PWD_ANSWER = answer
# if authlib, all relate parameters should prefix as AUTHLIB
SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket
# Global Abook support
# sys_g_abook_type, global abook type, valid is ldap|file
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 = /var/www/extsuite/extmail/globabook.cf
SYS_G_ABOOK_FILE_LOCK = 1
SYS_G_ABOOK_FILE_CONVERT = 0
SYS_G_ABOOK_FILE_CHARSET = utf-8
导入Extmail数据库
mysql -uroot -p"ROOTPWD" < /var/www/extman/docs/extmail.sql
mysql -uroot -p"ROOTPWD" < /var/www/extman/docs/init.sql
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/suexec.load ./suexec.load
cd /etc/apache2/sites-enabled/
rm -rf /etc/apache2/sites-enabled/000-default
创建extmail虚拟服务器文件,内容如下
vim /etc/apache2/sites-enabled/extmail
<VirtualHost *:80>
ServerName mail.ruirong.org
DocumentRoot /var/www/extmail/html/
ScriptAlias /extmail/cgi/ /var/www/extmail/cgi/
Alias /extmail /var/www/extmail/html/
ScriptAlias /extman/cgi/ /var/www/extman/cgi/
Alias /extman /var/www/extman/html/
# Suexec config
SuexecUserGroup extmail extmail
</VirtualHost>
四、配置postfix & courier 与 extmail & mysql 连接
使用mysql作为postfix的后台数据库
cd /var/www/extman/docs/
cp mysql_virtual_*.cf /etc/postfix/
chmod o= /etc/postfix/mysql_virtual_*.cf
chgrp postfix /etc/postfix/mysql_virtual_*.cf
cd /etc/postfix/
find ./ -name 'mysql_virtual_*' -exec sed --in-place 's/localhost/127.0.0.1/g' {} \;
修改 main.cf 文件
mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
vim /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
#本机机器名
myhostname = mail.goldenempire.asia
#本机域名
mydomain = goldenempire.asia
myorigin = $mydomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#收信域名,一定要有$mydomain不然不能使用user@example.com收信
mydestination =
relayhost =
#信任的,无须SMTP认证的地址范围
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#邮件的存储方式,一定要有此设置
home_mailbox = Maildir
append_dot_mydomain = no
append_at_myorigin = no
smtpd_helo_required = yes
ignore_mx_lookup_error = yes
message_size_limit = 31457280
#本地邮件的投递方式,也可以使用maildrop
local_transport = maildrop
#虚拟用户的投递方式,也可以使用maildrop
virtual_transport = maildrop
maildrop_destination_recipient_limit = 1
virtual_alias_domains =
virtual_alias_maps =
proxy:mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
#邮件存储的根目录
virtual_mailbox_base = /home/domains
#虚拟用户的ID,(数值参考实际系统的postfix用户的ID值)
virtual_uid_maps = static:105
virtual_gid_maps = static:114
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $smtpd_sender_login_maps $recipient_canonical_maps $relocated_maps transport_maps $mynetworks
#smtpd auth config
smtpd_sasl_security_options = noanonymous
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
#不投递本地系统帐号邮件
local_recipient_maps = $alias_maps $virtual_mailbox_maps
smtpd_sender_login_maps =
proxy:mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
smtpd_reject_unlisted_sender = yes
smtpd_recipient_restrictions =
permit_mynetworks,
reject_sender_login_mismatch,
permit_sasl_authenticated,
reject_unknown_sender_domain,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,
check_recipient_maps
修改master.cf 文件
vim /etc/postfix/master.cf
smtp inet n - - - - smtpd
改为
smtp inet n - n - - smtpd
.和
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
改为
maildrop unix - n n - - pipe
flags=DRhu user=extmail argv=/usr/bin/maildrop -d ${recipient}
配置courier
cp /etc/courier/authdaemonrc /etc/courier/authdaemonrc.bak
vim /etc/courier/authdaemonrc
authmodulelist="authpam"
改为
authmodulelist="authmysql"
mv /etc/courier/authmysqlrc /etc/courier/authmysqlrc.bak
vim /etc/courier/authmysqlrc
MYSQL_SERVER 127.0.0.1
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
DEFAULT_DOMAIN domain
MYSQL_UID_FIELD uidnumber
MYSQL_GID_FIELD gidnumber
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_SELECT_CLAUSE SELECT username,password,domain, \
uidnumber,gidnumber, \
CONCAT('/home/domains/',homedir), \
CONCAT('/home/domains/',maildir), \
quota, \
name \
FROM mailbox \
WHERE username = '$(local_part)@$(domain)' \
AND active = 1
创建/etc/postfix/sasl/smtpd.conf 加入下面的内容
vim /etc/postfix/sasl/smtpd.conf
pwcheck_method:authdaemond
log_level:0
mech_list:PLAIN LOGIN
allow_plaintext: true
authdaemond_path:/var/run/courier/authdaemon/socket
图形日志配置
cp -R /var/www/extman/addon/mailgraph_ext /usr/local/mailgraph_ext
修改mailgraph-init
vim /usr/local/mailgraph_ext/mailgraph-init
MAIL_LOG=/var/log/maillog
改成
MAIL_LOG=/var/log/mail.log
添加自动执行计划
sudo crontab -e
30 4 * * * /var/www/extman/tools/reportusage.pl -all /home/domains postmaster@yourdomain.com
添加开机自启动项
vim /etc/rc.local
/usr/local/mailgraph_ext/mailgraph-init start
/var/www/extman/daemon/cmdserver -v -d
/usr/bin/rsync --daemon
chmod -R +x /var/run/courier/authdaemon
/etc/init.d/courier-authdaemon restart
重启计算机
webmail登入地址 http://youdomain.com
extman后台管理地址 http://youdoamin.com/extman
后台管理初始密码:extmail*123*
转载于:https://blog.51cto.com/ruirong/766262