当前位置:文档之家› 最新版POSTFIX +courier-authlib+cyrus-sasl+Courier-IMAP +maildrop +postfixadmin 安装记录

最新版POSTFIX +courier-authlib+cyrus-sasl+Courier-IMAP +maildrop +postfixadmin 安装记录

最新版POSTFIX +courier-authlib+cyrus-sasl+Courier-IMAP +maildrop +postfixadmin 安装记录
最新版POSTFIX +courier-authlib+cyrus-sasl+Courier-IMAP +maildrop +postfixadmin 安装记录

POSTFIX +courier-authlib+cyrus-sasl+Courier-IMAP

最新版POSTFIX +courier-authlib+cyrus-sasl+Courier-IMAP +maildrop +postfixadmin 安装记录

(2008年Mar月25日更新版)

转载请注明出处:https://www.doczj.com/doc/269304137.html, 作者:Windy.Chan

本文参考文献有:

1,POSTFIX 2.2.10+VDA补丁+courier-authlib 0.58+cyrus-sasl 2.1.22+Courier-IMAP

4.1.1+maildrop 2.0.2+postfixadmin 2.1.0 安装记录_microsea

2,postfix all (https://www.doczj.com/doc/269304137.html,)

友请提醒I:如果你在安装或运行时出现一些错误时,请留意每部分的特别提示或集中阅读本文最后的一部所提及的常见安装/首次使用中的故障解决。

友请提醒II:本文还在反复测试验证中,不足之处,敬请原谅.

友请提醒III:本文仅供参考学习,如您按本文或本文所引用文章操作时,对您系统造成的任何损害或损失,都与本人以及本文所引用文章的作者无关。

===========================================================

系统环境:

slackware12 (6 SMP PREEMPT Tue Jan 23 00:27:40 AKST 2007 i686 unknown unknown

GNU/Linux)

相关软件:

courier-authlib-0.60.2

courier-imap-4.2.1

cyrus-sasl-2.1.22 (slackware 12自带的2.1.21,建议删除)

maildrop-2.0.4

postfix-2.4.6

postfixadmin-2.1.0

Mysql 4.1.22

php-4.4.2/

可选软件:

phpMyAdmin - 2.8.0.3

===========================================================

安装前准备Postfix Mail组件前的准备:

1,邮件投递原理

推荐文章:Mail Server 的相關知識

(https://www.doczj.com/doc/269304137.html,/linux_server/0380sendmail.php#theory)---鳥哥的 Linux 與ADSL 私房菜

2,安装Mysql+Apache+Php+PhpMyadmin

推荐文章: linux下面

apache2.0.52+php5+gd2+mysql(https://www.doczj.com/doc/269304137.html,/u/9951/showart_60559.html) --- 网络神话之服务器管理

首先安装msyql (我的系统中已经配置好了mysql 4.1.22,安装路径为/usr/local/mysql), 因为后面的 courier-authlib安装中需要指定认证方式为mysql,编时需要用户到libmysqlclient.so(注意下面的特别提示)。

Apache的DocumentRoot路径为: /usr/local/apache/htdocs。

1.安装courier-authlib

下载地址:

你可以通过下列地址查码安装代码: https://www.doczj.com/doc/269304137.html,/projects/courier/

安装时最新版本 0.60.2 release.

安装之前添加postfix和maildrop相关的用户&用户组

root@net-server:/# groupadd postfix

root@net-server:/# groupadd postdrop

root@net-server:/# useradd postfix --g postfix -G postdrop

root@net-server:/# groupadd vmail

root@net-server:/# useradd vmail -g vmail -d /home/mail

root@net-server:/# cat /etc/passwd

postfix:x:1009:1000::/home/postfix:

vmail:x:1010:1002::/home/mail:

#### 特别提示 1:这个主要是设定邮件管理帐号/进程启动帐号. 记住postfix和pstdrop组都中包含用户postfix, vmail组中包括vmail用户,你可以通过直接编/etc/group文件,把这些用

使用到).

root@net-server:/# mkdir /home/mail

root@net-server:/# chown vmail:vmail /home/mail

root@net-server:/# chmod -R 775 /home/mail

root@net-server:/# cd /usr/src/

root@net-server:/usr/src/# tar jvxf courier-authlib-0.60.2.tar.bz2

root@net-server:/usr/src/#cd /usr/src/courier-authlib-0.60.2

./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --without-authuserdb --without-authpam --without-authldap --without-authpwd --without-authshadow --without-authvchkpw --without-authpgsql --with-

authdaemonvar=/var/spool/authdaemon --without-authcustom --with-authmysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-

includes=/usr/local/mysql/include/mysql --with-authmysqlrc=/usr/local/courier-authlib/etc/authmysqlrc --with-mailuser=vmail --with-mailgroup=vmail --with-authdaemonrc=/usr/local/courier-authlib/etc/authdaemonrc CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"

(以上是同一条命令)

root@net-server:/usr/src/courier-authlib-0.60.2# make

root@net-server:/usr/src/courier-authlib-0.60.2# make install

#### 特别提示2.如果courier-authlib安装到非标准位置(例如安装到/usr/local下,我的安装路径是/usr/local/authlib),一定记得在./configure时增加--without-stdheaderdir,这样以后在编译Courier-IMAP和maildrop的时候,不用特别指定courier-authlib的库文件位置

#### 特别提示3,检查相关软件或库文件路径,这里可能与你实际情况不同:比如 mysql-include,我的是/usr/local/mysql/include/ ,mysql-libs路径是/usr/local/mysql/lib。

#### 特别提示4,编译出现过程出现如下错误(其实我的mysql 4.1.22之前一直正常使用的):,这是因为在编译指错了--with-mysql-includes的路径。

authmysql.h:8:26: mysql.h: No such file or directory

authmysql.h:9:27: errmsg.h: No such file or directory

make[2]: *** [authmysql.lo] Error 1

make[2]: Leaving directory `/usr/src/courier-authlib-0.60.2'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/usr/src/courier-authlib-0.60.2'

make: *** [all] Error 2

后来用locate mysql.h找到此文件在/usr/local/mysql/include/mysq/中。我也很郁闷,其它软件在编译,像这样的路径完全是可能写成/usr/local/mysql/include.不知道为什么,编译courier-authlib却不行。看来不能偷懒哦,改为--with-mysql-

includes=/usr/local/mysql/include/mysql --with-mysql-

libs=/usr/local/mysql/lib/mysql 就可以了.

root@net-server:/# cd /usr/local/courier-authlib/etc/

root@net-server:/usr/local/courier-authlib/etc# cp authmysqlrc.dist authmysqlrc root@net-server:/usr/local/courier-authlib/etc# cp authdaemonrc.dist authdaemonrc

root@net-server:/usr/local/courier-authlib/etc# vi authdaemonrc

authmodulelist="authmysql" 使用Mysql用户认证

authmodulelistorig="authmysql" 使用Mysql用户认证

daemons=5 已经存在, 没有就增加

authdaemonvar=/var/spool/authdaemon 会自己设定好此路径。非标准安装路径应为

### /var/安装目录名/spool/authdaemon

DEBUG_LOGIN=0 已经存在, 没有就增加, 2 为详细Debug模式,可以看更详细的日志。DEFAULTOPTIONS="" 已经存在, 没有就增加

LOGGEROPTS="" 已经存在, 没有就增加

root@net-server:/usr/local/courier-authlib/etc# vi authmysqlrc

MYSQL_SERVER 192.168.1.89 服务器名或IP地址

MYSQL_USERNAME mysql 用户名

MYSQL_PASSWORD pwd06a 用户名密码

MYSQL_SOCKET /tmp/mysql.sock1 请根据你的实情而定

MYSQL_PORT 3306 端口号,请根据你的实情而定

MYSQL_OPT 0

MYSQL_DATABASE postfix

MYSQL_USER_TABLE mailbox

MYSQL_CRYPT_PWFIELD password

##MYSQL_CLEAR_PWFIELD clear_password 没有此字段,取消

MYSQL_UID_FIELD 1010 表中, 管理authlib用户的UID.前面我们就用的vmail

MYSQL_GID_FIELD 1002 表中, 管理authlib用户的GID.前面我们就用的vmail

### vmail---->UID:1010, GID:1002

MYSQL_LOGIN_FIELD username

MYSQL_HOME_FIELD concat('/home/mail/',maildir)

MYSQL_NAME_FIELD name

MYSQL_MAILDIR_FIELD concat('/home/mail/',maildir)

MYSQL_QUOTA_FIELD quota

MYSQL_WHERE_CLAUSE active='1'

启动courier-authlib

root@net-server:/# cp /usr/src/courier-authlib-0.60.2/courier-authlib.sysvinit

/etc/rc.d/courier-authlib.sysvinit

root@net-server:/# /etc/rc.d/courier-authlib.sysvinit start

2.安装 cyrus-sasl-2.1.22:

[其实,在安装slackware12后,已经自动安装了,cyrus-sasl-2.1.21,强烈建议参考下文重新进行编译安装,我用的是2.1.22源包安装)

官文网址https://www.doczj.com/doc/269304137.html,/sasl/

参考下载地址:ftp://https://www.doczj.com/doc/269304137.html,/pub/cyrus-mail/cyrus-sasl-2.1.22.tar.gz

删除以前的rpm包以及相关目录(我以前是安装Slackware时安装的2.1.21,只是没有按需要编译,所以我没有删除,只是手动删除了一些相关文件)

rpm -e --nodeps cyrus-sasl-2.1.15 cyrus-sasl-plain-2.1.15 cyrus-sasl-md5-2.1.15 cyrus-sasl-devel-2.1.15

rm -rf /usr/lib/sasl

rm -rf /usr/lib/sasl2

root@net-server:/# cd /usr/src/

root@net-server:/usr/src# tar xvzf cyrus-sasl-2.1.22.tar.gz

root@net-server:/usr/src# cd cyrus-sasl-2.1.22

root@net-server:/usr/src/cyrus-sasl-2.1.22#

root@net-server:/usr/src/cyrus-sasl-2.1.22# ./configure --prefix=/usr/local/cyrus-sasl --with-mysql=/usr/local/mysql --disable-sample --disable-saslauthd --disable-pwcheck --disable-cram --disable-digest --disable-krb4 --disable-gssapi --disable-anon --enable-plain --enable-login --enable-sql --disable-ntlm --disable-otp --disable-srp --disable-srp-setpass --with-authdaemond=/var/spool/authdaemon/socket --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-

libs=/usr/local/mysql/lib/mysql

(以上是同一条命令)

root@net-server:/usr/src/cyrus-sasl-2.1.22# make

root@net-server:/usr/src/cyrus-sasl-2.1.22# make install

root@net-server:/usr/src/cyrus-sasl-2.1.22# ln -s /usr/local/cyrus-sasl/lib/sasl2 /usr/lib/sasl2

添加以下两行到"/etc/ld.so.conf",并执行ldconfig命令.

/usr/local/cyrus-sasl/lib/sasl2

/usr/local/cyrus-sasl/lib

关闭或删除下列文件,也避免与新版2.1.22中的文件混淆。

root@net-server:/# mv /usr/lib/libsasl2.a /usr/lib/libsasl2.a.OFF

root@net-server:/# mv /usr/lib/https://www.doczj.com/doc/269304137.html, /usr/lib/https://www.doczj.com/doc/269304137.html,.OFF

root@net-server:/# mv /usr/lib/libsasl2.so.2.0.19 /usr/lib/libsasl2.so.2.0.19.OFF root@net-server:/# mv /usr/lib/sasl2 /usr/lib/sasl2.OFF

root@net-server:/# rm /usr/lib/libsasl2.so

root@net-server:/# rm /usr/lib/libsasl2.so.2

root@net-server:/# ln -sv /usr/local/cyrus-sasl/lib/* /usr/lib

postfix 2.3以后的版本(本文是安装postfix-2.4.6)会分别在/usr/local/lib和

/usr/local/include中搜索sasl库文件及头文件,故还须将其链接至此目录中:

# ln -sv /usr/local/cyrus-sasl/lib/* /usr/local/lib

创建运行时需要的目录并调试启动

# mkdir -pv /var/state/saslauthd

# /usr/local/cyrus-sasl/sbin/saslauthd -a shadow pam -d

启动并测试

# /usr/local/cyrus-sasl/sbin/saslauthd -a shadow pam

# /usr/local/cyrus-sasl/sbin/testsaslauthd -u root -p root用户密码

设置开机自动启动

# echo "/usr/local/cyrus-sasl/sbin/saslauthd -a shadow pam" >>/etc/rc.d/rc.local

vi /usr/local/cyrus-sasl/lib/sasl2/smtpd.conf 我的系统中没有此文件,locate与找不出来,我是自己建立该文件。

pwcheck_method: saslauthd

log_level: 3

mech_list: PLAIN LOGIN

authdaemond_path:/var/spool/authdaemon/socket

注意,这个文件的编辑不要多写一个空格,否则会出现smtp验证不过的问题

3.安装postfix (我是用postfix-2.

4.6)

下载地址:

https://www.doczj.com/doc/269304137.html,

root@net-server:/usr/src# tar xvzf postfix-2.4.6.tar.gz

root@net-server:/usr/src# cd postfix-2.4.6

root@net-server:/usr/src/postfix-2.4.6# make makefiles 'CCARGS=-DHAS_MYSQL -

I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -

I/usr/local/cyrus-sasl/include/sasl/' 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/local/cyrus-sasl/lib/sasl2 -lsasl2'

(以上是同一条命令)

root@net-server:/usr/src/postfix-2.4.6# make

root@net-server:/usr/src/postfix-2.4.6# make install

按照以下的提示输入相关的路径([]号中的是缺省值,”]”后的是输入值) install_root: [/] /

tempdir: [/usr/local/src/ postfix-2.4.5] /tmp

config_directory: [/etc/postfix] /etc/postfix

daemon_directory: [/usr/libexec/postfix] /usr/local/postfix/libexec

command_directory: [/usr/sbin] /usr/local/postfix/sbin

queue_directory: [/var/spool/postfix]

newaliases_path: [/usr/bin/newaliases]

mailq_path: [/usr/bin/mailq]

mail_owner: [postfix]

setgid_group: [postdrop]

html_directory: [no] /var/www/postfix_html

manpages: [/usr/local/man] /usr/local/postfix/man

readme_directory: [no]

生成别名二进制文件,这个步骤如果忽略,会造成postfix效率极低:

root@net-server:/# ln -s /etc/postfix/aliases /etc/aliases

root@net-server:/# newaliases

设定postfix, main.cf是主配置文档

root@net-server:/# vi /etc/postfix/main.cf

myhostname = https://www.doczj.com/doc/269304137.html, 服务器主机名

mydomain = https://www.doczj.com/doc/269304137.html, 域名

myorigin = $mydomain 我的域名

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # mydestination 参数指定这个机器考虑本身最终目的Domain的列表。

# These domains are routed to the delivery agent specified with the local_transport parameter setting. By default, that is the UNIX compatible delivery agent that lookups all recipients in /etc/passwd and /etc/aliases or their equivalent.

# local_transport 参量设置这些Doamin被路由到交付代理(DA )。默认情况, UNIX 兼容交付代理(DA )在/etc/passwd 和/etc/aliases 或他们的等值中查寻所有收件人。

alias_maps = hash:/etc/aliases

home_mailbox = Maildir/

mynetworks = 192.168.148.0/24, 127.0.0.0/8 我的网络

启动postfix

root@net-server:/# /usr/local/postfix/sbin/postfix start

可看到下列进程已经启动

root 8240 0.2 0.2 3476 1164 ? Ss 16:08 0:00 /usr/local/postfix/libexec/master postfix 8241 0.1 0.2 3556 1148 ? S 16:08 0:00 qmgr -l -t fifo -u

postfix 8242 0.0 0.2 3516 1112 ? S 16:08 0:00 pickup -l -t fifo -u

设置开机自动启动

root@net-server:/# echo "/usr/local/postfix/sbin/postfix

start " >>/etc/rc.d/rc.local

日志文件: /var/log/maillog

通常可以通过检查日志文件来解决许多问题哦.

####

4、为postfix开启基于cyrus-sasl的认证功能

使用以下命令验正postfix是否支持cyrus风格的sasl认证,如果您的输出为以下结果,则是支持的:

cyrus

dovecot

root@net-server:/# /etc/postfix/main.cf

添加以下内容:

############################CYRUS-SASL I ############################

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_inv alid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn _sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pip elining,reject_unauth_destination

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = $myhostname

smtpd_sasl_security_options = noanonymous

smtpd_sasl_application_name = smtpd

smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available! ############################END CYRUS-SASL I ############################

特别提示

#########vi /usr/lib/sasl2/smtpd.conf ---注意检查此文件的真实路径,我这样输入,是因为我在

###前面用过 ln -sv /usr/local/cyrus-sasl/lib/* /usr/lib

添加如下两行(如已经存在,就请忽略):

pwcheck_method: saslauthd

mech_list: PLAIN LOGIN

让postfix重新加载配置文件

root@net-server:/#/usr/local/postfix/sbin/postfix reload

配置Mysql项,在main.cf 中添加以下内容:

root@net-server:/# vi /etc/postfix/main.cf

#####=======MySQL===============####

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

virtual_mailbox_base = /home/mail

virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

virtual_mailbox_limit = 102400000

virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

virtual_minimum_uid = 1010 请注意实际情况

virtual_uid_maps = static:1010 请注意实际情况

virtual_gid_maps = static:1002 请注意实际情况

virtual_transport = virtual

"virtual_minimum_uid"应当###"virtual_uid_maps",

##"virtual_mailbox_limit"是每个邮箱的大小.

#####=======End MySQL===============####

######===============Quota================#######

virtual_create_maildirsize = yes

virtual_mailbox_extended = yes

virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_limit_maps.cf virtual_mailbox_limit_override = yes

virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.

virtual_overquota_bounce = yes

#virtual_trash_count=yes

#virtual_trash_name=.Trash

######===============End Quota================#######

编辑cf配置文件

root@net-server:/# vi /etc/postfix/mysql_virtual_alias_maps.cf

--->注意下面的一些设定应该与 vi /usr/local/courier-authlib/etc/authmysqlrc一致user = mysql

password = pwd06a

hosts = 192.168.148.93

dbname = postfix

table = alias

select_field = goto

where_field = address

additional_conditions = AND active = '1'

##SQL_SERVER 192.168.148.93 相关authmysqlrc 中的设定

##MYSQL_USERNAME mysql 相关authmysqlrc 中的设定

##MYSQL_PASSWORD pwd06a 相关authmysqlrc 中的设定

##MYSQL_DATABASE postfix authmysqlrc 中的设定

######===============End============#######

root@net-server:/# vi /etc/postfix/mysql_virtual_domains_maps.cf

user = mysql

password = pwd06a

hosts = 192.168.148.93

dbname = postfix

table = domain

select_field = description

where_field = domain

######===============End============#######

=================================

root@net-server:/# vi /etc/postfix/mysql_virtual_mailbox_maps.cf

user = mysql

password = pwd06a

hosts = 192.168.148.93

dbname = postfix

table = mailbox

select_field = maildir

where_field = username

additional_conditions = AND active = '1'

######===============End============#######

root@net-server:/# vi /etc/postfix/mysql_virtual_limit_maps.cf

user = mysql

password = pwd06a

hosts = 192.168.148.93

dbname = postfix

table = mailbox

select_field = quota

where_field = username

additional_conditions = AND active = '1'

######===============End============#######

启动和停止postfix服务:

root@net-server:/# /usr/local/postfix/sbin/postfix stop

root@net-server:/# /usr/local/postfix/sbin/postfix start

重启动courier-authlib 伤务:

root@net-server:/# cp /usr/src/courier-authlib-0.60.2/courier-authlib.sysvinit /etc/rc.d/courier-authlib.sysvinit ###前面已经运行执过,请跳过

root@net-server:/# /etc/rc.d/courier-authlib.sysvinit restart

特别提示:在发信过程可能会出现:

May 18 16:19:51 bb06 postfix/cleanup[5371]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket

'/var/lib/mysql/mysql.sock' (2)

处理方法:

root@net-server:/usr/local/courier-authlib/etc# vi authmysqlrc

MYSQL_SOCKET /tmp/mysql.sock1 mysql SOCKET的真实路径,可以通过检查https://www.doczj.com/doc/269304137.html,f得到确认。

5.编译安装安装Courier-IMAP

我选择的是courier-imap-4.2.1#

你可以通过下列地址查码安装代码: https://www.doczj.com/doc/269304137.html,/projects/courier/

root@net-server:/# cd /usr/src/

root@net-server:/usr/src# tar xvzf courier-imap-4.2.1.tar.gz

root@net-server:/usr/src# cd courier-imap-4.2.1

root@net-server:/usr/src/courier-imap-4.2.1# ./configure --

prefix=/usr/local/courier-imap --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS='-I/usr/local/courier-authlib/include' COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'

###注意,以上configure为是一条命令

特别提示:

CPPFLAGS='-I/usr/local/courier-authlib/include' 如果编译courier-authlib没有安装在默认路径,必须指定这个,如果之前编译courier-authlib加了--without-stdheaderdir,就不需要指定了.

没有加COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'会出现下列:

checking for courierauthconfig... no

configure: WARNING: === Courier authentication library not found.

configure: WARNING: === You need to download and install

configure: WARNING: === https://www.doczj.com/doc/269304137.html,/download.php#authlib first. configure: WARNING: === If courier-authlib is installed in a non-default configure: WARNING: === directory, set the COURIERAUTHCONFIG environment configure: WARNING: === variable to the full path to the courierauthconfig configure: WARNING: === binary and rerun this configure script.

configure: WARNING:

configure: error: courierauthconfig not found

export COURIERAUTHCONFIG=/usr/local/courier-authlib/bin/courierauthconfig

再执行configure.

root@net-server:/usr/src/courier-imap-4.2.1#make

root@net-server:/usr/src/courier-imap-4.2.1#make install

root@net-server:/#cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-imap/etc/imapd

root@net-server:/#cp /usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl

root@net-server:/#cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d

root@net-server:/#cp /usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl

配置Courier-IMAP,为用户提供pop3服务:

root@net-server:/#vi /usr/local/courier-imap/etc/pop3d

POP3DSTART=yes

root@net-server:/#vi /usr/local/courier-imap/etc/imapd

从源文目录中/usr/src/courier-imap-4.2.1/courier-imap.sysvinit文件复制到启动目录(/etc/rc.d/)中,生成启动文件。

root@net-server:/# cp /usr/src/courier-imap-4.2.1/courier-imap.sysvinit

/etc/rc.d/rc.courier-imapd

root@net-server:/# chmod 755 /etc/rc.d/rc.courier-imapd

root@net-server:/# echo "/etc/rc.d/rc.courier-imapd start" >> /etc/rc.d/rc.local

接下来重新配置SMTP 认证,编辑 /usr/local/cyrus-sasl/lib/sasl2#/smtpd.conf ,确保其为以下内容:

pwcheck_method: saslauthd

log_level: 3

mech_listLAIN LOGIN

authdaemond_path:/usr/var/spool/authdaemon/socket 注意你的实际情况

现在创建邮箱(手动)。

root@net-server:/#mkdir -p /home/mail ###若前面已经建立,请跳过

root@net-server:/#chown vmail.vmail /home/mail ###若前面已经建立,请跳过

root@net-server:/#su - vmail ###切换到vmail用户 (当然,也可能直接用root用户完成下面

###,完成之后,再用chown等命令修改其所有者就可行了).

vmail@net-server:~$ cd /home/mail

vmail@net-server:~$ mkdir https://www.doczj.com/doc/269304137.html,

vmail@net-server:~$ mkdir https://www.doczj.com/doc/269304137.html,/Maildir

root@net-server:/# cd /home/mail/https://www.doczj.com/doc/269304137.html,

root@net-server:/home/mail/https://www.doczj.com/doc/269304137.html,# /usr/local/courier-imap/bin/maildirmake jackwang

# chown -R vmail.vamil /home/https://www.doczj.com/doc/269304137.html,/jackwang

# chmod -R g=s /home/https://www.doczj.com/doc/269304137.html,/jackwang

6.安装maildrop

maildrop-2.0.4.tar.bz2

你可以通过下列地址查码安装代码: https://www.doczj.com/doc/269304137.html,/projects/courier/

目前最新版本:2.0.4

root@net-server:/usr/src# tar xvjf maildrop-2.0.4.tar.tar

root@net-server:/usr/src#ln -s /usr/local/courier-authlib/bin/courierauthconfig

/usr/bin/courierauthconfig

root@net-server:/usr/src#cd maildrop-2.0.4

root@net-server:/usr/src/maildrop-2.0.4#./configure --enable-

sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 --enable-maildirquota --enable-maildrop-gid=1010 --enable-maildrop-uid=1002 --with-

root@net-server:/usr/src/maildrop-2.0.4# make

root@net-server:/usr/src/maildrop-2.0.4# make install

特别提示1,确认vmail用户的gid和uid, --enable-maildrop-gid=1001 --enable-maildrop-uid=1001就引用到.我这里为vmail:x:1010:1002::/home/mailgid=1002,uid=1010)

特别提示2,由于我们在执行configura时没有用--prefix=path,所以相关的安装文件/库文件

都在

`/usr/local/bin' 和 `/usr/local/lib' 等目录. maildrop建议不要自定义目录安装,可以

减少不必要的麻烦,删除很方便:直接在已经编译的源代码目录 make uninstall 就行

特别提示3,源码安装的,将courierauthconfig 命令链接到/usr/bin里,假设装在:

/usr/local/courier-authlib/bin/courierauthconfig,则:

ln -s /usr/local/courier-authlib/bin/courierauthconfig /usr/bin/courierauthconfig 这样编译出来的maildrop才会ourier Authentication Library extension enabled.

否则会出错,大概提示如下

May 19 09:19:14 bb06 postfix/pipe[8746]: 3707B298212: to=, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid user specified. )

May 19 09:19:14 bb06 postfix/qmgr[6106]: 3707B298212: removed

说明maildrop没有编译支持ourier Authentication Library extension enabled.

检验安装版本

root@net-server:/usr/src/maildrop-2.0.4# /usr/local/bin/maildrop -v

maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.

GDBM extensions enabled.

Courier Authentication Library extension enabled.

Maildir quota extension enabled.

This program is distributed under the terms of the GNU General Public

License. See COPYING for additional information.

配置main.cf和master.cf使postfix调用maildrop

========================

vi /etc/postfix/main.cf

virtual_transport = maildrop 注意检查不要重复设定virtual_transport

maildrop_destination_recipient_limit = 1

========================

vi /etc/postfix/master.cf 原来已经有,只要取消其注释符#就行

maildrop unix - n n - - pipe

flags=DRhu user=vmail argv=/usr/local/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension}${nexthop}

