zoukankan      html  css  js  c++  java
  • 烂泥:Postfix邮件服务器搭建之软件安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下

    想要获得更多的文章,可以关注我的微信ilanniweb

    Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl、postfix、dovecot、postfixadmin、roundcubemail,只有这几个软件相互配合才能搭建一套完整的邮件服务器。

    PS:本次实验在centos6.5 64bit上进行。

    一、软件功能介绍

    cyrus-sasl、postfix、dovecot、postfixadmin、roundcubemail,这五款软件,分别有各自的功能。下面就分别一一介绍各自的功能。

    1.1 cyrus-sasl功能介绍

    cyrus-sasl(Simple Authentication Security Layer)简单认证安全层, SASL主要是用于SMTP认证。而cyrus-sasl在OS里面,saslauthd是其守护进程。

    1.2 postfix功能介绍

    postfix是一个电子邮件服务器,它为了改良sendmail邮件服务器而产生的,并且它的配置文件比sendmail简单得多,配置相当容易。

    postfix作为发送邮件服务器。

    1.3 dovecot功能介绍

    dovecot是一个开源的IMAP和POP3邮件服务器,支持Linux/Unix系统。

    POP/IMAP是MUA从邮件服务器中读取邮件时使用的协议。其中,与POP3是从邮件服务器中下载邮件存起来,IMAP则是将邮件留在服务器端直接对邮件进行管理、操作。

    dovecot可以被其他具有相同功能的软件替代,比如:cyrus-imapd。

    dovecot作为接收邮件服务器。

    1.4 postfixadmin功能介绍

    postfixadmin是一个基于web的postfix邮件发送服务器的管理工具,可以直接管理postfix的虚拟域名和邮件用户,前提是这些数据是存储在mysql或者是PostgreSQL数据库中。

    postfix的邮件用户和虚拟域名的管理都是通过postfixadmin来进行的。

    1.5 roundcubemail功能介绍

    roundcubemail是一个基于浏览器,支持多国语言的IMAP客户端,它的操作界面看起像一个桌面应用程序。它提供一个email客户端应该具备的所有功能,包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查等。

    roundcubemail采用PHP+Ajax开发并且需要MySQL数据库来存储数据。 用户界面采用XHTML+CSS2设计。

    roundcubemail可以被其他具有相同功能的软件替代,比如:openwebmail、squireelmail。

    roundcubemail作为web端的邮件客户端。

    这几个软件中除了postfixadmin是通过单独下载安装的,其他的几个软件都是直接使用yum方式进行安装。但是yum方式安装的不是各个软件的最新版本,所以在下面的介绍中,我们还会介绍到最新版本的软件。

    二、cyrus-sasl安装与配置

    在本章节会介绍cyrus-sasl的安装和配置,先来介绍cyrus-sasl的安装。

    2.1 cyrus-sasl安装

    cyrus-sasl的安装很简单,使用如下命令:

    yum -y install cyrus-sasl

    clip_image001

    查看版本cyrus-sasl,使用如下命令:

    /usr/sbin/saslauthd -v

    clip_image002

    前面我们介绍了saslauthd是认证服务cyrus-sasl的守护进程,所以我们就可以通过saslauthd查看cyrus-sasl的版本。

    2.2 cyrus-sasl配置

    cyrus-sasl安装完毕后,我们现在来配置cyrus-sasl。

    修改saslauthd文件把MECH的值修改为shadow,如下:

    vim /etc/sysconfig/saslauthd

    SOCKETDIR=/var/run/saslauthd

    MECH=shadow

    FLAGS=

    clip_image003

    修改smtpd.conf文件,添加如下代码:

    vim /etc/sasl2/smtpd.conf

    pwcheck_method: saslauthd

    mech_list: plain login

    log_level: 3

    saslauthd_path:/var/run/saslauthd/mux

    clip_image004

    2.3 测试cyrus-sasl

    cyrus-sasl配置完毕后,我们来测试其是否正常。创建系统用户ilanni,并修改其密码,如下:

    useradd ilanni &&echo 'ilannimail'| passwd --stdin ilanni

    su - ilanni

    mkdir -p ~/mail/.imap/INBOX

    clip_image005

    用户创建完毕后,要启动cyrus-sasl,如下:

    /etc/init.d/saslauthd start

    chkconfig saslauthd on

    clip_image006

    现在来使用刚刚创建的用户进行认证测试,如下:

    testsaslauthd -u ilanni -p 'ilannimail'

    clip_image007

    通过上图,我们可以很明显的看出cyrus-sasl已经正常启动,并且我们的配置也是完全正确的。

    三、postfix安装与基本配置

    在本章节会介绍postfix的安装和基本配置,先来介绍postfix的安装。

    3.1 postfix安装

    安装postfix,使用如下命令:

    yum -y install postfix

    clip_image008

    Centos6.5默认安装的是postfix2.6.6版本,所以以下的所有配置都是在postfix2.6.6版本上进行的。

    如果你想使用稍微新版本的话,可以通过如下的方式进行安装,如下:

    wget -P /etc/yum.repos.d https://repos.fedorapeople.org/repos/mstevens/postfix/epel-postfix.repo

    yum -y install postfix

    postconf -d | grep mail_version

    clip_image009

    注意:postconf是检查posftix配置的命令。

    如果想安装最新版本的postfix的话,我们也可以通过如下连接下载安装,如下:

    wget http://repos.oostergo.net/6/postfix-3.1/postfix-3.1.0-1.el6.x86_64.rpm

    rpm -ivh postfix-3.1.0-1.el6.x86_64.rpm

    postconf -d | grep mail_version

    clip_image010

    Posftxi安装完毕后,我们现在来开始postfix的基本配置。

    3.2 postfix基本配置

    为什么说是postfix的基本配置呢?因为postfix的配置选项特别多,其他的功能我们在下一篇文章中进行介绍,在此只先介绍基本的发送邮件配置。

    postfix的配置文件是main.cf,main.cf文件配置选项很多,下面我们就给出最常使用的配置,红色部分是要根据自己的实际情况修改的,如下:

    vim /etc/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 = mail.ilanni.com

    mydomain = ilanni.com

    myorigin = $mydomain

    inet_interfaces = all

    mydestination = $myhostname, localhost.$mydomain, localhost

    local_recipient_maps =

    unknown_local_recipient_reject_code = 550

    alias_maps = hash:/etc/aliases

    alias_database = hash:/etc/aliases

    debug_peer_level = 2

    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

    3.3 测试postfix配置

    postfix配置完毕后,我们需要测试postfix是否可以正常发送邮件。

    现在来启动postfix,使用如下命令:

    /etc/init.d/postfix start

    chkconfig postfix on

    netstat -tunlp

    ps -ef |grep postfix

    clip_image011

    通过上图,我们可以很明显的看到postfix已经正常启动,并且监听的是tcp的25端口。

    postfix启动后,我们也可以通过postfix的日志进行查看。postfix的日志文件为/var/log/maillog。如下:

    tail -f /var/log/maillog

    clip_image012

    现在我们来测试postfix是否可以发送邮件,如下:

    telnet mail.ilanni.com 25

    mail from:admin@ilanni.com

    rcpt to:xxxx36022@qq.com

    data

    .

    quit

    clip_image013

    注意:上述命令中mail from:admin@ilanni.com中的admin@ilanni.comn是随便填写的,而rcpt to:xxxx36022@qq.com中的邮箱则是确实存在的。

    现在我们再切换到那个QQ邮箱的收件箱,查看是否收到刚刚发送的邮件,如下:

    clip_image014

    通过上图,我们可以很明显的看出postfix已经可以正常发送邮件了。

    四、dovecot安装与基本配置

    在本章节会介绍dovecot的安装和基本配置,先来介绍dovecot的安装。

    4.1 dovecot安装

    安装dovecot,使用如下命令:

    yum -y install dovecot dovecot-devel dovecot-mysql pam-devel

    dovecot --version

    clip_image015

    Centos6.5安装的dovecot版本为2.0.9,如有要安装最新版的话,我们可以通过如下命令。

    wget -P /etc/yum.repos.d/ http://repos.fedorapeople.org/repos/mstevens/dovecot/epel-dovecot.repo

    yum -y install dovecot dovecot-devel dovecot-mysql pam-devel

    dovecot --version

    clip_image016

    4.2 dovecot基本配置

    dovecot安装完毕后,我们现在来配置dovecot。dovecot的配置选项也是很多,在此只先介绍基本的功能。

    dovecot的配置文件都在/etc/dovecot/目录下。

    vim /etc/dovecot/dovecot.conf

    protocols = imap pop3

    listen = *

    !include conf.d/*.conf

    clip_image017

    vim /etc/dovecot/conf.d/10-auth.conf

    disable_plaintext_auth = no

    auth_mechanisms = plain login

    !include auth-system.conf.ext

    clip_image018

    禁用ssl认证,如下:

    vim /etc/dovecot/conf.d/10-ssl.conf

    ssl = no

    clip_image019

    启用dovecot的日志,如下:

    vim /etc/dovecot/conf.d/10-logging.conf

    clip_image020

    现在我们来启动dovecot,使用如下命令:

    /etc/init.d/dovecot start

    chkconfig dovecot on

    /etc/init.d/portreserve stop

    chkconfig portreserve off

    clip_image021

    注意:上述命令中的portreserve服务相关的两行,这个如果启动的话,你会发现系统重启后dovecot会无法启动,这是因为portreserve占用了dovecot的端口,所以在此我们禁用portreserve服务。

    4.3 测试dovecot

    Dovecot启动完毕后,我们现在来测试dovecot,使用如下命令:

    telnet mail.ilanni.com 110

    telnet mail.ilanni.com 143

    出现+Ok Dovecot ready,则表示dovecot配置正确。

    clip_image022

    下面我们来测试使用邮件客户端工具foxmail来连接测试,注意这个用户就是我们第2.3章节中创建的ilanni用户,具体过程如下:

    clip_image023

    clip_image024

    注意:在此我们选择的服务器类型是POP3类型,而不是IMAP类型。如果选择IMAP类型的话,会提示权限错误。

    clip_image025

    通过上图,我们可以很明显的看到系统用户ilanni,已经正确连接到邮件服务器,这也说明了dovecot配置成功了。

  • 相关阅读:
    python学习(八) 异常
    python学习(七) 更加抽象
    java面试(五)
    python学习(六) 抽象
    python学习(五) 条件、循环和其他语句
    JAVA基础知识——IO
    Java进阶之路——从初级程序员到架构师,从小工到专家(转载)
    如何成为java架构师(转载)
    python学习(四) 字典:当索引不好用时
    MVC Html.DropDownList 和DropDownListFor 的常用方法
  • 原文地址:https://www.cnblogs.com/ilanni/p/5294611.html
Copyright © 2011-2022 走看看