列出local mda 所使用的别名数据库,/var/vmail进行了

维护 postfix 的命令

newaliases (重新建立小名数据库)
postalias /etc/postfix/aliases (创造或询问小名数据库)
postconf (修改 main.cf 配置文书档案 )
postqueue (査看postfix队列)
postsuper (管理员保管 postfix 队列)

转自:

查阅商酌

main.cf 配置文件详解,postfixmain.cf postconf -n #小名数据库(postalias/newaliases 命令生成) alias_database = hash:/etc/postfix/aliases #别名表,列出...

#用来交给邮件或管理类别的组标记符 
setgid_group = postdrop

broken_sasl_auth_clients = yes

mail_owner = postfix

centos下postfix+extmail+dovecot+maildrop安装笔记二〇一四更新

正文最先是2010年刊登的,这两天几天照此笔记又安装了贰次系统,这里更新一下记下。

作者:wangdy

正文发表于 转发请注脚!

安装情形是CentOS6.5,得到服务器的时候唯有根目录的分区。邮件准备存款和储蓄到 /var/mailbox下。有规范化的提议对 /var/spool/postfix和 /var/vmail举行了单独分区。

/var/spool/postfix是postfix存款和储蓄队列的位置, /var/vmail是用来存款和储蓄邮件的。

CentOS提供了很有利的yum在线安装,作者的核心法则是非主要、对版本不灵动的模块尽量用yum安装,邮件系统首要模块则用源码编写翻译安装。

先是用yum安装的模块有:mysql mysql-server mysql-devel db4-devel openssl gcc libxml2 libxml2-develgcc-c++

多少个模块都亟待运用PCRE。

先说飞鹤(Dumex)下多少个模块的衬映。

MTA用的是postfix-2.5.17。

web模块是第一要求明确的,因为它调节了mysql表结构,这里采纳国产的extmail,别的的依附extmail的内需倒推来分明。

webmail使用 extmail-1.0.5,web管理模块用extman-0.2.5

流行版本的extmail对maildrop的自行苏醒、转载等提供了很好的帮忙,所以MDA选取最盛行的maildrop(2.5.4)

这几个中山大学概说一下为啥要用maildrop。

对设想客商投递的支撑,postfix自带了八个投递代理(MDA):virtual

virtual投递代理在 master.cf里描述为:

virtual unix - n n - - virtual

假若大家在main.cf里设置virtual_transport = virtual,就象征对于包括在 virtual_mailbox_domains域名里的邮件,都使用virtual进行投递。

postfix自带的virtual只提供了最主旨的QUOTA成效,倘诺想利用更目眩神摇的法力,如自行转载,自动复苏,邮件自定义过滤等,就须要换到越来越高档的MDA。

理之当然可选择的MDA有非常多样,举个例子procmail, maildrop等。作者这里选择maildrop。

顾客消息囤积方式也可以有为数不少可选的,比方mysql,ldap等。这里选mysql,原因是逐条模块,饱含extmail等对那些支撑最佳最有利最轻松易行。

maildrop在递送邮件的时候,需求规定部分数量,比如收件顾客的Maildir的路线,保存邮件用的uid,gid,邮箱体量等,那个数据需求maildrop的同门师兄 courier-authlib 来提供,所以要先把courier-authlib装好。

上边要说的是SMTP的 SASL认证。postfix的模块化设计在此间也显示出比qmail特出的地方。

postfix 2.3过后sasl帮衬三种模块:

Cyrus SASL version 1

Cyrus SASL version 2

Dovecotprotocol version 1

互连网海南大学学部分的稿子都以讲用 赛勒斯 SASL 2(并用CyrusIMAP提供POP3/IMAP服务),本文采取后起宿将 Dovecot做为 sasl模块,Dovecot同期提供 POP3/IMAP 服务。

Dovecot的本子为dovecot-2.0.21。

发端安装!

假定系统已经安装postfix请先卸载!

下载postfix-2.5.17.tar.gz

postfix安装的是亟需钦点多少个特地的顾客和组,先创建

#groupadd-g 2001 postfix

#useradd-g postfix -u 1001 -s /sbin/nologin -M postfix

#groupadd-g 2002 postdrop

#useradd-g postdrop -u 2002 -s /bin/false -M postdrop

(要是预先安装的postfix已经创立了客户,也得以直接接纳,要用到uid和gid)

#groupadd -g 1001 vmail

