CentOS下Extmail的搭建.docx

上传人:b****1 文档编号:14669395 上传时间:2023-06-26 格式:DOCX 页数:12 大小:76.03KB
下载 相关 举报
CentOS下Extmail的搭建.docx_第1页
第1页 / 共12页
CentOS下Extmail的搭建.docx_第2页
第2页 / 共12页
CentOS下Extmail的搭建.docx_第3页
第3页 / 共12页
CentOS下Extmail的搭建.docx_第4页
第4页 / 共12页
CentOS下Extmail的搭建.docx_第5页
第5页 / 共12页
CentOS下Extmail的搭建.docx_第6页
第6页 / 共12页
CentOS下Extmail的搭建.docx_第7页
第7页 / 共12页
CentOS下Extmail的搭建.docx_第8页
第8页 / 共12页
CentOS下Extmail的搭建.docx_第9页
第9页 / 共12页
CentOS下Extmail的搭建.docx_第10页
第10页 / 共12页
CentOS下Extmail的搭建.docx_第11页
第11页 / 共12页
CentOS下Extmail的搭建.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

CentOS下Extmail的搭建.docx

《CentOS下Extmail的搭建.docx》由会员分享,可在线阅读,更多相关《CentOS下Extmail的搭建.docx(12页珍藏版)》请在冰点文库上搜索。

CentOS下Extmail的搭建.docx

CentOS下Extmail的搭建

 

关于Error:

xzcompressionnotavailable

2015-05-3023:

56 2067人阅读 评论(0) 举报

找到原因是安装软件时错误安装了CENTOS7版本的软件导致yum不可用。

附上原文:

Your"fix"removestherepositoryentirely.Thecorrectfixistoremovethecachedfilesforepelunder/var/cache/yum/epelandtouninstalltheEPEL*7*versionoftherpmwhichisdesignedtoinstallonCentOS/RHEL7notonCentOS6.

解决方法:

[plain] viewplain copy

 print?

1.gedit /root/install.log  

域名及主机名

--------------------------------------

Domain:

Hostname:

--------------------------------------

数据库信息

--------------------------------------

Mysql(postfixadmin)

DBNAME===>postfixadmin

user    ===>postfix

password===>postfixadmin

--------------------------------------

 

一、环境部署预备

1、域名及主机名设置

略……

 

2、配置新yum源(网易)

[root@mail~]# yum-yinstallwget

[root@mail~]# cd/etc/yum.repos.d/

[root@mailyum.repos.d]# mkdirbackup

[root@mailyum.repos.d]# mvCentOS-*backup/

[root@mailyum.repos.d]# wget

//此步骤可选,目的为今后yum安装amavisd-new、clamav等

[root@mail~]# rpm-ivhhttp:

//dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

//清空yum缓存及更新系统

[root@mail~]# yumcleanall;yumupdate-y 

3、LAMP环境

[root@mail~]# yum-yinstallhttpdmysqlmysql-develmysql-serverphpphp-pecl-Fileinfophp-mcryptphp-develphp-mysqlphp-commonphp-mbstringphp-gdphp-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcpcrepcre-devel

//配置apache,并让apache支持php

[root@mail~]# vi/etc/httpd/conf/httpd.conf

AddTypeapplication/x-httpd-php.php      #添加对php程序的支持

PHPIniDir"/etc/php.ini"               #指定php.ini配置文件路径

DirectoryIndexindex.phpindex.html          #指定首页文件类型

#取消ServerName前的注释,否则启动httpd时提示  276行

4、配置mysql,为postfixadmin准备好数据库及认证用户

[root@mail~]# servicemysqldstart\q可断开连接

[root@mail~]# chkconfigmysqldon

[root@mail~]# mysql-uroot-p

mysql>createdatabasepostfixcharactersetutf8;

mysql>grantallprivilegesonpostfix.*topostfix@localhostidentifiedby'postfixadmin';

mysql>flushprivileges;

mysql>exit

5、添加邮件虚拟用户vmail

[root@mail~]# useradd-u 2000 -d/var/vmail-c"VirtualMailuser"-s/sbin/nologinvmail

二、配置postfix 

[root@mail~]# vi/etc/postfix/main.cf

#################Mainconfigure####################

hostname=

mydomain=

myorigin=$mydomain

inet_interfaces=all

#注意这里,不能设置成与hostname与mydomain一致,不然收不到邮件

mydestination=localhost

mynetworks=127.0.0.0/8

