带来一篇CentOS办事器上搭建企业电子邮件体系
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!情况先容:软件包版本
--------------------------------------CentOS6.5X64
postfixadmin-2.91.tar.gz
postfix-2.6.6-6.el6_5.i686(yum)
postfix-2.11.1.tar.gz(Traball)
dovecot-2.0.9-7.el6_5.1.i686
--------------------------------------
域名及主机名
--------------------------------------
Domain:vqiu.cn
Hostname:mail.vqiu.cn
--------------------------------------
数据库信息
--------------------------------------
Mysql(postfixadmin)
DBNAME===>postfixadmin
user===>postfix
password===>postfixadmin--------------------------------------
1、情况安排准备
1、域名及主机名设置
略……
2、设置新yum源(网易)
#yum-yinstallwget
#cd/etc/yum.repos.d/
#mkdirbackup
#mvCentOS-*backup/
#wgethttp://mirrors.163.com/.help/CentOS6-Base-163.repo
//此步调可选,目标为从此yum装置amavisd-new、clamav等
#rpm-ivhhttp://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
//清空yum缓存及更新体系
#yumcleanall;yumupdate-y
3、LAMP情况
#yum-yinstallhttpdmysqlmysql-develmysql-serverphpphp-pecl-Fileinfophp-mcryptphp-develphp-mysqlphp-commonphp-mbstringphp-gdphp-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcpcrepcre-devel
//设置apache,并让apache撑持php
#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筹办好数据库及认证用户
#mysql-uroot-p
mysql>createdatabasepostfixcharactersetutf8;
mysql>grantallprivilegesonpostfix.*topostfix@localhostidentifiedbypostfixadmin;
mysql>flushprivileges;
mysql>exit
5、增加邮件假造用户vmail
#useradd-u2000-d/var/vmail-c"VirtualMailuser"-s/sbin/nologinvmail
2、设置postfix
#vi/etc/postfix/main.cf
#################Mainconfigure####################
hostname=mail.vqiu.cn
mydomain=vqiu.cn
myorigin=$mydomain
inet_inte***ces=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_inte***ces=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=YES;)才失效。
virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
#Queuelifetimecontrol
maximal_queue_lifetime=1d
bounce_queue_lifetime=1d
#vi/etc/postfix/master.cf
#在开端到场LDA
dovecotunix-nn--pipe
flags=DRhuuser=vmail:vmailargv=/usr/libexec/dovecot/dovecot-lda-f${sender}-d${recipient
#vi/etc/postfix/mysql_virtual_domains_maps.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTdomainFROMdomainWHEREdomain=%sANDactive=1
#optionalquerytousewhenrelayingforbackupMX
#query=SELECTdomainFROMdomainWHEREdomain=%sANDbackupmx=0ANDactive=1
#vi/etc/postfix/mysql_virtual_alias_maps.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTgotoFROMaliasWHEREaddress=%sANDactive=1
#vi/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTquotaFROMmailboxWHEREusername=%sANDactive=1
#vi/etc/postfix/master.cf
user=postfix
password=postfixadmin
hosts=localhost
dbname=postfix
query=SELECTCONCAT(domain,/,maildir)FROMmailboxWHEREusername=%sANDactive=1
3、设置postfixadmin
#wgethttp://jaist.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.91/postfixadmin-2.91.tar.gz
#tarzxvfpostfixadmin-2.91.tar.gz
#mvpostfixadmin-2.91postfixadmin
#mvpostfixadmin/var/www/html/
#cpconfig.inc.phpconfig.inc.php.bak
#viconfig.inc.php
$CONF=true;
$CONF=mysql;
$CONF=localhost;
$CONF=postfix;
$CONF=postfixadmin;
$CONF=postfix;
#界说doveadm的地位,能够用#whereisdoveadm查询doveadm的地位
$CONF="/usr/bin/doveadmpw";
#界说***邮箱
$CONF=postmaster@vqiu.cn;
#mysql暗码加密范例
$CONF=dovecot:CRAM-MD5;
#利用空间配额
$CONF=YES;
#暗码战略
$CONF=array(
保留,经由过程web会见:http://yourip/postfixadmin/setup.php
将天生的函数增加到config.inc.php文件开端中,增加个***账号:好比postmaster@vqiu.cn(增加完成后倡议将setup.php这个文件举行改名,大概间接删除)
在postfixadmin增加vqiu.cn域,和两个测试用户zhang3、li4.
4、设置dovecot
装置
#yum-yinstalldovecotdovecot-develdovecot-mysql
#次要设置
#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@vqiu.cn
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=</etc/pki/dovecot/certs/dovecot.pem
ssl_key=</etc/pki/dovecot/private/dovecot.pem
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
}
#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
}
#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=%uANDactive=1
password_query=SELECTusernameASuser,password,CONCAT(/var/vmail/,maildir)ASuserdb_home,2000ASuserdb_uid,2000ASuserdb_gid,CONCAT(*:bytes=,quota)asuserdb_quota_ruleFROMmailboxWHEREusername=%uANDactive=1
5、客户端测试
[外部互发,注重message_limit_size哦]
[发送大公网]
6、罕见成绩
Q:邮件发送一般,没法吸收邮件
A:这个成绩我也碰到过最多的,总结以下:
[*]main.cf中的mydetination参数不克不及与myorigin不异;
[*]virtual_tranport=dovecot,网上有些教程是virtual;
[*]vmail的GID与UID为2000
[*]/var/vmail权限成绩,日记里会提醒
Q:传输附件失利
A:没有界说最年夜邮件传送巨细,postfix默许的传送巨细查询:
#postconf|grepmessage_size_limit
message_size_limit=10240000#默许为10M
#编纂main.cf界说符合邮件传输的巨细
#查询数据库中的数据
#postmap-qvqiu.cnmysql:/etc/postfix/mysql_virtual_domains_maps.cf
vqiu.cn
#postmap-qzhang3@vqiu.cnmysql:/etc/postfix/mysql_virtual_postfixbox_maps.cf
vqiu.cn/vqiu.cn/zhang3/
附:postfix-2.11.1.tar.gztarball装置
#tarzxvfpostfix-2.11.1.tar.gz
#cdpostfix-2.11.1
#注重mysql路径
#makemakefilesCCARGS=-DHAS_MYSQL-I/usr/include/mysql-DUSE_SASL_AUTH-DDEF_SERVER_SASL_TYPE="dovecot"AUXLIBS=-L/usr/lib/mysql/-lmysqlclient-lz-lm-lssl-lcrypto;make;makeinstall
dovecot-2.2.13.tar.gztarball装置
#./configure--prefix=/usr/local/dovecot--sysconfdir=/etc--localstatedir=/var--with-sql--with-mysql--with-zlib--with-sslLDFLAGS=-L/usr/lib/mysql/;make;makeinstall
#可不实行,界说postfixadmin的doveadm路径便可
#ln-sv/usr/local/dovecot/bin/doveadm/usr/bin/doveadm(postfixadmin)
#可不实行,界说postfix中master.cf设置文件中LDA路径便可
#ln-s/usr/local/dovecot/libexec/dovecot//usr/libexec/
Bug:因为Mairbox没有设置对应的相干目次(好比:.Sent[发件箱].Trafts[草稿箱].Sapms[渣滓邮件]等),客户端默许利用IMAP协定来吸收邮件时,只存在一个收件箱及草稿箱,别的的目次必要手动创建(临时没有好的思绪),写了个复杂得不克不及再复杂的SHELL剧本。
#!/bin/bash
foriin.Drafts.Sent.Trash.Tempates.Spams;do
mkdir/var/vmail/$1/$2/$i-pv;
done
chownvmail:vmail/var/vmail/$1-R;
比方:给zhang3创建相干的IMAP目次
shell>shshell_scriptvqiu.cnzhang3
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
带来一篇CentOS办事器上搭建企业电子邮件体系
LZ是天才,坚定完毕 选择交流平台,如QQ群,网站论坛等。 上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题. 编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。 对我们学习操作系统有很大的帮助,加深我们对OS的理解。? 如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。 一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。? 如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。
页:
[1]