#useradd -g vmail -u 1001 -s /sbin/nologin

上述创设用了存取邮件的帐号vmail,此帐号很要紧,相当多事关存取邮件的地点都要用到!

创立邮箱存款和储蓄目录 /var/mailbox

#chown vmail:vmail /var/mailbox

#chmod 700 /var/mailbox

编译

#makemakefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE="dovecot"

-DHAS_PCRE-DHAS_MYSQL

-I/usr/include/-I/usr/local/include -I/usr/include/mysql/'

AUXLIBS='-L/usr/local/lib-L/usr/lib/mysql -lmysqlclient -lpcre'

#make

#makeinstall

 

留意make参数里增加不利的mysql -I (头文件所在目录) -L(动态库所在目录)

make install的问话全体回车默许。

(install的时候即便私下认可参数里不曾值,请遵照错误提醒认真检查)

留神参数

-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE="dovecot"

表示启用SASL身份ID明,并暗许使用dovecot。

mysql的多少个渠道能够遵照实情做修改,笔者那边的目录都是yum默许安装的。

开端入mysql表结商谈数码。

下载extman-0.2.5.tar.gz

解开后进入 docs目录

建库建表:

#mysql-u root -p < extmail.sql

注意extmail.sql里安插的数据库,客商名,口令都以extmail,能够编写制定脚本修改。

extmail.sql里创造的数据库顾客 webman 是用在web后台保管的,extmail用在颇有别的地方,富含postfix邮件收发,dovecot帐户验证、邮件收发,webmail里等。

导入开端数据:

#mysql-u root -p < init.sql

(能够先吧 init.sql文件里的extmail.org改成你协和的域名,或登陆web处理后再增加域名)

把目录下 mysql_*.cf全体拷贝至/etc/postfix

# cpmysql_*.cf /etc/postfix/

修改文件里的客户名口令

下载dovecot-2.0.21.tar.gz

#./configure--prefix=/usr/local/dovecot --sysconfdir=/etc --with-sql --with-mysql

#make

#makeinstall

亟需ssl帮忙能够加上参数--with-ssl=openssl

拷贝 doc/example-config/下的 dovecot.conf 至 /etc/dovecot

配置dovecot.conf:

base_dir=/var/run/dovecot

protocols=imapimaps pop3 pop3s

listen=*

disable_plaintext_auth = no

ssl_disable = yes

mail_location= maildir:/var/vmail/%d/%n/Maildir

pop3_uidl_format=%08Xu%08Xv

authdefault {

...

mechanisms= plain login digest-md5 cram-md5

#去掉注释

passdb sql {

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

}

...

#去掉注释

userdbsql {

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

}

...

socketlisten {

...

client {

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

}

}

}

编辑/etc/dovecot/dovecot-sql.conf:

driver =mysql

connect =host=localhost dbname=extmail user=extmail password=extmail

default_pass_scheme=MD5-CRYPT

password_query= SELECT password, maildir as userdb_home FROM mailbox WHERE username = '%u'

user_query= select 1001 as uid ,1001 as gid from mailbox where username='%u' Andactive='1'

注意文件里的客户名口令。

password_query是pop3 or imap登陆的时候实行的,传客商名查密码,邮箱目录

user_query是询问顾客存取邮件用的uid和gid的,这里写死了。。

创制符号链接

#ln -s/usr/local/dovecot/sbin/dovecot /usr/bin/dovecot

承接安排 postfix

#mv/etc/aliases /etc/aliases.old

#ln -s/etc/postfix/aliases /etc/aliases

#/usr/bin/newaliases

编辑 /etc/postfix/main.cf

#邮件服务器域名

myhostname= mail.abc.com

#邮箱域名

mydomain= abc.com

myorigin= localhost

mydestination= $myhostname localhost localhost.$mydomain

#可以信任的互连网,前面包车型地铁permit_mynetworks 说的便是那

mynetworks= 127.0.0.0/8

inet_interfaces= all

home_mailbox= mbox

smtpd_banner= Welcome to ESMTP Server

#设置能够从心所欲从本机转发邮件的域名,一加什么的或是用到

#relay_domains=

alias_maps=

sendmail_path= /usr/sbin/sendmail

newaliases_path= /usr/bin/newaliases

mailq_path= /usr/bin/mailq

setgid_group= postdrop

html_directory= no

manpage_directory= /usr/local/man

sample_directory= /etc/postfix

unknown_local_recipient_reject_code= 450