58 maildrop unix - n n - - pipe

${recipient} ${user} ${extension}${nexthop}

调试maildrop是否正常工作

从其他邮箱发一份邮件到你新建立的email地址,看到类似log记录

May 10 07:21:05 mail postfix/pipe[13994]: 78DCC156AE7: to=, relay=maildrop, delay=0, status=sent

(https://www.doczj.com/doc/269304137.html,)

看到relay=maildrop 并且log没有报错,则说明maildrop已经正常工作

特别提示:

1. 编译安装的时候出现以下报错configure: error: pcre.h not found - install PCRE

from https://www.doczj.com/doc/269304137.html,

请安装pcre-devel包

2,安装maildrop并配置后,postfix不能启动了,检查日志 /var/log/mail,出如下提示.

Nov 2 10:58:57 net-server postfix/postfix-script[10904]: starting the Postfix mail system

Nov 2 10:58:57 net-server postfix/master[10905]: fatal: /etc/postfix/master.cf:

line 100: bad transport type: user=vmail

再检查/etc/postfix/ master.cf的100行,没有错了,再回到原来设定"flags=DRhu

user=vmail argv=/usr/local/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension}${nexthop}"出没发现错识,后来查询一些资料后,才知道定义transport

的时候,即如上两行中的第二行,其参数行必须以空格开头,否则会出错。

