postfix+pop3+imap+cy

发布时间:2019-07-12 10:02:51编辑:auto阅读(1671)



    1.安装postfix软件包
    2.安装smtp认证包
    3.安装pop3和imap服务包
    4.安装webmail软件包(webmail需要web服务器的支持)

    Postfix

     

    一.Postfix邮件服务的安装

    1.关闭sendmail   

    # /etc/init.d/sendmail stop

    # chkconfig sendmail off

    2.使用rpm命令安装postfix

    # rpm -ivh postfix-2.3.3-2-2.i386.rpm

    3.配置postfix服务的主要配置文件

    vim /etc/postfix/main.cf

    myhostname = mail.123.com    FQDN

    mydomain = 123.com          域名

    myorigin = $ mydomain        设置由本机发出邮件所使用的域名或主机名称

    inet_interfaces = all            监听端口

    mydestination = $mydomain, $myhostname   这一行是设置可接受邮件的主机名或域名(这一项一般不需要修改)

    mynetworks_style = class       根据ip得知ip网段的 A B C

                subnet           默认  根据网卡上的设置开放网段

                host             开放本机的转发功能

    myneworks = 192.168.1.0/24, 127.0.0.1/8    设置可转发那个网络的邮件

     

     

    二.SMTP认证的配置

     

    描述:Postfix服务只是一个MTA(邮件传输代理),它只提供smtp服务,也就是说只提供邮件的转发以及本地分发功能

     

    1.安装cyrus-sasl认证包  

    默认情况下这个包是已经安装的,可以使用以下命令查看

    #rpm -qa |grep cyrus-sasl

     

    如果没有结果就执行以下命令安装

    # rpm -ivh cyrus-sasl-2.1.22-4.i386.rpm

    设置开机启动

    #/etc/rc.d/init.d/saslauthd start

    # chkconfig saslauthd on

    2.cyrus-sasl v2版本的密码验证

    默认cyrus-sasl使用的守护进程名为saslauthd

    查看支持的验证方式 

    # saslauthd -v

    3.设置main.cfpostfix可以与saslauthd联系

    vim /etc/postfix/main.cf

    smtpd_sasl_auth_enable=yes              启用smtp

    smtpd_sasl_local_domain=‘’            允许本地域使用sasl

    smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination   

    permit     允许的网络不需要验证,

    reject      拒绝的网络需要通过验证后才转发

    broken_sasl_auth_clients=yes            打破客户端验证,使客户端只使用sasl方式验证登录     

    smtpd_client_restrictions=permit_sasl_authenticated  客户端限制,只允许sasl方式的验证 

    smtpd_sasl_security_options=noanonymous 取消登录(禁止匿名登录)

     

     

    4.设置saslauthd使用shadow文件认证机制

    vim /etc/sysconfig/saslauthd

    MECH = shadow

    5.测试

     

    三.Pop和imap邮件服务

    描述:实现邮件的异地接收,默认这两个服务是没有的,需要安装两个软件包来提供popimap邮件服务(dovecotcyrus-imapd)。Popimap服务所使用的端口分别是 110143.

     

    1.安装dovecot

    需要安装的perl-DBI mysql dovecot 

     

     

    # /etc/rc.d/init.d/dovecot start

    # chkconfig dovecot on

    2.dovecot服务的配置

    vim /etc/dovecot.conf

    protocols = pop3 pop3s

    protocol pop3 { 

                 listen = *:10100 

    }

    3.安装cyrus-imapd

    需要安装cyrus-imapd-pearl  cyrus-imapd-utils  db4-utils  lm_sensors  cyrus-imapd  cyrus-imapd-devel

     

    # /etc/init.d/cyrus-imapd start

    # chkconfig cyrus-imapd on

     

    4.postfixcyrus-imapd整合在一起

    vim /etc/postfix/main.cf

    mailbox_transport=lmtpunix:/var/lib/imap/socket/lmtp

    5.管理用户邮箱

    创建用户

    passwd cyrus   cyrus管理员账户设置密码

    useradd test

    passwd test

    cyradm -u cyrus localhost

    cm user.test                 创建用户

    cm user.test.Send               发件箱

    cm user.test.Trash               收件箱

    cm user.test.Drafts               垃圾箱

    setquota user.test 5120     (设置邮箱配额大小,默认以k为单位)

    lm   列出与给定字符串

    cm   创建一个新的邮箱

    dm   删除一个邮件信箱及其下层的所有文件夹

    renm 为邮件信箱更名

    dam  删除用户访问邮件信箱的部分或全部权限

    lam  列出邮件信箱的访问权限列表

    sq   为邮件信箱设置配额   

    lq   列出邮件信箱的配额   

     

    # su -l cyrus -c /usr/lib/cyrus-imapd/quota  查看邮箱配额

     

     

    四.Squirrelmail 

    1.安装squirrelmail

    需要的安装包 php-mbstring  squirrelmail

     

    2.配置webmail

    可以使用/etc/squirrelmail/config.php 文件来修改配置选项

    使用Squirrelmail的配置工具修改配置选项

    # /usr/share/squirrelmail/config/config.pl

     

    2 ;   1;   123.com; 3 ;  2;  s;   r

    10;  1;  zh_CN;  2; gb2312 ;  s;  r

    4;    5;   y;  s;   r

    D; cyruss;  q

    1)设置域名跟smtp

     

    2)设置语言

     

     

    3

     

     

     

     

    五.dns与httpd简单设置

    vim /var/named/chroot/etc/named.conf

     

    vim /var/named/chroot/var/named/123.com.zone

     

     

    清空/etc/resolv.conf文件的内容

     

     

     

    客户端测试收发邮件

     

     

     

     

     

     

    postfix邮件常用命令:

    查看队列:postqueue -p

    清空队列:postsuper -d ALL

    postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:

    1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。

    2. incoming:放置正在到达或队列管理进程尚未发现的邮件。

    3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。

    4. deferred:放置不能被投递的邮件。

    启动postfixpostfix start

    停止postfixpostfix stop

    重新读取postfix配置文件:postfix reload

    立即投递队列中所有邮件:postfix flush

    查看队列邮件:postqueue -p

    使用postsuper 来维护队列

    一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。

    例如id0EAF3A9B 那么postsuper -d

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



     ------------------------------------------------------------
    基本配置文件

    vim /etc/postfix/main.cf

    myhostname = mail.123.com    FQDN
    mydomain = 123.com         域名
    myorigin = $ mydomain        设置由本机发出邮件所使用的名称
    inet_interfaces = all        监听端口
    mydestination(不用修改)    这一行是设置可接受邮件的主机名或域名
    mynetworks= class            根据ip得知ip网段的 A B C类
    subnet                       默认  根据网卡上的设置开放网段
    host                         开发本机的转发功能
    myneworks = 192.168.1.0/24, 127.0.0.1/8    设置可转发那个网络的邮件
    relay_domains =123.com       转发到下一个mta的域名
    alias_maps=hash:/etc/aliases         邮件别名配置文件postmap
    alias_database=hash:/etc/aliases     邮件别名数据库 postalias
    -------------------------------------------------------------
    访问控制配置文件

    vim /etc/postfix/master.cf
    vim /etc/postfix/access              存取控制文件
    192.168.1.1    ACCEPT               允许
    baidu.com    REJECT               拒绝
    portmap /etc/postfix/access          是配置文件生效
    -------------------------------------------------------------
    用户别名配置文件

    vim /etc/aliases 别名
    真实用户名:    别名
    postalias hash:/etc/aliases          使别名文件生效
    -------------------------------------------------------------
    虚拟别名域

    vim /etc/postfix/main.cf
    virtual_alias_domain = a.net b.net              域的别名
    virtual_alias_maps = hash:/etc/postfix/virtual  域别名的文件

    vim /etc/postfix/virtual
    @a.net(别名)    @a.com(真实)
    @b.net                @b.net

    postalias /etc/aliases      
    portmap /etc/postfix/virtual 使别名域生效

    dns设置
    a.com         IN NS     127.0.0.1
    www           IN A       192.168.1.1
    mail.a.com    IN CNAME  www.a.com
    a.com        IN MX 10  mail.a.com

    ------------------------------------------------------------
    SMTP认证   (简单邮件传输协议)
    提供邮件的转发以及本地的分发功能
    cyrus sasl
    cyrus 主要提供saslauthd服务来进行帐号密码的对比操作

    安装cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5  等软件
    启动saslauthd服务

    设置main.cf让postfix可以与saslauthd联系
    vim /etc/postfix/main.cf
    smtpd_sasl_auth_enable=yes              启用smtp
    smtpd_sasl_local_domain=‘’            允许本地域使用sasl
    smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination  
    permit允许的网络不需要验证,reject      拒绝的网络需要通过验证后才转发
    broken_sasl_auth_clients=yes            打破客户端验证,使客户端只使用sasl方式验证登录    
    smtpd_client_restrictions=permit_sasl_authenticated  客户端限制,只允许sasl方式的验证
    smtpd_sasl_security_options=noanonymous 取消登录(禁止匿名登录)
    saslauthd -v                            查看可使用的密码验证方式
    testsaslauthd -u cyrus -p ‘123456’    测试saslauthd认证功能

    设置saslauthd的认证机制
    vim /etc/sysconfig/saslauthd
    MECH=shadow

    --------------------------
    安装pop3  
    dovecot perl-DBI mysql
    编辑pop3主配置文件开启pop3服务器:
    vim /etc/dovecot.conf
    protocols=pop3 pop3s
    protocol pop3{listen=*:10100}
    /etc/init.d/dovecot start


    ----------------------------
    安装 imap
    cyrus-imapd-perl cyrus-imapd-utils db4-utils lm_sensors cyrus-imapd cyrus-imapd-devel
    将postfix与cyrus-imapd整合在一起
    vim /etc/postfix/main.cf
    mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp
    /etc/init.d/cyrus-imapd start

    --------------------------------------------------------------------



    创建用户
    password cyrus   给cyrus管理员账户设置密码
    useradd test
    passwd -d test
    cyradm -u cyrus localhost
    cm user.test                 创建用户
    cm user.test.Send            发件箱
    cm user.test.Trash           收件箱
    cm user.test.Drafts          垃圾箱
    setquota user.test 5120     (设置邮箱配额大小,默认以k为单位)
    lm   列出与给定字符串
    cm   创建一个新的邮箱
    dm   删除一个邮件信箱及其下层的所有文件夹
    renm 为邮件信箱更名
    dam  删除用户访问邮件信箱的部分或全部权限
    lam  列出邮件信箱的访问权限列表
    sq   为邮件信箱设置配额  
    lq   列出邮件信箱的配额  

    su -l cyrus -c /usr/lib/cyrus-imapd/quota  查看邮箱配额






    web方式收发邮件  (squirrelmail)
    安装
    php-mbstring
    squirrelmail
    配置工具  配置域名,smtp,语言,
    /usr/share/squirrelmail/config/conf.pl
    2 ;   1;   123.com; 3 ;  2;  s;   r
    10;  1;  zh_CN;  2; gb2312 ;  s;  r
    4;    5;   y;  s;   r
    D; cyrus;s;  q





    客户端在寄信时设置“邮件主机认证”功能

    设置saslauthd的认证机制
    vim /etc/sysconfig/saslauthd
    MECH=shadow





     

关键字