non_fqdn_reject_code= 450

unknown_virtual_alias_reject_code= 450

unknown_virtual_mailbox_reject_code= 450

maps_rbl_reject_code= 450

maximal_queue_lifetime= 1

bounce_queue_lifetime= 0

#=====================VritualMailbox settings=========================

#询问域名的布局

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

#用maildrop投递邮件!前边会设置

virtual_transport= maildrop

maildrop_destination_recipient_limit=1

#====================QUOTA========================

#设置邮件大小限制和信箱最大容积

message_size_limit= 500001000

mailbox_size_limit= 500001000

virtual_mailbox_limit= 209715200

#====================SASLESMTP Authenticat=================

#注: smtpd说的是收纳邮件顾客端发送邮件的服务, smtp说的是给其余邮件服务器投递用的劳务

#其一得加yes,不然你就为网络进献二个垃圾邮件服务器

smtpd_sasl_auth_enable= yes

#那边运用了dovecot ^_^

smtpd_sasl_type= dovecot

smtpd_sasl_path= private/auth

broken_sasl_auth_clients= yes

smtpd_sasl_local_domain=

smtpd_sasl_security_options= noanonymous

#留意第二行起有空格

#其一说的是邮件客商端(包含本域客户顾客端和其他服务器投递进来的)提交收件人的时候做的自己批评

# permit_sasl_authenticated 表示 smtp 鉴权通过的permit,其余二种景况全拒!

smtpd_recipient_restrictions=

permit_sasl_authenticated,

permit_mynetworks,

reject_invalid_hostname,

reject_non_fqdn_hostname,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unknown_sender_domain,

reject_unknown_recipient_domain,

reject_unauth_pipelining,

reject_unauth_destination

#check_recipient_access pcre:/etc/postfix/spamd_filter_access

#reject_rbl_client sbl.spamhaus.org,

#reject_rbl_client cblless.anti-spam.org.cn,

#反省发信人

smtpd_sender_restrictions=

permit_sasl_authenticated,

permit_mynetworks,

reject_non_fqdn_sender,

reject_unknown_sender_domain,

reject_sender_login_mismatch,

reject_authenticated_sender_login_mismatch,

reject_unauthenticated_sender_login_mismatch

smtpd_helo_required= yes

smtpd_helo_restrictions=

permit_sasl_authenticated,

permit_mynetworks,

reject_invalid_hostname

smtpd_sender_login_maps=

mysql:/etc/postfix/mysql_virtual_sender_maps.cf,

mysql:/etc/postfix/mysql_virtual_alias_maps.cf

disable_vrfy_command= yes

smtpd_client_restrictions=

permit_mynetworks,

check_client_access hash:/etc/postfix/access

#=====================TLS=========================

#smtp的tls支持,此处不详述

smtpd_use_tls= yes

smtpd_tls_security_level= may

smtpd_tls_key_file= /etc/postfix/certs/mail.key

smtpd_tls_cert_file= /etc/postfix/certs/mail.crt

smtpd_tls_loglevel= 1

smtpd_tls_session_cache_timeout= 3600s

smtpd_tls_session_cache_database= btree:/var/spool/postfix/smtpd_tls_cache

tls_random_source= dev:/dev/urandom

readme_directory= no

command_directory= /usr/sbin

daemon_directory= /usr/libexec/postfix

queue_directory= /var/spool/postfix

mail_owner= postfix

data_directory= /var/lib/postfix

启动dovecot服务

#dovecot

假如出错,看看 /var/log/dovecot

下载 maildrop-2.5.4.tar.gz

./configure--enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail'--enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1001--enable-maildrop-uid=1001 --with-trashquota --with-dirsync

Make& make install

/etc/postfix/master.cf里增加

maildrop unix - n n - - pipe

flags=DRhu user=vmailargv=/usr/local/bin/maildrop -d ${recipient}

安装extmail和extman!

extman是邮箱的后台管理web,注意webman.cf里的安插:

邮箱的根目录:

SYS_MAILDIR_BASE= /var/mailbox

SYS_DEFAULT_UID= 1001

SYS_DEFAULT_GID= 1001

SYS_MYSQL_USER= webman

SYS_MYSQL_PASS= webman

extmail里的 webmail.cf

SYS_MAILDIR_BASE= /var/mailbox

祝你成功!

本文最先是二〇一〇年登载的,近期几天照此笔记又安装了一次系统,这里更新一下记录。 小编...