3,安装客户端无法登录(outlook)

Nov 2 16:35:41 net-server pop3d: Connection, ip=[192.168.151.193]

Nov 2 16:35:42 net-server pop3d: LOGIN FAILED, user=jack, ip=[192.168.151.193]

7.编译安装postfixadmin

下载地址ownload postfixadmin-2.1.0.tgz

https://www.doczj.com/doc/269304137.html,/projects/postfixadmin/

目前最新版本是2.1.0

root@net-server:/usr/src# tar xvzf postfixadmin-2.1.0.tgz

root@net-server:/usr/src# mv postfixadmin-2.1.0

/usr/local/apache/htdocs/postfixadmin

root@net-server:/usr/src# cd /usr/local/apache/htdocs/postfixadmin/

root@net-server:/usr/local/apache/htdocs/postfixadmin#

INSTALL.TXT文件建议改文件属性: 请注意这些文件经过移动文件夹后的实际路径.

### 我这里为/usr/local/apache/htdocs/postfixadmin#

$ cd /usr/local/www/postfixadmin

$ chmod 640 *.php *.css

$ chmod 640 *.php .ht*

$ cd /usr/local/www/postfixadmin/images/

$ chmod 640 *.gif *.png

$ cd /usr/local/www/postfixadmin/languages/

