• Mail搭建


    Mail搭建

    一、本章结构

    1、postfix概念与原理

    2、postfix配置文件解析

    3、邮件服务器端配置与客户端使用

    4、垃圾邮件过滤

    5、邮件自动回复

    二、邮件服务器概述

    1、邮件服务器概念

    电子邮件服务器是处理邮件交换的软硬件设施设施的总称,包括电子邮件程序、电子邮件箱等。它是为用户提供基于E-mail服务的电子邮件系统,人们通过访问服务器实现邮件的交换。

    2、常见的邮件服务器

    Sendmail、Qmail、Postfix、Zmailer (linux)

    Exchange、Notes/Domino (windows)

    Coremail、U-mail

    3、邮件系统角色

    MUA(邮件用户代理)

    MTA(邮件传输代理)

    MDA(邮件分发代理)

    4、邮件应用协议

    SMTP:简单邮件传输协议,TCP 25端口,加密时使用TCP 465端口

    POP3:第3版邮局协议,TCP 110端口,加密时使用995端口

    IMAP4:第4版互联网消息访问协议,TCP 143端口,加密时使用993端口

    5、邮件服务器的原理

    三、postfix服务器配置

    1、安装dns

    # yum -y install bind

    # vim /etc/named.conf

    # cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

    # vim /etc/named.rfc1912.zones

    # cd /var/named/

    # cp -p named.empty taobao.empty

    # cp -p named.localhost taobao.localhost

    # vim taobao.localhost

    # vim taobao.empty

    # service named start

    注意:万一在启动dns时,卡在:Generating /etc/rndc.key,可以通过以下方法解决:

    #rndc-confgen -r /dev/urandom -a

    然后再重启DNS服务:service named start

    2、postfix配置

    # vim /etc/postfix/main.cf

    mydomain = taobao.com #打开和修改这几个选项

    myorigin = $myhostname

    myorigin = $mydomain

    inet_interfaces = all

    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

    home_mailbox = Maildir/

    # service postfix restart

    # useradd wdd

    # passwd wdd

    # useradd user1

    # passwd user1

    # vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DNS=192.168.131.136

    # service network restart

    3、测试是否能发送邮件

    ①# yum -y install mailx #安装mail命令

    # su – wdd

    $ echo "hello man,I am wdd" | mail -s "hello" user1

    $ exit

    #cd /home/user1/

    #dir

    # cat new/1442110610.Vfd00I600e3M896778.myrhel4

    ②也可以这样子进行测试

    # yum -y install telnet

    # ls /home/user1/Maildir/new/

    4、测试是否能接收邮件

    # yum -y install dovecot*

    # service dovecot start

    四、案例2:企业级邮件搭建

    1、安装准备运行环境

    ①# yum -y install httpd mysql mysql-server mysql-devel php php-mysql

    ②# service httpd start

    ③# service mysqld start

    ④测试是否安装成功

    # vim /var/www/html/index.php

    <?php

    phpinfo();

    ?>

    在浏览器输入http://192.168.131.136/index.php看到相关页面即安装成功

    2、安装DNS

    # yum -y install bind bind-utils

    # vim /etc/named.conf

    # vim /etc/named.rfc1912.zones

    # cd /var/named/

    # cp -p named.empty extmail.empty

    # cp -p named.localhost extmail.localhost

    # vim extmail.localhost

    # vim extmail.empty

    # service named start

    注意:万一在启动dns时,卡在:Generating /etc/rndc.key,可以通过以下方法解决:

    #rndc-confgen -r /dev/urandom -a

    然后再重启DNS服务:service named start

    3、使用extmail自带模板在mysql中创建数据库

    # yum -y install mailx

    # tar xf extmail-1.2.tar.gz

    # tar xf extman-1.1.tar.gz

    # mv extmail-1.2 /var/www/extsuite/extmail

    # mv extman-1.1 /var/www/extsuite/extman

    # cd /var/www/extsuite/extman/docs/

    # vim init.sql # service mysqld start #启动初始化数据库

    # mysql < extmail.sql #导入extmail自带数据库

    # mysql < init.sql 导入extmail的测试账户
    4、配置postfix支持虚拟域

    # cd /var/www/extsuite/extman/docs/

    # cp mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/

    # useradd -u 600 vmail

    # vim /etc/postfix/main.cf

    #其他选项保持默认不要动,否则下面测试会出错,这是要特别注意的

    inet_interfaces = all

    virtual_mailbox_base = /home/vmail

    virtual_uid_maps = static:600

    virtual_gid_maps = static:600

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

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

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

    测试是否正常

    # echo "hello world" | mail -s "test" support@extmail.org

    # cd /home/vmail/

    # dir

    extmail.org  目录存在则postfix配置成功,否则不要进行下一步操作

    5、配置MDA(dovecot)

    #yum install dovecot dovecot-mysql –y

    #cd /etc/dovecot/conf.d/

    #vim 10-mail.conf 

    mail_location = maildir:/home/vmail/%d/%n/Maildir 

    #邮件收取配置,这里采用mairdir形式 24行
    first_valid_uid = 600 167行

       #vim 10-auth.conf
       !include auth-sql.conf.ext  去掉注释 120行

    #  cd ../

    # find / -name dovecot-sql*

    /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext

    # cp /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext ./

    # vim dovecot-sql.conf.ext

    driver =mysql 29行

    connect =  host=localhost dbname=extmail user=extmail password=extmail 63行
    default_pass_scheme = MD5 73行
    password_query = 102行
            SELECT username, domain, password
            FROM mailbox WHERE username = '%u' and domain = '%d'
     user_query = SELECT maildir, 600 AS uid, 600 AS gid FROM mailbox WHERE username = '%u' 120行
    启动dovecot进行测试

    #/etc/init.d/dovecot start

    #telnet localhost 110

    6、配置web界面

    ①#   vim /etc/httpd/conf/httpd.conf

    NameVirtualHost *:80 #apache2.2要使虚拟主机生效一定要打开这个选项

    <VirtualHost *:80>
          ServerName www.extmail.org
          DocumentRoot /var/www/html
    </VirtualHost>

    <VirtualHost *:80>
          ServerName mail.extmail.org
          DocumentRoot /var/www/extsuite/extmail/html/
          ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
          Alias /extmail /var/www/extsuite/extmail/html
          ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
          Alias /extman /var/www/extsuite/extman/html
          SuexecUserGroup vmail vmail
    </VirtualHost>

    ②cd /var/www/extsuite/extmail
        chown vmail.vmail cgi/ -R 
       cp webmail.cf.default webmail.cf
       vim webmail.cf
         SYS_MAILDIR_BASE = /home/vmail 127行
         SYS_MYSQL_USER = extmail 139行
         SYS_MYSQL_PASS = extmail
         SYS_CRYPT_TYPE = plain 136行
       cd /var/www/extsuite/extman
       chown vmail.vmail cgi/ -R
       cp webman.cf.default webman.cf
       vim webman.cf
         SYS_MAILDIR_BASE = /home/vmail 12行
         SYS_SESS_DIR = /tmp/ 18行
         SYS_CAPTCHA_LEN = 4 27行
         SYS_CRYPT_TYPE = plain 124行

    7、启动httpd进行测试操作

    #service httpd restart
    将客户端的DNS改为:192.168.131.136,在浏览器输入http://mail.extmail.org/extmail/cgi/index.cgi

    1. 如果出现找不到CGI,则安装CGI程序

    # yum -y install *CGI
    ②如果找不到Unix-Syslog,则安装perl-ExtUtils-MakeMaker,gcc

    # yum -y install perl-devel #注意报错的话安装这个
    # tar zxf Unix-Syslog-1.1.tar.gz 
     #cd Unix-Syslog-1.1
     #perl Makefile.PL
     #make test
    #make install 

    1. 如果在新用户注册时,出现验证码显示不正常则:

    # yum -y install perl-GD-2.44-3.el6.x86_64.rpm

    最后打开界面如下图所示,输入正确的用户名postmaster和密码extmail即可。

    在浏览器输入http://mail.extmail.org/extman/cgi/index.cgi,则可以进入管理界面,输入用户名root@extmail.org和密码123456,登录即可。

    support是postmaster的别名,也就是它们其实是同一个用户。

    这样就可以在web界面注册用户,进行收发邮件了。

    另外有时要注意系统时间,特别是用虚拟机的,有时系统时间与软件包的时间相比较旧,导致时间上的问题,可以用# ntpdate cn.pool.ntp.org或者date –s 20150925更新一下时间。

     

     

  • 相关阅读:
    LOJ#6031. 「雅礼集训 2017 Day1」字符串
    LG P4768 [NOI2018] 归程
    LG P3250 [HNOI2016]网络
    BZOJ4644 经典傻逼题
    LG P4373 [USACO18OPEN]Train Tracking P
    CF1375H Set Merging
    LG P6541 [WC2018]即时战略
    CF1097G Vladislav and a Great Legend
    python学习笔记-基本概念
    python学习笔记十-文件操作
  • 原文地址:https://www.cnblogs.com/fengyutech/p/4937396.html
Copyright © 2020-2023  润新知