- 浏览: 1318469 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (351)
- Java General (37)
- .net General (2)
- Linux Toy (55)
- Oracle (81)
- Mysql (11)
- Programer Career (12)
- Oh, my living ! (2)
- Shell Script (8)
- Web Service (0)
- Linux Server (22)
- Php/Python/Perl (3P) (2)
- Javascript General (5)
- Saleforce Apex Dev (2)
- Web General (5)
- Xen & VM tech. (17)
- PSP (13)
- OpenSolaris (34)
- php (1)
- RAI/flex/action script (16)
- asterisk/CTI (7)
- 交互设计 (6)
- English (3)
- Lucene (1)
最新评论
-
GuolinLee:
markmark
JVM调优总结 -Xms -Xmx -Xmn -Xss -
di1984HIT:
写的太好啊。
JVM调优总结 -Xms -Xmx -Xmn -Xss -
javajdbc:
javajdbc 写道
JVM调优总结 -Xms -Xmx -Xmn -Xss -
javajdbc:
...
JVM调优总结 -Xms -Xmx -Xmn -Xss -
alvin198761:
非常感谢,国外的被封杀了,你这里还有一份
How to Convert An Image-Based Guest To An LVM-Based Guest
我是新手!
第一次建立自己单位的mail服务器。根据网上的资料都无法通过md5加密口令的smtp认证。自己改动了几个地方,终于实现了。
从网上得到了很多资料,这次回报一下,有什么不对的地方,请大家指出。
首先你可以网上搜一下完整的PHP APACHE MYSQL DOVECOT POSTFIX的安装事项,再看看这篇能不能解决你遇到的问题。
服务器版本:CentOS 4.5 X86_64
其它的相关软件都是最新版本
1.安装PHP的时候,在configure的时候,加上 --with-mycrypt --with-hash ,网上有安装的方法;
2.安装好mysql , 我的mysql装在 /db/mysql
3.创建相应的用户和工作组
#groupadd -g 2002 postfix
#groupadd -g 2003 postdrop
#useradd -u 2002 -g 2002 -G postdrop -d /dev/null -s /sbin/nologin postfix
#useradd -d /dev/null -s /sbin/nologin dovecot
4.安装dovecot
#./configure --prefix=/usr/local/dovecot --sysconfdir=/etc/dovecot --with-sql --with-sql-drivers --with-mysql
#make && make install
配置dovecot.conf
#cd /etc/dovecot
#cp dovecot-example.conf dovecot.conf
#vi dovecot.conf
base_dir=/var/run/dovecot
protocols=imap imaps pop3 pop3s
listen=*
disable_plaintext_auth = no
ssl_disable = yes
mail_location = maildir:/mail/%d/%n //服务器邮箱的统一位置,maildir格式,如/mail/xyz.com/username
pop3_uidl_format=%08Xu%08Xv
auth default {
...
mechanisms = PLAIN LOGIN CRAM-MD5 DIGEST-MD5
passdb sql { //去掉注释
args = /etc/dovecot/dovecot-sql.conf
}
...
userdb sql {//去掉注释
args = /etc/dovecot/dovecot-sql.conf
}
...
socket listen {
...
client {
path = /var/run/dovecot/auth-client
//postfix依靠dovecot 实现 SMTP AUTH
时要用,在postfix中的main.cf配置文件中的smtpd_sasl_path=要引用这项
mode = 0660
user = postfix
group = postfix
}
}
}
配置dovecot-sql.conf
#cp dovecot-sql-example.conf dovecot-sql.conf
#vi dovecot-sql.conf
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfixPnp1993
default_pass_scheme=MD5
//改成PLAIN-MD5 后就不会与postfixadmin生成的密码兼容,除非使用下面介绍的修改postfixadmin,
//dovecot的加密方式见 http://wiki.dovecot.org/Authentication/PasswordSchemes
//关键的地方的,搞了好一阵子。初始是,邮件地址:username@xyz.com
pop3账号username,会出现密码不正确,除非pop3账号也填username@xyz.com
,否则登陆不上。其实就是PASSWORD_QUERY的代码,改后就可以了,怪的是用where username='%u' 也不可以!!只能substring一下了
password_query = select username as user,password from mailbox where
substring(username,1,instr(username,'@')-1) = '%n' And active='1'
user_query = select maildir as home,2002 as uid ,2002 as gid from mailbox where username='%u' And active='1'
创建符号链接
#ln -s /usr/local/dovecot/sbin/dovecot /usr/bin/dovecot
5.安装postfixadmin 以及里面的DATABASE_MYSQL.TXT同,网上有很多
6.安装postfix
解压postfix的邮箱限额补丁,如网上介绍
#gzip -d postfix-2.4.1-vda-ng.patch.gz
#cp postfix-2.4.1-vda-ng.patch postfix-2.4.1
#cd postfix-2.4.1
#patch -p1 < postfix-2.4.1-vda-ng.patch
#如下编译
#看这里Postfix SASL Howto http://www.postfix.org/SASL_README.html
#make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/db/mysql/include/mysql \
-DUSE_TLS -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' \
'AUXLIBS=-L/db/mysql/lib/mysql -lmysqlclient -lz -lm'
#make
#make install //一切按照缺省的就行了,可以把tmp设置成/tmp/postfix
#mv /etc/aliases /etc/aliases.old
#ln -s /etc/postfix/aliases /etc/aliases
#/usr/bin/newaliases
#vi /etc/postfix/main.cf
myhostname = mail.xyz.com ##不能与mysql里的domain重名
mydomain = xyz.com
myorigin = $mydomain
mydestination = $myhostname localhost localhost.$mydomain #一定不要出现与MYSQL->postfix->domain表中重名的 如:$mydomain,所以我就选这行
mynetworks = 127.0.0.0/8
inet_interfaces = all
home_mailbox=Maildir/
#=====================Vritual Mailbox settings=========================
virtual_mailbox_base = /mail/
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:2002
virtual_gid_maps = static:2002
virtual_transport = virtual
#====================QUOTA========================
message_size_limit = 52428800 //每个邮件最大尺寸50M
mailbox_size_limit = 209715200 //邮箱大小限制200M
virtual_mailbox_limit = 209715200
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_overquota_bounce = yes
#====================SASL ESMTP Authenticat=================
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot //用dovecot进行认证
smtpd_sasl_path = /var/run/dovecot/auth-client //与dovecot.conf中如下的的path一致,前面讲过
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, //注意,后面到smtpd_sals_local_domain的每一行前面都有一个空格
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
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_banner=$myhostname ESMTP
查看master.cf文件必须包含下面一行
virtual unix - n n - - virtual
编辑/etc/postfix/mysql_virtual_alias_maps.cf 为以下内容
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
编辑/etc/postfix/mysql_virtual_domains_maps.cf 为以下内容
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
编辑/etc/postfix/mysql_virtual_mailbox_limit_maps.cf 为以下内容
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username
编辑/etc/postfix/mysql_virtual_mailbox_maps.cf 为以下内容
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
如果你在dovecot-sql.conf中用的是default_pass_scheme=PLAIN-MD5,就要修改postfixadmin中的functions.inc.php的函数pacrypt
function pacrypt($pw,$pw_db){
//加入普通的md5加密
if ($CONF['encrypt']=='md5'){
$password=md5($pw);
}
}
//同时也要改其它相关webmail操作中的有关加密password一项
修改config.inc.php
$CONF['encrypt']='md5';
如果你在dovecot-sql.conf中用的是default_pass_scheme=MD5 ,就不需要修改任何地方
好了,使用postfixadmin创建域和帐号
域:xyz.com
用户:test
启动
echo "" > /var/log/maillog
dovecot
postfix start
vi /var/log/maillog
看有没有错误
在客户端用outlook,foxmail,选中发信时服务器需要验证 SMTP AUTH, 测试一下。
发表评论
-
扩大虚拟机硬盘空间的方法
2010-11-18 07:53 2141虚拟机是Xen,但同样适用于KVM. 虚拟机硬盘格式为raw. ... -
挂载虚拟机镜像文件里的 LVM 逻辑分区
2010-10-08 10:52 2325如果按照 “在 CentOS ... -
apache 设置中的两个指令 EnableMMAP/EnableSendfile
2010-06-29 21:18 14022apache 中的目录为 windows 共享文件夹时,出 ... -
squid server
2010-03-25 23:01 1544For fine control you may need t ... -
lvm on xen
2010-03-25 22:18 1524Moving a Xen Guest into an LVM ... -
apache 的模块安装
2010-01-23 13:18 3706Apache HTTP服务器是一个模块化的软件,管理员可以通过 ... -
redmine & ruby 在ubuntu 上的安装笔记
2009-12-05 11:07 2509edmine & ruby 在ubuntu 上的安装笔 ... -
两台linux完美实现双机热备
2009-11-12 21:39 5869一直想做基于linux的双机热备,一直没有时间和机会。一直以 ... -
windows 无盘机,更新主机名.
2009-11-11 22:03 1369同用一个镜像的无盘机,开机后更新主机名. 写个run. ... -
如何用ssh挂载远程目录
2008-10-30 11:09 1652如何用ssh挂载远程目录 ... -
How to userspace l7 filter on Ubuntu
2008-10-23 08:00 2872How to userspace l7 filter on ... -
Ubuntu 中 apache2+tomcat+mod_jk
2008-09-05 07:45 23571. 分别下载jdk和tomcat, 不建议使用源里的包,因为 ... -
Virtual Hosting With Proftpd And MySQL (Incl. Quot
2008-07-07 17:48 1798This document describes how ... -
Differences Between NFS and iSCSI
2008-06-27 09:44 1405NFS and iSCSI provide funda ... -
Ssh 无密码登录的怪问题
2008-06-23 14:21 1801今天为做Oracle RAC 做ssh的免密码登陆,出现也这个 ... -
在UBUNTU里安装SquirrelMail邮件服务器
2008-05-27 10:24 2577我没有在UBUNTU里安装过S ... -
查看 apache2 安装了哪些模块
2008-05-26 15:23 5325root@ubuntu-idc:/# apache2ctl - ... -
使用mod_cband管理Apache 2带宽和流量
2008-02-28 22:24 1930About the module mod_cband is ... -
Apache 1.3 基于IP限制带宽
2008-02-28 14:17 1780安装步聚: /usr/local/apache/bin/ ... -
ruby on rails应用性能优化之道
2008-01-24 11:54 3598JavaEye网站从2006年9月11 ...
相关推荐
Jupyter-Notebook
Jupyter-Notebook
高效甘特图模板下载-精心整理.zip
lstm Summary Framework: z = U>x, x u Uz Criteria for choosing U: • PCA: maximize projected variance • CCA: maximize projected correlation • FDA: maximize projected intraclass variance
OpenGL调试工具,适合图形开发者,包括视频开发,播放器开始以及游戏开发者。
全国行政区划shp最新图.zip
全国研究生招生与在校数据+国家线-最新.zip
Jupyter-Notebook
直播电商交流平台 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
《林黛玉进贾府》课本剧剧本
2000-2020年沪深A股上市公司融资约束程度SA指数-最新数据发布.zip
PPT模版资料,PPT模版资料
CPA注会考试最新教材资料-最新发布.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
内容概要:本文提供了一个完整的职工管理系统的C++源代码。通过面向对象的编程方法,实现了包括创建新职工、查询、增加、修改、删除、排序、统计以及存储和恢复职工数据在内的多个基本操作功能。该系统支持不同的用户角色(如管理员与老板),并通过菜单驱动方式让用户方便地进行相关操作。此外,还包括了错误检测机制,确保操作过程中的异常得到及时处理。 适合人群:有一定C++语言基础,特别是面向对象编程经验的程序员;企业管理人员和技术开发人员。 使用场景及目标:适用于中小型企业内部的人力资源管理部门或IT部门,用于维护员工基本信息数据库,提高工作效率。通过本项目的学习可以加深对链表、类和对象的理解。 阅读建议:建议先熟悉C++的基本语法和面向对象概念,再深入学习代码的具体实现细节。对于关键函数,比如exchange、creatilist等,应当重点关注并动手实践以加强理解。
Jupyter-Notebook
考研公共课历年真题集-最新发布.zip
Huawei-HKUST Joint Workshop on Theory for Future Wireless 15-16 September 2022 华为-香港科技大学未来无线理论联合研讨会 Speaker:Jingwen Tong
演出人员与观众疫情信息管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
《林黛玉进贾府》课本剧剧本.pdf