$ chmod 640 *.lang

$ cd /usr/local/www/postfixadmin/templates/

$ chmod 640 *.tpl

$ cd /usr/local/www/postfixadmin/users/

$ chmod 640 *.php

设置完后无法打开网页,我再加上了read属性

root@net-server:/usr/local/apache/htdocs# chmod +r postfixadmin/ -R

导入数据库

mysql -uroot -p

设置PostfixAdmin的数据库连接

root@net-server:/usr/local/apache/htdocs/postfixadmin# cp config.inc.php.sample config.inc.php

root@net-server:/usr/local/apache/htdocs/postfixadmin# vi config.inc.php

$CONF['database_type'] = 'mysql';

$CONF['database_host'] = 'https://www.doczj.com/doc/269304137.html,';

$CONF['database_user'] = 'postfixadmin';

$CONF['database_password'] = 'postfixadmin';

访问:

http://域名/postfixadmin/

特别提示:

注:第一次访问时,要做相关的设定(如mail domain, domain admin等),一定要设备domain admin,这样以后才能管理。完成后,请将/usr/local/apache/htdocs/postfixadmin/中的setup.php更名,这样以后就直接进入管理界面了。

################################################################################### ################################################################################### ######

常见安装/首次使用中的故障解决。

###特别提示1.

Nov 2 13:22:38 net-server postfix/master[21285]: warning: process

/usr/local/postfix/libexec/smtpd pid 12486 exit status 1

Nov 2 13:22:38 net-server postfix/master[21285]: warning:

/usr/local/postfix/libexec/smtpd: bad command startup -- throttling

处理方法:修改mail.cf中virtual_transport = virtual 为virtual_transport = maildrop

###特别提示2.

postfix/trivial-rewrite[2619]: warning: do not list domain https://www.doczj.com/doc/269304137.html, in BOTH mydestination and virtual_mailbox_domains

方法1 ,mydestination会自动根据机器名生成,因此如果不希望使用它的话,应将其设为空:postconf -e mydestination=

#### 特别提示3.投递过程出现如下错误:----日志显示(cat /var/log/maillog)

Nov 2 14:59:30 net-server postfix/qmgr[3434]: C33521CD7F3: from=, size=20355, nrcpt=1 (queue active)

Nov 2 14:59:30 net-server maildrop[3546]: Temporary authentication failure.

Nov 2 14:59:30 net-server postfix/pipe[3543]: C33521CD7F3: to=, relay=maildrop, delay=0.35, delays=0.33/0/0/0.02, dsn=4.3.0, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Temporary authentication failure. )

状况: main.cf中#virtual_transport = virtual就没问题.

https://www.doczj.com/doc/269304137.html,/forum/archiver/tid-3491.html

解决办法1:说明编译authlib时没有指定maildrop的用户和组,加上--with-mailuser和--with-mailgroup 指定用户和组后重编译安装(vmail.vmail).

解决办法2,增加"/usr/local/courier-authlib/lib/courier-authlib"到

"/etc/ld.so.conf",并执行ldconfig命令。

root@net-server:/#cd /usr/local/courier-authlib/etc/

root@net-server:/usr/local/courier-authlib/etc/# cp

authdaemonrc.dist ./authdaemonrc

root@net-server:/usr/local/courier-authlib/etc/# vi /usr/local/courier-

authlib/etc/authdaemonrc

(如果非courier-authlib安装目录时,authdaemonrc.dist 目录路径应为: /usr/local/安装目录名/etc/authlib)

解决办法3:重新确认/usr/local/courier-authlib/etc/a uthmysqlrc中关于数据库的设定. (比如MYSQL_CLEAR_PWFIELD clear_password ,在无此字段,应该取消)

解决办法4,修改 /usr/local/courier-authlib/etc/authdaemonrc,打开更加详细log信息, DEBUG_LOGIN=2

然后再根据实际情况处理.

构建postfix邮件服务器(五)extmail和extman的安装,实现web使用和管理邮件系统