/etc/postfix下 main.cf 配置文件详解,postfixmain.cf

postconf -n

#小名数据库(postalias/newaliases 命令生成)
alias_database = hash:/etc/postfix/aliases

#小名表,列出local mda 所运用的外号数据库
alias_maps = hash:/etc/postfix/aliases

#半途而返的邮件重新投递的最长日子
bounce_queue_lifetime = 1d

#支撑非标准认证规定的一言一动
broken_sasl_auth_clients = yes

#postfix命令目录
command_directory = /usr/sbin

#postfix配置文书档案目录
config_directory = /etc/postfix

#配置内容过滤 amavis
content_filter = smtp-amavis:[127.0.0.1]:10024

#postfix 的次第服务器程序目录
daemon_directory = /usr/libexec/postfix
#
data_directory = /var/lib/postfix
#
debug_peer_level = 2

#再一次邮件
enable_original_recipient = no
#
html_directory = /usr/share/doc/postfix-2.6.2-documentation/html
#
mail_name = Postfix – welcome mail.xmall.com

#其一参数钦点的系统账户,作为队列文件的具有者以及postfix daemon 进度的周转地方
mail_owner = postfix

#单封邮件大小限制,单位字节
mailbox_size_limit = 150242880

#
mailq_path = /usr/bin/mailq.postfi

#manpage 目录
manpage_directory = /usr/share/man

#postfix在扬弃投递而回到不可投递消息前,被延迟邮件再deferred邮件队列中的生存时间
maximal_queue_lifetime = 1d

#限制单封邮件的最大尺寸,单位字节
message_size_limit = 150242880

#设置”本地网域”
mydestination = $mynetworks $myhostname

#完整主机名称(主机名称+网域名称)
myhostname = mail.xmall.com

#邮件系统的网域名称
mydomain = xmall.com

#外加到只含人名部分的,不完整邮件地址的网域名称
myorigin

#列出可经过本邮件系统寄出邮件的互联网地址或ip地址
mynetworks = 127.0.0.1

#宽容sendmail,用于重新建构别称数据库的newaliases程序路线
newaliases_path = /usr/bin/newaliases.postfix

#postfix 队列的主目录
queue_directory = /var/spool/postfix
#
readme_directory = /usr/share/doc/postfix-2.6.2-documentation/readme
#
receive_override_options = no_address_mappings

#样本配置文件目录
sample_directory = /etc/postfix

#供脚本或指令行用来寄送邮件
sendmail_path = /usr/sbin/sendmail.postfix

#用来交付邮件或管理系列的组标志符
setgid_group = postdrop

#
show_user_unknown_table_name = no

#smtp 问候新闻
smtpd_banner = $myhostname ESMTP $mail_name

#当顾客端引发错误时,postfix 的始发等待时间
smtpd_error_sleep_time = 0s

#收件人范围标准
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, check_policy_service inet:127.0.0.1:10030

#启动sasl 验证
smtpd_sasl_auth_enable = yes

#
smtpd_sasl_local_domain = $myhostname

#钦赐密码验证机制(除noanonymous) 全体可用机制
smtpd_sasl_security_options = noanonymous

#设定寄件地址与sasl登入身份的对应关系,只可以动用本域地址防止选用任何寄件地址!
smtpd_sender_login_maps = mysql:/etc/postfix/mysql_virtual_sender_maps.cf, mysql:/etc/postfix/mysql_virtual_alias_maps.cf

#发件人限制条件
smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch

#
unknown_local_recipient_reject_code = 550

#指向含有“设想外号地址”与“实际收件地方”对应提到的查询表
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

#虚拟网域查询表
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

#虚拟邮箱查询表
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

#用来投递邮件到虚构邮箱地址的暗中同意传输服务(设想mda)
virtual_transport = maildrop:


#指向含有“设想小名地址”与“实际收件地点”对应提到的查询表 
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

 

 

#postfix 的顺序服务器程序目录 
daemon_directory = /usr/libexec/postfix 

data_directory = /var/lib/postfix 

debug_peer_level = 2

content_filter = smtp-amavis:[127.0.0.1]:10024

#完整主机名称(主机名称+网域名称)

#供脚本或指令行用来寄送邮件 
sendmail_path = /usr/sbin/sendmail.postfix

mailq_path = /usr/bin/mailq.postfi

queue_directory = /var/spool/postfix

