热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

postfix+dovecot+MySQL+extmail邮件服务器配置笔记

缘起:帮中学母校的一个非官方学生组织搭建邮件服务器系统:centos5选型:sendmail相对原始,zimbra套件太重型,最后选了相对灵活且轻量级的postfix+dovecot安装过程没什么好说的,yum和自行编译没有绝对的差异配置:postfixmain.cf:和一般网络找到的

缘起:帮中学母校的一个非官方学生组织搭建邮件服务器

系统:centos5

选型:sendmail相对原始,zimbra套件太重型,最后选了相对灵活且轻量级的postfix+dovecot

安装过程没什么好说的,yum和自行编译没有绝对的差异

配置:

postfix main.cf:

和一般网络找到的配置基本一致

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = localhost, mail.example.com, example.com
local_recipient_maps =
unknown_local_recipient_reject_code = 550
mynetworks_style = host
mynetworks = 127.0.0.0/8
relay_domains = $mydomain
mailbox_commmand = /usr/libexec/dovecot/deliver
mailbox_size_limit = 512000000
virtual_transport = dovecot
local_transport = dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth-client
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_pipelining,
    reject_unauth_destination,
    permit
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
alias =
smtpd_sender_login_maps =
        mysql:/etc/postfix/mysql_virtual_sender_maps.cf
virtual_mailbox_base = /home/dovemail
debug_peer_level = 3
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
home_mailbox = Maildir/
dovecot dovecot:
为了允许非安全连接
disable_plaintext_auth = no

为了允许所有人访问

login_trusted_networks = 0.0.0.0
disable_plaintext_auth = no
login_trusted_networks = 0.0.0.0
log_path = /var/log/dovecot.log
listen = *
info_log_path = /var/log/dovecot-info.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:~/Maildir
mbox_write_locks = fcntl
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
service auth {
unix_listener /var/spool/postfix/private/auth-client {
group = postfix
mode = 0660
user = postfix
}
user = root
}
service auth {
unix_listener auth-userdb {
mode = 0660 # socket access mode
user = dovecot # set uid to nobody
group = dovemail # set gid to nobody
}
}
ssl_cert = ssl_key = userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}

dovecot dovecot-sql.conf:

driver = mysql
cOnnect= host=localhost dbname=postfix user=postfix password=*********
default_pass_scheme = MD5
password_query = SELECT password, maildir as userdb_home FROM mailbox WHERE username = '%u'
user_query = select maildir as home,000000 as uid ,000000 as gid from mailbox where username='%u' And active='1'


extmail配置的时候没什么特别的,但是要注意用脚本导入邮箱用户名单时,最好用extman附带的maildirmake.pl生成目录结构。


最好把postfix和dovecot都安装成服务。

chkconfig --list postfix|dovecot

推荐阅读
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ... [详细]
author-avatar
霓Nin氵ini
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有