构建postfix邮件服务器(五)extmail和extman的安装,实现web使用和管理邮件系统2010年3月17日稀饭发表评论阅读评论 一、准备 1.在https://www.doczj.com/doc/269304137.html, 中下载extmail-1. 2.tar.gz 和extman1.1 Extmail 用于从浏览器中登入、使用邮件系统 Extman 用于从浏览器中管邮件系统 2.由于安装extmail要用到以下三个包(到https://www.doczj.com/doc/269304137.html, 中搜索) 1)Unix-Syslog https://www.doczj.com/doc/269304137.html,/~mharnisch/Unix-Syslog-1.1/Syslog.pm 2)DBI https://www.doczj.com/doc/269304137.html,/~timb/DBI-1.609/ 3)DBD-mysql https://www.doczj.com/doc/269304137.html,/~capttofu/DBD-mysql-4.013/lib/DBD/mysql.pm 3.安装Extman web管理要用到以下四个软件包 1)GD https://www.doczj.com/doc/269304137.html,/~lds/GD-2.44/ 解决验证码 2)File-Tail https://www.doczj.com/doc/269304137.html,/~mgrabnar/File-Tail-0.99.3/ 支持图形日志 3)rrdtool-1.2.23-3..el5.i386.rpm 支持图形日志 4)rrdtool-perl-1.2.23-3.el5.i386.rpm 支持图形日志 二、按先后顺序安装以下软件 1.安装Unix-Syslog 1)解压tar zxvf Unix-Syslog-1.1.tar.gz 2)进入目录cd Unix-syslog-1.1 3)预配置perl Makefile.PL 4)编译,安装make ; make install

51CTO下载-RHEL+5[1].0+postfix+dovecot+openwebmail+邮件服务器

RHEL 5.0 postfix dovecot openwebmail 邮件服务器 一、先卸载sendmain [root@ser ~]# yum remove sendmail 二、安装postfix ,dovecot,cyrus-sasl [root@ser ~]# yum -y install postfix [root@ser ~]# yum -y install dovecot [root@ser ~]# yum -y install cyrus-sasl 四、修改postfix的配置文件 [root@ser ~]# vim /etc/postfix/main.cf myhostname = https://www.doczj.com/doc/269304137.html, mydomain = https://www.doczj.com/doc/269304137.html, myorigin = https://www.doczj.com/doc/269304137.html, inet_interfaces =all mynetworks = 192.168.1.0/24 relay_domains = https://www.doczj.com/doc/269304137.html,, $mydomain mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, www.$mydomain , ftp.$mydomain 重启postfix 服务 [root@ser ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@ser ~]# chkconfig postfix on [root@ser ~]# chkconfig dovecot on 修改dovecot的配置文件 vim /etc/dovecot.conf protocols = imap imaps pop3 pop3s listen = * 在iptables 里开放25,110,143端口 [root@ser ~]# vim /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT 重启iptables [root@ser ~]# service iptables restart Flushing firewall rules: [ OK ]

linux平台下使用postfix构建企业内部完全邮件服务系统.

构建postfix全功能完整 --------邮件服务系统(全源码包) 目录 目录 (1) 前言 (1) 概述 (1) 适用版本 (1) 适用人员 (2) 部署前准备 (2) 部署流程设计 (3) 安装、配置与部署 (3) 第1部分搭建基本的postfix运行环境 (3) 第2部分开始部署postfix邮件服务系统 (8) 第3部分部署Extmail邮件使用平台 (18) 第4部分部署extman web管理平台 (21) 日期作者版本更改参考 2010年8月26日魏震 5.0 前言 概述 描述postfix软件的应用技术架构,基本部署模型以及不同网络环境下的软件及参数设置与配置等。 适用版本 linux系统Red hat (红帽子系列)

适用人员 网络管理人员、服务器系统维护和技术支持人员等 部署前准备 第1部分所需源码包 httpd-2.2.15.tar.gz mysql-5.0.56.tar.gz 第2部分所需源码包 postfix-2.4.6.tar.gz/postfix-2.4.6-vda-ng.patch.gz dovecot-1.1.4.tar.gz squirrelmail-1.4.13.tar.bz2 zh_CN-1.4.13-20071220.tar.bz2 courier-authlib-0.60.2.tar.bz2 第3部分所需源码包 DBI-1.607.tar.gz DBD-mysql-4.011.tar.gz Unix-Syslog-1.1.tar.gz extmail-1.0.5.tar.gz 第4部分所需源码包 GD-2.41.tar.gz File-Tail-0.99.3.tar.gz rrdtool-1.2.23-3.el5.i386.rpm rrdtool-perl-1.2.23-3.el5.i386.rpm rrdtool-perl-1.2.23-3.el5.i386.rpm extman-0.2.5.tar.gz 第5部分所需源码包 MailScanner-4.75.11-1.rpm.tar.gz spamassassin-3.1.7-4.el5.i386.rpm

LAMP+postfix+dovecot+mailman搭建邮件服务器及邮件列表

LAMP+postfix+dovecot+mailman搭建邮件服务器及邮件列表 声明:鉴于此前有其他用户未经本同意上传本人原创作品的情况,特在此声明,此文由libidli (百度ID)编写,任何人本人未经同意不得转载或上传 email:libidli@https://www.doczj.com/doc/269304137.html,

目录 一、邮件列表所需要的安装包 (3) 二、安装Apache (3) 三、安装MySQL (3) 四、安装PHP (4) 五、安装并配置postfix (5) 六、安装并配置Dovecot (7) 七、支持虚拟用户 (8) 八、安装extmail及extman (10) 九、病毒及垃圾邮件过滤 (13) 十、安装配置mailman (14) 十一、总结 (17) 十二、【参考文档】 (17) 十三、【附录一】cyrus-sasl2的安装 (17) 十四、【附录二】搭建所遇问题及解决方案 (18)

本文系统环境是rhel-server-5.5 一、邮件列表所需要的安装包 简单地说,搭邮件列表的前提是搭一个邮件服务器,能收发邮件才能实现一个邮件列表的功能;收信主要通过IMAP或POP3服务完成;发信主要通过SMTP服务完成;为了更好的实现操作及管理,所以还需要提供web邮件及管理服务;另外为了保证邮件的安全可靠,还需要提供一些发信认证、垃圾邮件扫描、病毒扫描的服务;以上这些服务 安装基础设施LAMP 二、安装Apache #tar –zxf httpd-2.2.21.tar.gz #cd /usr/local/src/httpd-2.2.21 #./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite #make #make install 三、安装MySQL #useradd –M –s /sbin/nologin mysql mysql需要一个独立的账户执行系统有可能自带mysql,建立先将其卸载掉 #tar zxf mysql-5.5.17.tar.gz #cd /usr/local/src/ mysql-5.5.17 #./configure --prefix=/usr/local/mysql #make #make install 以上完成后,配置MySQL #cd mysql-5.5.17 #cp support-files/https://www.doczj.com/doc/269304137.html,f /etc/https://www.doczj.com/doc/269304137.html,f 复制主配置文件

安装及配置Postfix邮件服务器

安装、配置Postfix邮件服务器 一、编译、安装 注:只要按照此安装及配置步骤进行,均可成功实现安装、配置postfix。文中“』”表示空格 1、关闭sendmail service』sendmail』stop 2、添加用户组和用户 groupadd』–g』1200』postdrop groupadd』–g』1000』postfix useradd』–M』–u』1000』–g』postfix』–G』postdrop –s/sbin/nologin』postfix 3、编译安装 1)进入源码包所在目录 如:cd』/home/hello/ 2)列补丁(可省略) l(小写的“L”) 3)解压补丁包(可省略) gunzip』postfix----vda-ng.patch.gz 4)解压源码包 tar』zxvf』postfix-2.6.2.tar.gz』–C』/usr/src/ cd』/usr/src/』postfix-2.6.2 注:–C』/usr/src/ 是指把解压后当然源码包存放在/usr/src/目录下; cd』/usr/src/』postfix-2.6.2 是指进入源码包目录。 5)打补丁(可省略) Patch』–p1』<』/home/hello/----补丁存放当然位置 6)编译 make 如果此时出現缺少db*-devel错误: install the appropriate db*-devel package first make: ***[makefiles] error 解决办法:

到光盘下去把db*-devel文件查找出来或把整个linux包,拷贝到相应位置,然后用如下命令进行安装 rpm』–ivh』-force-debian』–nodeps』/home/hello/db*-devel.rpm 7)安装 make』install 到此postfix安装完成,postfix在/usr/src/postfix-2.6.2中 二、配置postfix 1、postfix必须有DNS支撑 启动dns service named restart 测试DNS是否正确 nslook 退出用exit 2、进入postfix工作目录 cd』/etc/postfix/ 3、得到有效的配置项 postconf』–n >』main.cf- 把主配置文件改名 mv』main.cf』main.cf.bak 为得到的配置文件改名 mv』main.cf-』main.cf 查看一下 vi main.cf 4、添加如下行: Inet_interfaces=127.0.0.1,192.168.1.1 myhostname=https://www.doczj.com/doc/269304137.html, mydomain=https://www.doczj.com/doc/269304137.html, myorigin=$mydomain mydestination=$mydomain,$myhostnam home_mailbox=Maildir/ //邮件存放位置 5、启动服务 postfix start 查看是否服务启动

