Liunx邮件系统(postfix+dovecot+postfixadmin)
更新时间:2023-04-23 09:54:01 阅读量: 实用文档 文档下载
- liunx邮件服务器推荐度:
- 相关推荐
Liunx邮件系统(postfix+dovecot+postfixadmin)
Liunx邮件系统(postfix+dovecot+postfixadmin)
一、 相应软件介绍
1. Dovecot:用户验证以及收取邮件
2. Postfix:发送邮件
3. Postfixadmin:域名和用户管理工具,为postfix和dovecot提供了mysql数据库的支持
二、 创建相应的用户和工作组
默认mysql和php、apache已经装好了。Apache必须2.0以上版本。安装PHP必须5.2以上版本。安装的时候,在configure的时候,加上 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-zlib --with-zlib-dir=/usr/local/php/zlib --with-mcrypt --enable-mbstring --with-hash ,网上有安装的方法;安装好mysql , 我的mysql装在 /usr/local/mysql。
运行一下命令创建相应的用户和工作组: #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
三、 安装配置dovecot
1. 安装dovecot
1) 下载dovecot安装软件
2) 具体安装,运行以下命令: #tar -zxf dovecot-(版本号).tar.gz
#cd dovecot-(版本号)
#./configure --prefix=/usr/local/dovecot --sysconfdir=/etc/dovecot --with-sql --with-sql-drivers --with-mysql=/usr/local/mysql
#make && make install
2. 配置dovecot
配置文件在/etc/dovecot(也有可能在/usr/local/etc/),运行以下命令: #cd /etc/dovecot
#cp dovecot-example.conf dovecot.conf
修改dovecot.conf文件如下:
disable_plaintext_auth = no
ssl_disable = yes (根据不同的版本,如果是ssl则将ssl设置为no)
Liunx邮件系统(postfix+dovecot+postfixadmin)
protocols = pop3 pop3s imap imaps
mail_location = maildir:/mail/%d/%n(创建/mail文件夹,并给他赋予postfix的
全部权限)
log_path=/var/log/dovecot/dovecot.log
info_log_path=/var/log/dovecot/dovecot_info.log
pop3_uidl_format = %08Xu%08Xv
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
auth default {
...
mechanisms = PLAIN LOGIN
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
}
}
}
3. 配置dovecot-sql.conf
#cp dovecot-sql-example.conf dovecot-sql.conf
修改dovecot-sql.conf
driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfixPnp1993 default_pass_scheme=MD5-CRYPT //改成PLAIN-MD5 后就不会与postfixadmin生成的密码兼容,除非使用下面介绍的修改postfixadmin,
//dovecot的加密方式见 password_query = select username as user,password from mailbox where substring(username,1,instr(username,'@')-1) = '%n' And active='1'
user_query = select concat('/mail/', maildir) as home,2002 as uid ,2002 as gid from mailbox where username='%u' And active='1'
4. 创建符号链接
Liunx邮件系统(postfix+dovecot+postfixadmin)
#ln -s /usr/local/dovecot/sbin/dovecot /usr/bin/dovecot
四、 安装postfixadmin
1. 下载postfixadmin
2. 把postfixadmin软件解压缩至apache运行目录下,比如 /var/www cd /var/www/postfixadmin
chmod 744 *.php *.css
cd admin/
chmod 744 *.php .ht*
cd ../images/
chmod 744 *.gif *.png
cd ../languages/
chmod 744 *.lang cd ../templates/
chmod 744 *.tpl
cd ../users/
chmod 744 *.php
3. 在数据库中创建一个名为postfix的数据库
4. 修改postfixadmin文件夹中的config.inc.php
<?php
# 注意:上面这行必须添加,这是 PHP 脚本的标记。
# 改为 'true',表示这个文件已经配置好了。否则无法登录 PostfixAdmin。 $CONF['configured'] = true;
# 默认的界面语言
$CONF['default_language'] = 'cn';
# 配置 PostfixAdmin 连接 MySQL 数据库
# 注意:
# 这里的 database_user 必须要有修改 'postfix' 这个数据库的权限,所以 $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = '127.0.0.1';
$CONF['database_user'] = 'root';
$CONF['database_password'] = 'your_password_here';
# 这是存储虚拟域和虚拟用户的那个数据库的名字
$CONF['database_name'] = 'postfix';
$CONF['encrypt'] = 'md5crypt';
$CONF[‘dovecotpw’]= “/usr/local/dovecot/sbin/dovecotpw”;
# 虚拟域的管理员在使用 PostfixAdmin 有问题时和谁联系:
$CONF['admin_email'] = 'postmaster@'
Liunx邮件系统(postfix+dovecot+postfixadmin)
# 是否在用户的 Maildir/ 路径中包含域名。
# 由于我们的虚拟用户是按照域名来归类和存储的,所以这里选择 'YES'。
# Maildir 路径示例(用户 www@ 的 Maildir 在系统上的位置): # /home/vmail//www/
$CONF['domain_path'] = 'YES';
# 在 Maildir/ 的路径中,是否以邮件地址作为目录名,例如:
# /home/vmail//www@/
# 由于我们规划好的路径是: /home/vmail//www/ 这样的格式, # 所以这里设置为 'NO'。
$CONF['domain_in_mailbox'] = 'NO';
# 当然要使用邮箱容量限额啦:
$CONF['quota'] = 'YES';
# PostfixAdmin 会将查询到的 'quota' 属性的值除以 'quota_multiplier' 中设置的值。
# 由于在 Dovecot 中 quota 为 10240 表示 10M,所以这里需要将它设置为 '1024',这样
# 显示的信息才会正确。
$CONF['quota_multiplier'] = '1024';
# 我们使用 dovecot 作为 transport,所以这里设置为 'YES',并在 transport_options
# 里添加 'dovecot'。也可以只保留 'dovecot',删除其它的几个。
$CONF['transport'] = 'YES';
$CONF['transport_options'] = array (
'dovecot', // <-- Add this.
'virtual', // for virtual accounts
'local', // for system accounts
'relay' // for backup mx
);
# 使用 'dovecot' 作为默认的 transport
$CONF['transport_default'] = 'dovecot';
# 暂时不需要这几个
$CONF['backup'] = 'NO';
$CONF['fetchmail'] = 'NO';
$CONF['show_footer_text'] = 'NO';
# 下面这一行表示 PHP 代码结束。
?>
Liunx邮件系统(postfix+dovecot+postfixadmin)
5. 安装可以看postfixadmin自带的install.txt文件。
五、 安装配置postfix
1. 安装postfix
1) 下载postfix安装软件,可以到postfix官网下载最新版
2) 具体安装,运行以下命令: #tar -zxf postfix-(版本号).tar.gz
#cd postfix-(版本号)
#make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \
-DUSE_TLS -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' \
'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm'
(将/usr/local/mysql/lib/mysql/libmysqlclient.so.15拷贝到/usr/lib)
#make
#make install (一切按照缺省的就好了)
#mv /etc/aliases /etc/aliases.old
#ln -s /etc/postfix/aliases /etc/aliases
#/usr/bin/newaliases
2. 配置postfix
修改配置文件/etc/postfix/main.cf inet_interfaces = all
myhostname = ##不能与mysql里的domain重名
mydomain =
myorigin = $mydomain
mydestination = $myhostname localhost localhost.$mydomain #一定不要出现与MYSQL->postfix->domain表中重名的 如:$mydomain,所以我就选这行
mynetworks = 127.0.0.0/8
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
Liunx邮件系统(postfix+dovecot+postfixadmin)
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
Liunx邮件系统(postfix+dovecot+postfixadmin)
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
注意:
1. 最后给/etc/postfix/mysql_*.cf文件附上权限(其他用户要有读权限)。使用postfix
check 来检查配置文件是否正确。
2. 还就注意复制上去的配置文件可能会有空格或是tab会导致check错误。错误如下:
Should be “no” or^…….
Unable to create missing queue …..
3. 如果你在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(postfixadmin)
$CONF['encrypt']='md5';
如果你在dovecot-sql.conf中用的是default_pass_scheme=MD5-CRYPT ,就不需要修改任何地方(建议保持MD5-CRYPT)
4. virtual_mailbox_base = /mail/ 需要给mail文件夹赋予权限,其他所有者必须有读写
权限。
5. 再新建域是描述一定要填写,否则会无法发送邮件。
6. 一定需要配置DNS服务器。
正在阅读:
Liunx邮件系统(postfix+dovecot+postfixadmin)04-23
中国人民解放军各集团军编制战斗序列大全05-02
亲情永不变作文800字06-28
2016吉大药事管理学机考110-19
凌霄小学2015年春季学期数学教研组计划06-10
对我市烟草网络案件侦破的思考02-20
MapCAD for MapInfo Professional--跨越CAD和GIS的鸿沟11-08
天空很蓝作文800字06-25
嵌入式系统期末考试题库及答案12-14
德尔格在线产品手册04-12
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 邮件系统
- postfixadmin
- postfix
- dovecot
- Liunx
- e袋洗:如何从传统行业成功步入O2O模式经营
- 八年级上经典三角形的高中线角平分线内外角练习
- 《熊猫人》电视剧招商方案及植入方案
- 八年级下册物理竞赛试卷人教版正式1
- 发挥党员先锋模范作用
- 变电站主变压器低压侧短路高压侧所反映电流现象分析
- 浅谈“文道统一”原则在语文教学中的渗透 邵晓丹
- Critical Casimir Effect in superfluid wetting films
- 简单句的五种基本句型讲解及练习题
- 美国现实主义文学 苏倪娟
- 浅谈游戏在小学英语课堂教学中的运用
- 2010年七年级新生综合素质测查数学及答案
- 深圳市南山区育才三中2015-2022学年上学期七年级期中考试数学试
- 如何自动备份大型交换机配置文件_孙绪华
- 2015年滨州市专业技术人员公需科目继续教育考试答案(全面深化改
- 甘肃重点中学协作体2022届高三上学期第一次适应性考试试卷
- 中国共产党党史教学教案
- 三亚市天涯区2022版英语五年级上册期末专题复习:选词填空A卷
- 2015年江西省中小学生安全知识题库
- 2015-2022年中国彩色油墨溶剂油市场潜力与投资前景分析报告