Qmail系统的安装、简单配置及使用

  • Qmail系统的安装、简单配置及使用已关闭评论
  • 7 views
  • A+
所属分类:运维实战

相信大家对E-mail(电子邮件)非常熟悉,您可能已经申请了一个或若干个电子邮件信箱,并使用它与亲朋好友互通邮件、交流看法。与同事交换商务信函、传输电子文档、程序附件。E-mail已成为您与外界交流、学习、工作、娱乐的必不可少的工具。E-mail是Internet提供的一种非常成熟实用的服务。在享受其带来的便利的同时,很多人想了解其工作原理及安装配置。下面我就目前常用的E-mail系统(QMail)的安装、初级配置及使用介绍给大家。

过程一:Qmail的安装。

1. 获得Qmail程序。

Qmail是自由软件,在Internet上可以获得它的源代码(C源代码)及基于各种平台和操作系统的二进制文件。二进制文件可以不须编译直接使用,但要注意选择与您的平台和操作系统版本一致的文件,否则可能不能使用。源代码可以在您的任何环境下工作(UNIX)但需要自己进行编译安装。这里我们选择源代码。从Internet上下载的源代码通常是以tar程序打的包然后再用压缩软件进行压缩。如:qmail-1.03.tar.gz 这里使用的是gzip进行压缩的(假设你的机器上已安装了gzip)。使用 gzip -d qmail-1.03.tar.gz 解压缩成qmail-1.03.tar 然后再用tar -xvf qmail-1.03.tar 解包成qmail-1.03目录。那么源代码文件均在此目录中了。

2. 编译安装Qmail。

Qmail源代码文件中有几个配置文件可以修改以适合您的环境。

conf-qmail :此文件包含Qmail的安装目录,默认值是 /var/qmail/

conf-users:此文件包含Qmail需要使用的用户,默认用户是 root,alias,(这两个用户在unix下应该已经由系统建立好了,下面的用户应该自己创)qmails,qmaid,qmaill,qmailr,qmailq,qma-ilp。

conf-groups:此文件包含Qmail 需要使用的组,默认的组为qmail(qmails,qmaild,qmaill,qmailr,qmailq,qmailp要属于此组)。

conf-cc:此文件包含Qmail使用的编译器,默认使用cc编译器,如须使用其它C编译器,应该将其替换为此编译器如 gcc.

conf-ld:此文件包含Qmail使用的编译器,默认使用cc编译器,如须使用其它C编译器,应该将其替换为此编译器如 gcc

在进行安装前系统应该已经安装了make命令。

定制好这些文件后,在/var/qmail/下使用命令:make。make命令将编译源代码、连接.obj 文件。如果此过程中断或出错,应参考上面配置文件正确与否。用户和组建立的正确与否。如果此过程没有问题使用命令:make check setup。此命令将安装所有文件到/var/qmail/(在执行此命令前先用 makedir /var/qmail 创建该目录)下。

另外需要安装checkpasswd,它的获得和安装和Qmail一样。此程序用于用户使用POP3协议收取邮件时对用户的密码验证。

过程二:Qmail的初级配置

Qmail安装好了以后将在/var/qmail/下生成若干文件和目录。

1.用vi 编辑器打开文件 /etc/inetd.conf,并在文件尾添加如下行:

smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env

tcp-env /var/qmail/bin/qmail-smtpd (和上面一行同在一行)

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup

qmail-popup your.host.name /bin/checkpassword

/var/qmail/bin/qmail-pop3d Maildir(和上面两行同在一行)

其中your.host.name是您的完整的Internet主机名,Maildir 是采用的邮箱格式(这里我们使用较流行的Maildir格式)

2.检查/etc/services文件中是否有如下两行,如没有则添加进去:

smtp 25/tcp mail

pop3 110/tcp # Post Office

3. DNS中有关Qmail的设置.

如果Qmail的邮件是与Internet上的其它邮件服务器交互的话(否则只能此服务器的邮件用户相互收发邮件了),还需要在DNS服务器中设置有关Qmail的条目(如果使用别人的DNS服务器,应向DNS管理员申请添加条目)即添加一条关于邮件交换的条目(具体的设置请向DNS管理员咨询)

4. 控制文件的创建