linux环境下postfix+dovecot+webmail安装配置详解

构建postfix邮件服务器(一) 1、编译安装Postfix [root@mail ~]# groupadd -g 1200 postdrop [root@mail ~]# groupadd -g 1000 postfix [root@mail ~]# useradd -M -s /sbin/nologin -u 1000 -g postfix -G postdrop postfix [root@mail ~]# tar zxf postfix-2.4.6.tar.gz [root@mail ~]# gunzip postfix-2.4.6-vda-ng.patch.gz [root@mail ~]# cd postfix-2.4.6 [root@mail postfix-2.4.6]# patch -p1 < ../postfix-2.4.6-vda-ng.patch patching file README_FILES/VDA_README patching file src/global/mail_params.h patching file src/util/file_limit.c patching file src/virtual/mailbox.c patching file src/virtual/maildir.c patching file src/virtual/virtual.c patching file src/virtual/virtual.h [root@mail postfix-2.4.6]# 预配置编译参数 [root@mail postfix-2.4.6]# make makefiles \ 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \ -DUSE_SASL_AUTH \ -DUSE_CYRUS_SASL -I/usr/include/sasl' \ 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \ -L/usr/lib/sasl2 -lsasl2 ' && make && make install //编译并进行安装 Postfix的配置文件 (Postfix系统最主要的配置文件包括:/etc/postfix/main.cf 和/etc/postfix/master.cf.前者是postfix服务的配置文件,后者是master程序的配置文件) [root@mail postfix-2.4.6]# postconf –n //-n 将只列出不同于默认值的配置参数command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 2 html_directory = no mail_owner = postfix mailq_path = /usr/bin/mailq manpage_directory = /usr/local/man newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = no sample_directory = /etc/postfix sendmail_path = /usr/sbin/sendmail

linux Postfix邮件服务器安装配置

:Postfix邮件服务器的安装与配置 一、先安装配置Apache、DNS 1.挂载光盘镜像; Mount /dev/cdrom /mnt Cd /mnt/Server 2.安装Apache rpm -ivh httpd-2.2.3-43.el5.i386.rpm apr-1.2.7-11.el5_3.1.i386.rpm apr-util-1.2.7-11.el5.i386.rpm postgresql-libs-8.1.18-2.el5_4.1.i386.rpm 查看有否安装: [root@localhost Server]# rpm -qa | grep http httpd-2.2.3-43.el5 启动Apache: Service httpd start 3.安装DNS 用rpm分别安装以下包: bind-9.3.6-4.P1.el5_4.2.i386.rpm bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm bind-devel-9.3.6-4.P1.el5_4.2.i386.rpm bind-libbind-devel-9.3.6-4.P1.el5_4.2.i386.rpm bind-libs-9.3.6-4.P1.el5_4.2.i386.rpm bind-sdb-9.3.6-4.P1.el5_4.2.i386.rpm bind-utils-9.3.6-4.P1.el5_4.2.i386.rpm DNS有两个配置文件: 主配置文件: /var/named/chroot/etc/named.conf 用来设置DNS全局命令的 DocumentRoot “/var/www/html”:定义网页文件存放的目录 数据库文件:https://www.doczj.com/doc/269304137.html,.zone 记录哪个域名IP是多少的。 装完后启动DNS Service named start 编辑DNS主配置文件(默认是空的)如下: 命令:vim /var/named/chroot/etc/named.conf

企业级邮件服务器解决方案

一、初始化系统环境 主机名: #vim /etc/sysconfig/network HOSTNAME=https://www.doczj.com/doc/269304137.html, #vim /etc/hosts 172.16.1.3 https://www.doczj.com/doc/269304137.html, #hostname https://www.doczj.com/doc/269304137.html, 安装包: Postfix Dovecot Mysql Postfixadmin Amavisd+spam Clamav 二、优化系统性能与安全升级 三、配置服务器 postfix: #rpm –ivh postfix-2.3.3-2.i386.rpm #postconf –m #cd /RHEL5u3/Server/ #rpm –ivh system-switch-mail-0.5.25-12.noarch.rpm #system-switch-mail 或者使用alternatives: #alternatives –display mta #alternatives –config mta dovecot: #cd /RHEL5u3/Server/ #rpm –ivh dovecot-1.0.7-7.el5.i386.rpm mysql: #cd /RHEL5u3/Server/ #rpm –ivh mysql-server-5.0.45-7.el5.i386.rpm #rpm –ivh mysql-5.0.45-7.el5.i386.rpm postfix admin: #cd /var/ftp/pub/MAIL/software/postfixadmin #tar zxf postfixadmin-2.1.0.gz –C /var/www/html/ #cd /var/www/html #mv postfixadmin-2.1.0 postfixadmin #cd postfixadmin #less DA TABASE_MYSQL.TXT #service mysqld start #mysql < DA TABASE_MYSQL.TXT # mv config.inc.php.sample config.inc.php #vim config.inc.php $CONF[…default_language?] = ?cn?;

第10章 Postfix邮件系统(一)

第10章 Postfix邮件系统(一) 具体步骤: 1.准备工作 为了避免发生端口冲突、程序冲突等现象,应将系统自带的sendmail服务停用,并将默认启动状态设为关闭。由于Postfix系统兼容并沿用了Sendmail的部分设置,因此建议保留Sendmail软件包,而不是直接卸载。 除此以外,因在下一章中需要Postfix支持SASL认证(通过软件包cyrus-sasl),所以应确认已安装好相关软件包。 2.源码编译及安装 1)创建运行组、用户 为了加强邮件服务的权限控制,需要创建专门的运行组账号postfix和postdrop,以及用户账号postfix。运行用户不需要直接登录到系统,也无需创建宿主文件夹。 2)解包 将下载的postfix源码包解压,释放到/usr/src/目录下,并切换到展开后的源码目录。 3)配置 Postfix软件包的配置步骤使用“make makefiles”进行,具体配置选项可以参考源码目录中README_FILES/文件下的说明文件。例如,若要使Postfix支持发信认证,可参考文件SASL_README中的相关信息。 其中,编译参数CCARGS和AUXLIBS的作用如下: CCARGS参数:为编译器提供额外的扩展参数。例如,启用SASL认证,并指出cyrus-sasl认证程序的头文件位于/usr/include/sasl/。 AUXLIBS参数:为编译器指出位于标准位置之外的额外函数库。例如,cyrus-sasl认证程序的库文件位于/usr/lib/sasl2/。 注:1. 如果配置写错误,需要重新配置,首先输入“make makefies clean”命令清除。

利用UbuntuExtMail30分钟配置好一个功能强大的邮件

利用Ubuntu ExtMail 30分钟配置好一个功能强 大的 利用Ubuntu ExtMail 30分钟配置好一个功能强大的服务器V1.1,以下文档通过19个大的步骤进行配置,配置成功! 由于网上Ubuntu ExtMail的步骤特别多,看了都头痛,在此特别给朋友们制作了一个简洁的安装文档,希望大家喜欢:) 环境: Ubuntu 8.04 TLS postfix 2.5.1 ExtMail 1.2 extman 1.1 1.安装依赖包 apt-get install mysql-client-5.0 mysql-server apache2 postfix postfix-mysql postfix-doc courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl libapache2-mod-fastcgi libfcgi-perl build-essential libtool libnet-server-perl libnet-cidr-perl libberkeleydb-perl arc zoo lzop liblzo1 libstdc++5 libgd-gd2-perl libfile-tail-perl libdigest-sha1-perl libdigest-HMAC-perl libnet-ip-perl libnet-dns-perl libhtml-tagset-perl libhtml-parser-perl libio-stringy-perl libio-multiplex-perl libio-socket-ssl-perl libio-zlib-perl libnet-ssleay-perl libunix-syslog-perl libtimedate-perl libmailtools-perl libconvert-binhex-perl libconvert-tnef-perl libconvert-uulib-perl libcompress-zlib-perl libarchive-zip-perl libarchive-tar-perl perl-suid 你会被询问以下问题: Create directories for web-based administration? <– No General type of mail configuration: <– Internet Site System mail name: <– https://www.doczj.com/doc/269304137.html, 2.下载extmail-1.2和extman-1.1,并修改配置 下载地址:https://www.doczj.com/doc/269304137.html,/download tar xvzf extmail-1.2.tar.gz