#启动sasl 验证 
smtpd_sasl_auth_enable = yes

#

sendmail_path = /usr/sbin/sendmail.postfix

#其一参数钦点的系统账户,作为队列文件的具备者以及postfix daemon 进度的运维身份 
mail_owner = postfix

 

newaliases_path = /usr/bin/newaliases.postfix

#列出可由此本邮件系统寄出邮件的网络地址或ip地址 
mynetworks = 127.0.0.1

#发件人限制条件

#用以投递邮件到设想邮箱地址的默许传输服务(设想mda)

#点名密码验证机制(除noanonymous) 全部可用机制 
smtpd_sasl_security_options = noanonymous

#指向含有“虚构小名地址”与“实际收件地方”对应提到的查询表

#

#发件人限制条件 
smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch

sample_directory = /etc/postfix

virtual_transport = maildrop:

#小名数据库(postalias/newaliases 命令生成) 
alias_database = hash:/etc/postfix/aliases

smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch

#postfix 队列的主目录

#当顾客端引发错误时,postfix 的上马等待时间 
smtpd_error_sleep_time = 0s

 

#设定寄件地址与sasl登入身份的附和关系,只好使用本域地址防止接纳其余寄件地址!

#smtp 问候音信 
smtpd_banner = $myhostname ESMTP $mail_name

 

 

#宽容sendmail,用于重新建立别称数据库的newaliases程序路径 
newaliases_path = /usr/bin/newaliases.postfix

#布局内容过滤 amavis

#以此参数钦命的系统账户,作为队列文件的具有者以及postfix daemon 进程的运维地方

#postfix 队列的主目录 
queue_directory = /var/spool/postfix 

readme_directory = /usr/share/doc/postfix-2.6.2-documentation/readme 

receive_override_options = no_address_mappings

#启动sasl 验证

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

#样本配置文件目录 
sample_directory = /etc/postfix

postcat (显示队列文件内容)

#样本配置文件目录

#配置内容过滤 amavis 
content_filter = smtp-amavis:[127.0.0.1]:10024

alias_maps = hash:/etc/postfix/aliases

#外加到只含人名部分的,不完整邮件地址的网域名称

#编造网域查询表 
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

postsuper (管理员保管 postfix 队列)

postqueue (査看postfix 队列)

#叠合到只含人名部分的,不完整邮件地址的网域名称 
myorigin

#postfix配置文书档案目录

data_directory = /var/lib/postfix

#退回的邮件重新投递的最长日子 
bounce_queue_lifetime = 1d

 

postconf (修改 main.cf 配置文书档案 )

#postfix配置文书档案目录 
config_directory = /etc/postfix

data_directory = /var/lib/postfix

postsuper (管理员保管 postfix 队列)

#重新邮件 
enable_original_recipient = no 

html_directory = /usr/share/doc/postfix-2.6.2-documentation/html 

mail_name = Postfix – welcome mail.xmall.com

#设想邮箱查询表

 

#外号表,列出local mda 所运用的别名数据库 
alias_maps = hash:/etc/postfix/aliases

 

smtpd_banner = $myhostname ESMTP $mail_name

#安装”本地网域” 
mydestination = $mynetworks $myhostname

myorigin

 

#邮件系统的网域名称 
mydomain = xmall.com

 

 

#用于投递邮件到设想邮箱地址的默认传输服务(虚构mda) 
virtual_transport = maildrop:

mailbox_size_limit = 150242880

broken_sasl_auth_clients = yes

#设定寄件地址与sasl登陆身份的对应关系,只能接纳本域地址制止选取其他寄件地址! 
smtpd_sender_login_maps = mysql:/etc/postfix/mysql_virtual_sender_maps.cf, mysql:/etc/postfix/mysql_virtual_alias_maps.cf

#退后的邮件重新投递的最长日子

#


show_user_unknown_table_name = no

#样本配置文件目录

smtpd_sasl_security_options = noanonymous

维护 postfix 的命令

newaliases (重新建立小名数据库) 
postalias /etc/postfix/aliases (创建或询问外号数据库) 
postconf (修改 main.cf 配置文书档案 ) 
postqueue (査看postfix队列) 
postsuper (管理员保管 postfix 队列)

 

mailq_path = /usr/bin/mailq.postfi

本文由必威发布于必威-运维,转载请注明出处:列出local mda 所使用的别名数据库,/var/vmail进行了

相关阅读