#不对client进行反向域名解析

disable_dns_lookups=yes

#允许对一个目标域名发送的邮件并发数为20个

default_destination_concurrency_limit=20

#邮件的并发进程限制(根据服务器的性能定义)

default_process_limit=50

#只监听ipv4

net_interfaces=ipv4

##################Virtualmailconfigure#######################

virtual_mailbox_domains=proxy:

mysql:

/etc/postfix/mysql_virtual_domains_maps.cf

virtual_alias_maps=proxy:

mysql:

/etc/postfix/mysql_virtual_alias_maps.cf

virtual_mailbox_maps=proxy:

mysql:

/etc/postfix/mysql_virtual_mailbox_maps.cf

virtual_mailbox_base=/var/vmail

#注意uid与gid与之前的建立的vmail账号是一致的,可以用#idvmail查询

virtual_uid_maps=static:

2000

virtual_gid_maps=static:

2000

virtual_transport=dovecot

dovecot_destination_recipient_limit=1

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$recipient_canonical_maps$relocated_maps$transport_maps$mynetworks$virtual_mailbox_limit_maps

################SASLSUPPORTFORCLIENTS#######################

smtpd_sasl_auth_enable=yes

smtpd_sasl_type=dovecot

smtpd_sasl_security_options=noanonymous

#以下的两个选项可以任选一个,不过必须要与dovecot一致 

#smtpd_sasl_path=/var/run/dovecot/auth-client

smtpd_sasl_path=private/auth

broken_sasl_auth_clients=yes

smtpd_recipient_restrictions=permit_mynetworks,

                              permit_sasl_authenticated,

                               reject_invalid_hostname,

                               reject_non_fqdn_hostname,

                               reject_unknown_sender_domain,

                               reject_non_fqdn_sender,

                               reject_non_fqdn_recipient,

                               reject_unknown_recipient_domain,

                               reject_unauth_pipelining,

                               reject_unauth_destination

##################MailQuotaconfigure#######################

#mailtransportmaxsize:

20M

message_size_limit=20480000

#虚拟邮件用户使用的最大容量,需在postfixadmin中启用quota($CONF['used_quotas']='YES';)才生效。

virtual_mailbox_limit_maps=mysql:

/etc/postfix/mysql_virtual_mailbox_limit_maps.cf

#Queuelifetimecontrol

maximal_queue_lifetime=1d

bounce_queue_lifetime=1d

 

[root@mail~]# vi/etc/postfix/master.cf

#在末尾加入LDA

dovecot  unix -      n      n      -      -      pipe

 flags=DRhuuser=vmail:

vmailargv=/usr/libexec/dovecot/dovecot-lda-f${sender}-d${recipient

[root@mail~]# vi/etc/postfix/mysql_virtual_domains_maps.cf

user=postfix

password=postfixadmin

hosts=localhost

dbname=postfix

query=SELECTdomainFROMdomainWHEREdomain='%s'ANDactive='1'

#optionalquerytousewhenrelayingforbackupMX

#query=SELECTdomainFROMdomainWHEREdomain='%s'ANDbackupmx='0'ANDactive='1'

[root@mail~]# vi/etc/postfix/mysql_virtual_alias_maps.cf

user=postfix

password=postfixadmin

hosts=localhost

dbname=postfix

query=SELECTgotoFROMaliasWHEREaddress='%s'ANDactive='1'

[root@mail~]# vi/etc/postfix/mysql_virtual_mailbox_limit_maps.cf

user=postfix

password=postfixadmin

hosts=localhost

dbname=postfix

query=SELECTquotaFROMmailboxWHEREusername='%s'ANDactive='1'

[root@mail~]# vi/etc/postfix/master.cf

user=postfix

password=postfixadmin

hosts=localhost

dbname=postfix

query=SELECTCONCAT(domain,'/',maildir)FROMmailboxWHEREusername='%s'ANDactive='1'

 

三、配置postfixadmin 

[root@mail~]# wget

[root@mail~]# tarzxvfpostfixadmin-2.91.tar.gz

[root@mail~]#  mvpostfixadmin-2.91postfixadmin

[root@mail~]#  mvpostfixadmin/var/www/html/

[root@mailpostfixadmin]# cpconfig.inc.phpconfig.inc.php.bak

[root@mailpostfixadmin]# viconfig.inc.php

$CONF['configured']=true;

$CONF['database_type']='mysql';

$CONF['database_host']='localhost';

$CONF['database_user']='postfix';

$CONF['database_password']='postfixadmin';

$CONF['database_name']='postfix';

#定义doveadm的位置,可以用#whereisdoveadm查询doveadm的位置

$CONF['dovecotpw']="/usr/bin/doveadmpw";

#定义管理员邮箱

$CONF['admin_email']='postmaster@';

#mysql密码加密类型

$CONF['encrypt']='dovecot:

CRAM-MD5';

#使用空间配额

$CONF['used_quotas']='YES';

#密码策略

$CONF['password_validation']=array(

保存,通过web访问:

http:

//yourip/postfixadmin/setup.php

 

将生成的函数添加到config.inc.php文件末尾中,添加个管理员账号:

比如postmaster@(添加完成后建议将setup.php这个文件进行更名,或者直接删除)

在postfixadmin添加域,以及两个测试用户zhang3、li4.

 

 

四、配置dovecot

安装

[root@mail~]#  yum-yinstalldovecotdovecot-develdovecot-mysql

#主要配置

[root@vqiu~]# dovecot-n

#2.0.9:

/etc/dovecot/dovecot.conf

#OS:

Linux2.6.32-431.20.3.el6.x86_64x86_64CentOSrelease6.5(Final)ext4

auth_mechanisms=plainlogincram-md5

dict{

 quota=mysql:

/etc/dovecot/dovecot-dict-sql.conf.ext

}

disable_plaintext_auth=no

listen=*

mail_location=maildir:

/var/vmail/%d/%n

mbox_write_locks=fcntl

passdb{

 args=/etc/dovecot/dovecot-sql.conf.ext

 driver=sql

}

plugin{

 quota=dict:

Userquota:

:

proxy:

:

quota

 quota_rule=*:

storage=1G

}

postmaster_address=postmaster@

serviceauth{

 unix_listener/var/spool/postfix/private/auth{

   group=postfix

   mode=0666

   user=postfix

 }

 unix_listenerauth-client{

   group=postfix

   mode=0600

   user=postfix

 }

 unix_listenerauth-userdb{

   group=vmail

   mode=0600

   user=vmail

 }

}

servicedict{

 unix_listenerdict{

   group=vmail

   mode=0600

   user=vmail

 }

}

ssl_cert=

ssl_key=

userdb{

 args=/etc/dovecot/dovecot-sql.conf.ext

 driver=sql

}

protocollda{

 mail_plugins=quota

}

protocolpop3{

 mail_plugins=quota

 pop3_client_workarounds=outlook-no-nulsoe-ns-eoh

 pop3_uidl_format=%08Xu%08Xv

 

[root@mail~]# vi/etc/dovecot/dovecot-dict-sql.conf.ext

connect=host=localhostdbname=postfixuser=postfixpassword=postfixadmin

map{

 pattern=priv/quota/storage

 table=quota2

 username_field=username

 value_field=bytes

}

map{

 pattern=priv/quota/messages

 table=quota2

 username_field=username

 value_field=messages

}

[root@mail~]# vi/etc/dovecot/dovecot-sql.conf.ext

driver=mysql

connect=host=localhostdbname=postfixuser=postfixpassword=postfixadmin

#与postfixadmin中的要一致,否则出现密码不匹配的现象

default_pass_scheme=CRAM-MD5

user_query=SELECTCONCAT('/var/vmail/',maildir)AShome,2000ASuid,2000ASgid,CONCAT('*:

bytes=',quota)asquota_ruleFROMmailboxWHEREusername='%u'ANDactive='1'

password_query=SELECTusernameASuser,password,CONCAT('/var/vmail/',maildir)ASuserdb_home,2000ASuserdb_uid,2000ASuserdb_gid,CONCAT('*:

bytes=',quota)asuserdb_quota_ruleFROMmailboxWHEREusername='%u'ANDactive='1'

 

五、客户端测试

 [内部互发,注意message_limit_size哦]

 [发送至公网]

六、常见问题

Q:

邮件发送正常,无法接收邮件

A:

这个问题我也遇到过最多的,总结如下:

∙main.cf中的mydetination参数不能与myorigin相同;

∙virtual_tranport=dovecot,网上有些教程是virtual;

∙vmail的GID与UID为2000

∙/var/vmail权限问题,日志里会提示

Q:

传输附件失败

A:

没有定义最大邮件传递大小,postfix默认的传递大小查询:

[root@mail~]# postconf|grepmessage_size_limit

message_size_limit=10240000 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2