最全的postfix配置参数

最全的postfix配置参数 2009-03-31 22:00 最完整的信息--postfix包随附的在线说明与配置文件样本,已经在你手上了。因此,本附录只能算是 postfix参数的“速查参考”。 对于每一个参数,我们都会列出其可能值或是设定值的类型,大部分类型的设定值都没有异议,只有一些类型的值需要解释: 逐项列出 参数需要一个或多个可能值。至于某特定参数可能需要哪些值,请参阅在线说明。 查询表 当参数指向查询表时,必须指出表的类型与名称,两者之间以一个冒号隔开,例如: transport_map = hash:/etc/postfix/transport 路径名称 一个文件的完整路径。 格式样板 某些参数的设定值,是由包含宏的字符串所组成,例如: smtpd_banner = $myhostname ESMTP $mail_name 宏(此例中的$myhostname与¥mail_name)是在运行时才展开的对应的参数值。至于哪些参数的样板可接受哪些宏,请参阅在线说明文件。 计时单位 postfix有许多涉及时间的参数,例如: queue_run_delay = 1000s 为了方便描述时间,postfix拟定了一组通用的计时单位简写,如果没注明计时单位,每个时间参数都有自己默认的计时单位。至于特定时间参数的默认计时单位是什么,请参阅在线说明。 单位简写 秒 s 分 m 时 h 日 d 周 w 所有参数都有一个默认值(虽然某些默认值得空白)。只有实际设定值不同于默认值得参数时,才需要被列在main.cf中。本篇附录虽然列出了参数得默认值,但是不保证新版本得postfix一定不会改变默认值。使用postconf命令得-d 选项,可以查出特定参数得默认值。 postconf -d alias_maps postfix参数速查参考 2bounce_noice_recipient 可能值:邮件地址默认值:postmaster “2bounce”是多钟可能得错误类型之一。每一类型错误,都可由你决定是否要发出通知函。2bounce_notice_recipient指定“2bounce”错误类型得通知对

Linux下的邮件系统概述

Linux下的邮件系统概述 在Linux下有许多软件包可以实现标准的邮件服务。UNIX/Linux的电子邮件系统模型基本可分为邮件传递代理MTA,邮件存储和获取代理MSA,以及邮件客户代理MUA三大模块。虽然也有一些特殊的邮件应用程序无法确切归入上述分类。下面我们就Linux 邮件服务做一概述。 1、邮件传递代理-MTA 在Linux下的邮件传递代理包括sendmail,该系统几乎在任何UNIX平台上都有相应的版本;还有D.J. Bernstein的qmail以及Wietse Venema的Postfix系统。它们负责接收并转递邮件。这听起来很简单,实际上设置可能相当复杂。在邮件策略管理时需要设置一系列的路由和伪装选项,而许多功能是由语言编程实现的,用以过滤或者修改中继消息的头信息。此外邮件路由和寻址邮件存储信箱的过程包含了复杂的与各种目录服务交互操作,这些目录服务可能包括DNS,密码文件,NIS, LDAP别名/数据库管理文件,以及各种的通用数据库系统。 如今的MTA还要实现反垃圾邮件功能,控制邮件头的to和from地址格式,达到允许或者限制特定域名或者地址范围目的,以上主要是通过修改存取控制表和规则实现。这一过程通常包括查询数据表或者目录服务,例如Paul Vixie的实时黑洞列表程序RBL,邮件滥用预防系统MAPS,以及同类的Dorkslayer/ORBS系统。MTA一直在不断增强之中,以实现加强的策略控制以及反病毒和反蠕虫等功能。 在大多数情况下,安装和设置MTA系统比较容易,不过强大的功能的实现是以高度复杂性为代价的。如果你所在的机构选择定制的MTA来满足特定的路由,体系,安全性和反垃圾邮件等要求,就需要更加复杂的设置选项,配置包括设计并处理MTA和各种子系统如LDAP、DNS服务器之间的复杂关系。 2、邮件存储和获取代理MSA 一旦安装并设置完成了MTA,通常还需要对MSA系统进行同样的配置过程。如今大多数机构并不直接将邮件传送到桌面客户系统,而是将邮件存储到服务器,让用户通过POP或者IMAP来读取各自的邮件。 邮件存储的管理有许多种协议,但如今最常用的是POP3和IMAP4。对于MTA 来说,由一些程序,或者称之为Daemon来实现相应协议的服务。大多数MSA可以与通用的MTA交互,此外这些系统还包含加锁或者其他安全机制,使得多个MSA可以并行工作而不发生冲突。 这意味着一些用户可以通过POP协议获取邮件而同时其余一些用户可以使用IMAP协议,而另外一些用户可以登录系统,使用本地MUA例如pine,mutt或elm处理邮件。单独用户也可以从一种存取协议切换到另一种,而并不需要系统管理员的干预。聪明的用户甚至可以越过通常的MSA/MUA服务,而使用通常的UNIX命令如cp、mv 和ftp或者远程同步rsync来随意处置他们的邮件。对普通用户来说这有些艰涩,但该方法有时可以用来方便地修复崩溃了的邮箱系统。

浅析邮件服务器安全解决方案

-------------前言-------------- 随着计算机技术的迅速发展,邮件网络信息的安全问题的解决十分的重要。邮件服务器关系着人们信息交流的隐私安全。目前互连网上的邮件服务器所受攻击有两类:一类就是中继利用(Relay),即远程机器通过你的服务器来发信,这样任何人都可以利用你的服务器向任何地址发邮件,久而久之,你的机器不仅成为发送垃圾邮件的帮凶,也会使你的网络国际流量激增,同时将可能被网上的很多邮件服务器所拒绝。另一类攻击称为垃圾邮件(Spam),即人们常说的邮件炸弹,是指在很短时间内服务器可能接收大量无用的邮件,从而使邮件服务器不堪负载而出现瘫痪。这两种攻击都可能使邮件服务器无法正常工作。因此作为一个邮件服务器防止邮件攻击将不可缺少。所以如何保证邮件服务器的安全解决方案是当前的关键。 Internet是一个开放系统,透明度极高,既不安全,又不可信,使邮件服务器存在许多安全问题。如何保证数据传输的安全性和收发邮件人身份的真实性就成为推广解决的关键问题。邮件服务器的解决方案主要通过了解其性能、安全配置技巧、自身安全功能机等方面。采取一种预防、阻止邮件服务器出现坏的信息,从而使邮件服务器有一个简单实用的解决方案。

浅析邮件服务器安全解决方案 【摘要】该文论述和分析了邮件服务器自身安全功能及其安全方面的解决方案。在安全解决方面,重点介绍了Sendmail软件。通过对邮件服务器性能和安全配置技巧的论述,了解邮件服务器的工作原理。对动态中继验证控制,采取更先进的Sendmail进行处理。总结出邮件服务器的主要性能和安全解决方案,既保证数据安全,又提高邮件服务器的信息传输能力。从而使邮件服务器能够公平、合理、安全的在互联网上运行。 【关键词】邮件服务器;安全性;Sendmail软件;动态中继验证

Linux下的Postfix邮件服务器

Linux下的邮件服务器Postfix(一)在Linux下1、挂载光驱建立DNS服务器的MX记录:正向: 反向: 2、创建用户和密码: 看一下邮箱邮件默认保存在这里:

3、安装Postfix包,开启Postfix服务: 4、关闭sendmail服务: 5、编辑/etc/postfix/main.cf文件 找到这几项修改其余不改: myhostname = https://www.doczj.com/doc/269304137.html, 邮件主机的完整名称 mydomain = https://www.doczj.com/doc/269304137.html, 邮件主机域名 myorigin = $mydomain(表示所有)设置发件人邮件地址的网域名 inet_interfaces = all (表示监听所有端口)监听端口【把下面的inet_interfaces=localhost 注释掉】 mydestination = $myhostname, $mydomain(表示所有)指定接收邮件时收件人的域名mynetworks = 192.168.1.0/24, 127.0.0.0/8(192.168.1.0/24表示这个网段,127.0.0.0/8表示本 地)设置可以为其转发邮件的网络 relay_domains = $mydestination(表示所有)设置可以为其转发邮件的域名 6、重新启动服务: 7、验证:发信: #telnet https://www.doczj.com/doc/269304137.html, 25 telnet到邮件服务器的25号端口 helo https://www.doczj.com/doc/269304137.html, 用helo或ehlo介绍自己(可以不写) mail from:li@https://www.doczj.com/doc/269304137.html, 发信人地址 rcpt to:gen@https://www.doczj.com/doc/269304137.html, 收件人地址 data 表示开始输入邮件正文 Hello! 邮件正文 .新起一行以“.”表示正文结束 quit 退出telnet

开源邮件归档服务器MailArchiva

开源邮件归档服务器MailArchiva 2012-02-03 /分类: 邮件服务器/ 浏览次数: 1,479 / 6个评论发表评论 怎么突然想起弄mailarchiva了呢? 年前公司有个员工辞职,到最后一天的时候说无法收邮件了,结果一看,存foxmail 的那个盘不知道怎么被搞挂了,因为很多工程方面来往邮件和其他文件比较重要,只能格式化后用恢复工具来恢复数据,邮件基本找回来了,但七八十个邮件夹,几十G的邮件,花了一天才修复完。 前几天有个人说他们公司要求他用postfix来给exchange做邮件归档,他是想用outlook来接收存档,那得多烦人啊,记得以前弄GFI webmonitor的时候看到GFI 还有个邮件存档工具,不过是for exchange的,咱们没有exchange的呢?一时兴 起就查了一下相关的资料,就找到了mailarchiva,虽然开源版比企业版少了一些功能,不过咱们用用也足够了,网上搜索半天没有发现有用的关于mailarchiva配置和使用的中文资料,只能自己摸索了半天才大致明白,中途也出现了不少问题,记下来以飨后来者吧。 先到开源网站SF下载mailarchiva的安装文件, https://www.doczj.com/doc/269304137.html,/projects/openmailarchiva/files/mailarchiva/MailArchiva%20v1.9/,mailarchiva是基于JAVA开发的,所以可以跨平台,我这里要用来给hmailserver 做邮件存档,所以下载windows版本的,包有一百多兆,不过其中有两个JRE的包,一个32位一个64位,这两个倒占了大头。 下载后安装就不废话了,很简单,安装完成后会提示web控制台的默认登录用户名和密码都是admin,安装过程中会打开个网页提交个注册信息给mailarchiva官网,如果不想泄露自己的信息,就填假的或者不让它访问官网呗。 安装完成后桌面右下角会显示mailarchiva的服务控制台图标,可以双击打开它

postfix邮件服务器搭建完整版

Postfix邮件服务器安装 一.安装前准备 1.关闭防火墙 vi /etc/selinux/config 图1 如图1,将其中的SELINUX=enforcing修改为SELINUX=disabled 需要注意的是此修改需要重启后才能生效,可以在将所有搭建步骤结束后在进行重启。 2.关闭ip信息包过滤系统iptables iptables –flush 图2 3. 从自启动中关掉sendmail 先停掉sendmail服务:service sendmail stop

图3 然后从自启动项中移除sendmail:chkconfig sendmail off 二、安装软件包,本文档中安装的是linux redhat5.4自带的rpm安装包 1. 安装配置DNS服务器 DNS服务用来帮助解析域名的,如果不配置DNS服务,那么outlook,foxmail等软件无法解析我们的邮件域名,也就无法连接到提供收发邮件协议的服务器。 (1)查看系统是否已经安装了服务相关的所有安装包rpm –qa|grep bind 图4 可以看到系统只安装了服务所需的部分包,还需要安装如下图所示的其他包: 图5 (2)使用rpm –ivh 命令安装其他包: 图6

(3)配置DNS DNS有两个配置文件: ①主配置文件: /var/named/chroot/etc/named.conf 用来设置DNS全局命令的 编辑DNS主配置文件(默认是空的)如下: 命令:vi /var/named/chroot/etc/named.conf 这里以https://www.doczj.com/doc/269304137.html,域名为例进行配置,如图: 图7 编辑完成后先按Esc键退出编辑状态然后输入:wq 点击回车进行保存。 ②zone文件,注意此处的zone文件的名称要和住配置文件中的file后写的文件名一致。可以从模板拷贝一份zone文件进行编辑配置: cp/usr/share/doc/bind-9.3.6/sample/var/named/localdomain.zone /var/named/chroot/var/named/https://www.doczj.com/doc/269304137.html,.zone 图8 编辑https://www.doczj.com/doc/269304137.html,.zone文件:

CentOS邮件系统和反垃圾安装

CentOS邮件系统安装 https://www.doczj.com/doc/269304137.html,/forum/redirect.php?tid=1792&goto=lastpost 上面网址是安装教程视频 https://www.doczj.com/doc/269304137.html,/bbs/viewthread.php?tid=696 邮件系统配置文件等 所有视频都有下载地址 https://www.doczj.com/doc/269304137.html,/v/bbk1106.zip https://www.doczj.com/doc/269304137.html,/v/bbk1107.zip https://www.doczj.com/doc/269304137.html,/v/bbk1108.zip 垃圾邮件的 https://www.doczj.com/doc/269304137.html,/bbs/view ... &extra=page%3D1 安装redhat5系统 安装号码:2515dd4e215225dd 选择软件包桌面环境选择kde,应用程序选择默认的,开发选择开发工具和开发库,服务器选择mysql在选择可选的软件包要选择里面的mysql-devel-5.0.45-7.e15.i386和php-mysql-5.1.6-20.el5.i386,还要选择万维网服务器,服务器配置工具,邮件服务器里面的可选软件包里要选中squlrrelmail,把虚拟化的勾勾取消掉,之后可以下一步了! 重新引导之后,接下来的安装一定要把孩火墙和SElinux这两项给禁用 一、下载Postfix源文件 在IE里面输入ftp://https://www.doczj.com/doc/269304137.html, pub--redhat---linux---enterprise---5Server-en--os---SRPMS redhat里面的所有源文件包全在上面 1.打开SRPMS里面找到postfix- 2. 3.3-2.src.rpm下载下来 2.输入这网址把postfixadmin下载下来:https://www.doczj.com/doc/269304137.html,/sourceforge/postfixadmin/postfixadmin-2.1.0.tgz 把这两个包上传到redhat5服务器上面。 二、配置 1、启动mysqld数据库 #/etc/init.d/mysqld start 2.设置管理员的口令 #mysqladmin -u root password 123456(123456是自己要设置的密码) 3.设置mysql设置成开机自启动 #/sbin/chkconfig mysqld on 4.验证mysql #mysql -u root -p 输入密码,成功进入mysql > show databases; 千万不要忘了后面的粉号

linux-postfix服务器-电子邮件过滤和防病毒

linux-postfix服务器-电子邮件过滤和防病毒-技术笔记 电子邮件过滤和防病毒 postfix邮件服务系统可以针对SMTP会话中的地址,名称等信息进行检查,并根据main.cf 的配置参数将某一类型的数据发送到指定的策略配置文件,由该文件配置执行的动作,该文件经过hash加密导入数据库。 1. 根据客户端的主机名地/址过滤邮件,可以是单个ip,网段ip,域名,主机名。 vi /etc/postfix/main.cf smtpd_client_restrictions = check_client_access hash:/etc/postfix/access //指定策略文件和hash数据库位置 下面设置策略文件: vi /etc/postfix/access 192.168.4 REJECT //也可以使用DISCARD丢弃 192.168.4.1 OK https://www.doczj.com/doc/269304137.html, REJECT postmap /etc/postfix/access //该命令用于将策略文件hash一下加入数据库 //客户端地址可能是邮件真实的来源地,而helo信息只是客户端告知的地址 //客户端的信息是 2根据hello信息中的主机名地址过滤 配置main.cf smtpd_helo_required = yes //要求必须使用helo命令 smtpd_helo_restrictions = reject_invalid_hostname //拒绝使用无效主机名的主机 3根据发件人地址过滤邮件 smtp_sender_login_maps = mysql:/etc/postfix/mysql_virtual_sender_maps.cf, //指定mysql类型的查询表文件和别名文件 mysql:/etc/posfix/mysql_virtual_alias_maps.cf smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, //发件人与登录用户不匹配时拒绝 reject_non_fqdn_sender, //发件人地址不属于合法FQDN时拒绝 reject_unknown_sender_domain, //发件人地址未知或不存在时拒绝 //以上可以防止通过发信认证的用户伪造mail from 信息 check_sender_access hash:/etc/postfix/sender_access //用于指向含有邮件地址域名地址的查询表,即rcpt to: 提供的信息---实际上是收件人地址 如:vi /etc/postfixsender_access REJECT marketing@ REJECT https://www.doczj.com/doc/269304137.html, REJECT https://www.doczj.com/doc/269304137.html, REJECT postmap /etc/postfix/sender_access 4根据收件人地址过滤 smtpd_recipient_restrictions = permit_mynetworks, //允许本邮件系统发出的邮件

相关主题
文本预览
相关文档 最新文档