`
lvhuiqing
  • 浏览: 254966 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

qmailによるSMTPサーバの構築

阅读更多

1、qmailの仕組み

  a、sendmailが、メッセージを単一のファイルに結合して全ユーザーが共通のディレクトリを使用するmbox形式であるのに対し、  qmailは各ユーザーのホームディレクトリに1つのメッセージを1ファイルとして保存するMaildir形式である
           
  b、sendmailではメール配送にかかわる処理を1つのプロセスで実行しているのに対し、qmailではメール配送にかかわる処理を複数のプログラムに分割している

 

2、ファイルの準備

    qmail-1.03.tar.gz
    ftp://ftp.eu.uu.net/pub/unix/mail/qmail/qmail-1.03.tar.gz

    ucspi-tcp-0.88.tar.gz
    http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

    qmail-1.03.errno.patch
    http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch

    qmail-date-localtime.patch
    http://www.ksknet.net/sample/qmail-date-localtime.patch

    ucspi-tcp-0.88.errno.patch
    http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch

3、qmailのインストール

 #グループの作成

    /usr/sbin/groupadd -g 901 nofiles
    /usr/sbin/groupadd -g 900 qmail

 #ディレクトリの作成

    mkdir /var/qmail
    mkdir /var/qmail/alias
    chmod -R 755 /var/qmail
    chgrp -R qmail /var/qmail

 #ユーザの作成

    /usr/sbin/useradd -u 900 -g 901 -s /bin/true -d /var/qmail/alias  alias
    /usr/sbin/useradd -u 901 -g 901 -s /bin/true -d /var/qmail qmaild
    /usr/sbin/useradd -u 902 -g 901 -s /bin/true -d /var/qmail qmaill
    /usr/sbin/useradd -u 903 -g 901 -s /bin/true -d /var/qmail qmailp
    /usr/sbin/useradd -u 904 -g 900 -s /bin/true -d /var/qmail qmailq
    /usr/sbin/useradd -u 905 -g 900 -s /bin/true -d /var/qmail qmailr
    /usr/sbin/useradd -u 906 -g 900 -s /bin/true -d /var/qmail qmails

 #qmailコンパイル
    su -
    cp <ソフトウェアのファイル> /usr/local/src/qmail
    cd /usr/local/src/qmail/
    tar -zxvf qmail-1.03.tar.gz -C /usr/local/src/
    cd /usr/local/src/qmail-1.03/

 #dns.c修正

    vi dns.c
    変更前
    static union { HEADER hdr; unsigned char buf[PACKETSZ]; } response;
    ↓
    変更後
    static union { HEADER hdr; unsigned char buf[65536]; } response;

    patch -p1 < ../qmail/qmail-date-localtime.patch
    patch -p1 < ../qmail/qmail-1.03.errno.patch

 #qmailのビルド

    make setup check

4、sendmail停止設定

 #sendmailが起動しているか否かの確認
    ps ax | grep sendmail
 
 #sendmailが自動起動設定になっているか否かの確認
    chkconfig --list | grep sendmail

 #sendmailの停止及び、自動起動設定のoff
    su -
    /etc/rc.d/init.d/sendmail stop
    chkconfig --level 2345 sendmail off

 #ファイル名称:defaultdomain
     内容:example.jp
     説明:toヘッダなどにドメイン名が省略された場合、補完されるドメイン名

 #ファイル名称:locals
     内容:localhost
        localhost.example.jp
        host.example.jp
        example.jp
     説明:toヘッダなどにドメイン名が省略された場合、補完されるドメイン名

 #ファイル名称:rcpthosts
     内容:localhost
        example.jp
        .example.jp
     説明:受信するホスト名・ドメイン名:qmail-smtpdが利用

 #ファイル名称:me
     内容:host.example.jp
     説明:自サーバのFQDN

 #ファイル名称:plusdomain
     内容:example.jp
     説明:ドメイン部が+で終わっている場合に付加されるドメイン。「user@host+」なら        

「user@host.example.jp」と置換される(qmal-injectが利用)

5、tcpserverのインストール

 #tcpserverのビルド

    su -
    cd /usr/local/src/qmail
    tar -zxvf ucspi-tcp-0.88.tar.gz -C /usr/local/src/
    cd /usr/local/src/ucspi-tcp-0.88/
    patch -p1 < ../qmail/ucspi-tcp-0.88.errno.patch
    make setup check

 #TCPルールデータベースの設定

    mkdir /etc/tcpserver
    vi /etc/tcpserver/tcp.smtp
    cat /etc/tcpserver/tcp.smtp | /usr/local/bin/tcprules
    /etc/tcpserver/tcp.smtp.cdb /etc/tcpserver/tcp.smtp.old

6、qmailの自動起動

 #起動ファイルを作成する

    cp /var/qmail/boot/home /var/qmail/rc
    vi /var/qmail/rc

 # vi等のエディタで「/Mailbox」を「./Maildir/」に修正する

 #rootユーザーで以下のファイルを作成する
 
 /etc/rc.d/init.d/qmail

--------------------------------------------------------------------------------
#!/bin/sh
# chkconfig: 345 81 81
# description: qmail SMTP service.
# processname: qmail-send

# Source function library.
. /etc/rc.d/init.d/functions

PATH=$PATH:/var/qmail/bin
export PATH

RETVAL=0

[ -f /var/qmail/bin/qmail-start ] || exit 0

case "$1" in
    start)
        echo -n "Starting qmail:"
        daemon /var/qmail/rc
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ]
        ;;

    stop)
        echo -n "Stopping qmail:"
        killproc qmail-send
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ]
        ;;

    restart)
        $0 stop
        $0 start
        ;;

    *)
        echo -n "Usage: $0 {start|stop|restart}"
        exit 1
        ;;

esac

exit 0
--------------------------------------------------------------------------------

 #qmailの自動起動設定

    chkconfig --level 345 qmail on
    chkconfig --list | grep qmail

7、tcpserverの自動起動

 #起動スクリプトの作成

    vi /etc/tcpserver/rc
--------------------------------------------------------------------------------
#! /bin/sh

tcpserver -v -p -x /etc/tcpserver/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd
--------------------------------------------------------------------------------

 #自動起動スクリプトの作成

    su-
    vi /etc/rc.d/init.d/tcpserver

--------------------------------------------------------------------------------
#! /bin/sh
#
# chkconfig: 345 82 82
# description: tcpserver

# Source function library.
. /etc/rc.d/init.d/functions

RETVAL=0

# See how we were called.
case "$1" in
    start)
        echo -n "Starting tcpserver daemon: "
        daemon /etc/rc.d/init.d/tcpserver_sub
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/tcpserver
        ;;

    stop)
        echo -n "Stopping tcpserver daemon: "
        killproc tcpserver
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tcpserver
        ;;
    status)
        status tcpserver
        RETVAL=$?
        ;;
    restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
    *)
        echo "Usage: tcpserver {start|stop|status|restart}"
        exit 1
esac

exit $RETVAL
--------------------------------------------------------------------------------

CMD> chkconfig --level 345 tcpserver on
CMD> chkconfig --list | grep tcpserver

分享到:
评论

相关推荐

    qmail 安装

    4. **配置Qmail**:Qmail 的配置文件包括`qmail-control`、`qmail-smtpd`、`qmail-pop3d`等,这些文件决定了Qmail的行为。根据你的需求,你可能需要修改`control`目录下的文件,比如设置SMTP和POP3端口、限制发送...

    The qmail Handbook

    3. **qmail组件**:解析qmail的核心组件,如qmail-smtpd(SMTP服务器)、qmail-send(邮件投递)、qmail-inject(邮件注入)、qmail-local(本地邮件处理)等,以及它们之间的交互方式。 4. **配置qmail**:讲解...

    qmail安装包

    在本安装包中,Qmail将与vpopmail、daemontools和ucspi一起被部署,构建一个完整的邮件系统,支持SMTP认证,提供稳定且安全的邮件服务。 首先,我们来详细了解一下Qmail的核心特性: 1. **安全性**:Qmail的设计...

    Qmail下载、安装、配置(全程详解)

    Qmail是一款由Dan Bernstein开发的开源邮件传输代理软件,它以其高效、安全和可定制性在Linux系统中受到许多管理员的青睐。本教程将详细解析Qmail的下载、安装及配置过程,帮助你构建自己的邮件服务器。 **1. Qmail...

    qmail配置 mail

    sudo apt-get install qmail-base qmail-run qmail-qpsync qmail-qm qmail-qread qmail-qwrite qmail-smtpd qmail-pop3 qmail-imapd ``` #### 2. 配置域名和用户 为了确保qmail能够正确地识别和处理邮件,需要编辑...

    qmail学习参考

    - `qmail-smtpd`:负责接收来自互联网的SMTP连接。 - `qmail-queue`:管理邮件队列,确保邮件可靠传递。 - `qmail-local`:处理本地用户发送和接收的邮件。 - `qmail-pop3d`:提供POP3服务,允许用户下载邮件。 ...

    qmail-spp - qmail SMTP plugin patch-开源

    **qmail-spp:qmail SMTP 插件增强** qmail-spp 是针对著名邮件服务器软件 qmail 的一个补丁,其主要目的是为 qmail 的 SMTP 守护进程(smtpd)添加插件支持。qmail 由 Jamie Zawinski(JZawinski)在1990年代初...

    吐血自荐CentOS6下面一键安装Qmail

    4. **配置Qmail**:安装完成后,你需要根据你的需求配置Qmail,例如设置SMTP监听端口、邮件域、用户权限等。这可能涉及到修改配置文件,如`qmailctl.conf`和`qmail-smtpd.conf`。 5. **启动Qmail**:使用`qmail-...

    qmail_2.9.tar.gz

    《深入解析qmail在Linux环境下的安装与配置》 qmail,由Dan Bernstein设计,是一款高效、安全且可定制的邮件服务器软件。它以其简洁的架构、强大的安全性和出色的性能在IT行业内备受赞誉。"qmail_2.9.tar.gz" 是一...

    qmail文档一(qmail+vpopmail+igenus安装)

    1. 配置Qmail的SMTP、POP3等服务,包括端口、权限和安全设置。 2. 创建测试用户和域,验证邮件发送和接收功能。 3. 通过iGenus_Admin管理界面添加新的域和用户,确保功能正常。 完成以上步骤后,你将拥有一个运行...

    CentOS+Qmail安装笔记

    【CentOS+Qmail安装笔记】是一篇关于在Linux系统中,特别是CentOS上安装和配置Qmail邮件服务器的详细教程。Qmail是一款知名的、安全且高效的邮件传输代理,广泛应用于企业级邮件服务。以下是对文章主要内容的详细...

    qmail 安装文档

    《qmail 安装指南详解》 在信息技术领域,邮件服务器是企业通信不可或缺的一部分。qmail,由Dan Bernstein设计的一款高效、安全的邮件传输代理,因其简洁的设计和强大的功能而备受推崇。本篇文章将详细阐述如何在...

    Qmail全套安装源码包下载

    Qmail+vpopmail+qmailadmin+mysql+smtp-AUTH+iGenus, +SPAM+RAZRO全套安装源码包下载

    Life with qmail 中文版

    ### Life with qmail 中文版 —— qmail的安装与使用指南 #### 一、引言 《Life with qmail》是一本详细介绍qmail邮件服务器的书籍,它由Dave Sill编写,Jerry Zhou翻译成中文版。本书不仅适用于qmail的新手用户,...

    Centos 安装 qmail+vpopmail

    在本文中,我们将深入探讨如何在CentOS操作系统上安装qmail和vpopmail邮件系统,这是一个常见的任务,特别是在需要自托管邮件服务器时。首先,确保你的系统满足必要的安装环境: 1. **安装C编译器**:在进行任何...

    基于Linux系统配置高效的Qmail邮件服务器毕业设计论文.doc

    - **邮件投递流程**:qmail使用一系列进程来接收、处理和发送邮件,每个进程都有特定职责,如qmail-queue用于管理邮件队列,qmail-smtpd处理SMTP连接。 - **环境变量**:qmail依赖特定的环境变量来确定其行为,如$...

    Qmail 实用技术超星阅读器书籍

    主要包括qmail-smtpd(SMTP接收)、qmail-inject(邮件注入)、qmail-queue(队列管理)、qmail-local(本地投递)等组件。 2. **安全特性**:Qmail采用了严格的权限管理和验证机制,防止未经授权的访问和恶意攻击...

    igenus qmail管理工具

    igenus qmail管理工具是一款专为qmail邮件系统设计的高效、便捷的管理软件。它旨在简化qmail的配置和维护工作,为管理员提供了一种更直观、更易操作的方式来管理邮件服务器。以下是对igenus qmail管理工具的详细解释...

    mailServer Apache James / sendmail / qmail

    标题中的"mailServer Apache James / sendmail / qmail"提到了三个不同的邮件服务器软件,它们在IT领域中扮演着重要角色。Apache James是基于Java的开源邮件服务器,sendmail和qmail则是历史悠久的Unix/Linux环境下...

Global site tag (gtag.js) - Google Analytics