Qmail的控制文件放在/var/qmail/control/下,如果不与Internet上的邮件服务器互传邮件的话,需要配置很多的文件。否则最简单的只需配置一个文件:me

它的内容是此邮件服务器的完整Internet主机名即:your.host.name

过程三:邮件用户的创建

邮件用户就是系统用户,所以您应该向系统添加用户,为了安全和管理的需要,最好创 建一个E-mail用户组,将E-mail用户归属于此组,创建用户目录时最好在同一个文件系统下创建在同一个目录下(当然此文件系统不够大时可以创建在其它文件系统的某个目录下)

然后,在每个用户的初始目录下用命令:/var/qmail/bin/maildirmake创建邮箱目录并赋予适当的权限,您可以使用Shell脚本来完成每个用户邮箱的创建,下面是此脚本的一个简单的例子:

if test $1

then

echo "Creating $1's directory and file..."

useradd -d /usr/email-users/$1 -g emusers -s /bin/passwd $1

cd /usr/email-users/

mkdir $1

chown $1 $1

cd $1

/var/qmail/bin/maildirmake Maildir

echo ./Maildir/ > .qmail

chown $1 Maildir

chown $1 Maildir/*

chown $1 .qmail

echo "Please input $1's email password"

passwd $1

echo "$1's account has been created!!!"

else

echo "Please input the user'name!"

fi

系统管理员可以使用emuadd email_user_name (此脚本的文件名,并将此文件存放在/bin下)来传建email_user_name的邮箱

过程四:Qmail系统的使用

当上述过程结束后重新启动计算机。

在邮件客户端程序中设置如下:(假如E-mail服务器的主机名为your.host.name,DNS中设置的邮件交换管理的域为mail.domain,注意:通常mail.domain与host.name相同,以E-mail用户user为例)

电子邮件地址:user@mail.domain

SMTP服务器地址:your.host.name

POP3服务器地址:your.host.name

POP3账号:user

POP3账号密码:(由管理员给你,可以自己修改)

(注:个人实践经验仅供大家参考,如有错误请大家予以指正)。

《Qmail配置原理》

6.1 简 介

电子邮件是用户所需要的最重要的网络服务。Web的通信量很大,但邮件主要用于个人之

间的通信,而人-人的通信是商务的基础。没有电子邮件的网络是不完整的网络。换句话说,

如果不能给用户提供完整的TCP/IP下的邮件支持,这样的网络操作系统也不值得信赖。

配置Qmail是一件大而复杂的工作,但也不完全都是这样,与其他一些网络服务器系

统只安装SMTP服务器软件的情况相比,Linux已经配置好了多数的设置。在多数系统下,缺省

配置都能良好的运行。我将在本章中给出一些配置的建议,主要的一些配置参数建议大家不要

随意更改。

6.2 所需系统资源

6.2.1 配置文件:

文件 来源

/etc/Qmail.cfQmail-8.9.3-20.i386.rpm

/etc/Qmail.cwQmail-8.9.3-20.i386.rpm

6.2.2 相关工具:

文件 来源

/etc/rc.d/init.d/Qmail Qmail-8.9.3-20.i386.rpm

6.3 配置方案

1./etc/Qmail.cf Qmail的主配置文件

作用:

控制Qmail运行时的配置。完整的Qmail配置应该包括7部分:

Local Info(本地信息):这部分定义了本地主机的信息

Options(选项):用来设置定义Qmail环境的选项。

Message Precedence(消息的优先级):Qmail消息的优先级

Trusted Users(信任用户):定义发送邮件时允许改变发送地址的用户

Format of Headers(头格式):定义在Qmail中插入的邮件头信息

Rewriting Rules(改写规则):这部分保存着改写邮件地址命令使用该命令可以将邮件

地址从用户邮件程序的地址形式改写为邮件发送程序所需要的地址形式。

Mailer Definition(邮寄者说明):定义发送邮件的程序,改写规则是邮件者使用的

规则,在本部分定义。

其实,配置一个完整的Qmail服务器是一件极其复杂的工程,然而对于我们所适用的范

围来说,很多的功能是没有必要的,所以我想以一个简单的例子来说明我们的配置,也就是说,

没有被提出的配置在一般情况下是不需要我们的管理员来考虑的,你按照默认的做就可以了。

实例:

V8/Berkeley

Cwlocalhost

Fw /etc/Qmail.cw

CP.

DYuunet.uu.net

CPUUCP

DS thj.mycompany.com

CO @ % !

C..

C[[

Kmailertable hash -o /etc/mail/mailertable

#制作db库

Kdomaintable hash -o /etc/mail/domaintable

Kgenerics hash -o /etc/mail/genericstable

Kvirtuser hash -o /etc/mail/virtusertable

Kaccess hash -o /etc/mail/access

Kmxserved bestmx -z: -T<TEMP>

Kresolve host -a<OK> -T<TEMP>

FR-o /etc/mail/relay-domains

DR

DH

Kdequote dequote

CM root

DM thj.mycompany.com

#设置电子邮件器名称

DnMAILER-DAEMON

CPREDIRECT

DZ8.9.3

O SevenBitInput=False

O EightBitMode=pass8

O AliasWait=10

O AliasFile=/etc/mail/aliases,/etc/mail/majordomo

O MinFreeBlocks=100

#规定最小空闲块

O MaxMessageSize=1000000

#指定用户一次最大发送的邮件大小

O BlankSub=.

O HoldExpensive=False

O DeliveryMode=background

O AutoRebuildAliases=true

O TempFileMode=0600

O HelpFile=/etc/mail/Qmail.hf

O SendMimeErrors=True

O ForwardPath=$z/.forward.$w:$z/.forward

O ConnectionCacheSize=2

O ConnectionCacheTimeout=5m

O UseErrorsTo=False

O LogLevel=9

#记录到日志文件的事件等级

O CheckAliases=False

O OldStyleHeaders=True

O PrivacyOptions=authwarnings,noexpn,novrfy

O QueueDirectory=/var/spool/mqueue

O Timeout.queuereturn=4d

O Timeout.queuewarn=4h

O SuperSafe=True

O StatusFile=/var/log/Qmail.st

O DefaultUser=8:12

O SmtpGreetingMessage=$j Qmail $v/$Z; $b

O UnixFromLine=From $g $d

O OperatorChars=.:%@!^/[]+

Pfirst-class=0

Pspecial-delivery=100

Plist=-30

Pbulk=-60

Pjunk=-100

Ft -o /etc/mail/Qmail.ct

Troot

Tdaemon

Tuucp

R$* $#error $@ 5.7.1 $: "550 Relaying denied"

#以上是Linux默认的选项,不允许客户机使用mail服务器收发邮件,如果允许客户机

收发的话应将上边一句话改成

R$- $@ok

#注意:中间是两个tab键

#一下是邮件头信息

H?P?Return-Path: <$g>

HReceived: $?sfrom $s $.$?_($?s$|from $.$_)

H?D?Resent-Date: $a

H?D?Date: $a

H?F?Resent-From: $?x$x <$g>$|$g$.

H?F?From: $?x$x <$g>$|$g$.

H?x?Full-Name: $x

H?M?Resent-Message-Id: <$t.$i@$j>

H?M?Message-Id: $t.$i@$j

#以上是邮件头信息

2.管理员需要执行touch /etc/mail/aliases 和 touch /etc/mail/majordomo来创建两个文件,

然后重新启动Qmail,利用Qmail.cf里生成db库的配置来生成两个库文件:aliases.db和

majordomo.db;当然,管理员也可以通过执行makemap hash mailertable < mailertable来生成新的db,

这样可以不重新启动。

6.4 测试及管理方法

1. 管理员可以通过执行/etc/rc.d/init.d/Qmail restart来使更改的配置生效。

2. 管理员通过执行 fetchmail -u yourname yourserver 来为没有邮件用户制定他们的口

令,用户需要在客户端作相应的设置。

3.管理员应该打开pop3服务,即更改配置文件

4.管理员在服务器上可以通过执行 echo test | /usr/sbin/Qmail -v thj@mycompany.com

来测试建立好的邮件用户是否能够正常工作。

6.5 本章小结

其实我们只要设置其中的几个地方就可以实现mail服务器的功能,这是因为Qmail有很强的

适用性,并且它是在不断更新的。所以现在提供给我们的Qmail的配置方案已经经过实践检验,

不需要管理员做太大改动,就可以实现强大的Qmail功能。

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar