zoukankan      html  css  js  c++  java
  • 16、简单自制邮件服务器

    1、协议服务:

         SMTP       tcp      25 端口      邮件存储和递送
         POP3       tcp      110 端口     用户读、写邮件


     

    2、服务器:  (SMTP   25 端口)
         sendmail     成熟,易配置
         postfix       AIX系统开发 (IBM)  所以Linux下  不易配置
         gmail          号称 处理速度快,能力强

    3、客户端:   (POP3  110 端口)
         文本:     mutt
          图形:    foxmail     evolution

    一、 配置mail域名服务器

    [root@localhost root]#  vi   /var/named/gr.org.db

    $TTL 86400
    @  IN  SOA  ns.gr.org.    root.gr.org.(
                20140308 ;serial
                8H       ;refresh
                4M       ;retry
                1W       ;expiry
                1D  )    ;minimum
    @      IN   NS      ns.gr.org.
    ns     IN   A       192.168.170.1
    host1  IN   A       192.168.170.1
    host2  IN   A       192.168.170.2
    host3  IN   A       192.168.170.3
    @      IN   MX  10  mail.gr.org.
    mail   IN   A       192.168.170.1

    重启服务

    [root@localhost root]# rndc   reload

    测试

    [root@localhost root]# nslookup   -sil   mail.gr.org
    Server:         192.168.170.3
    Address:        192.168.170.3#53

    Name:   mail.gr.org
    Address: 192.168.170.1

    二、sendmail 配置

    1、看sendmail是否安装好

         [root@localhost root]# cd  /etc/mail
         [root@localhost mail]#  rpm  -q  sendmail
         sendmail-8.12.8-4

    (sendmail 配置  实验  关键步骤 :
               修改sendmail.mc ,再通过 m4  生成 sendmail.cf
               修改local-host-name 设置 收信的域
               access(访问控制) 通过 makemap  生成  access.db
               aliases 设置群发  通过 newaliases  生成  aliases.db
               service   sendmail   restart (重启服务)
         )

    2、配置核心文件:

        [root@localhost mail]# vi   /etc/mail/sendmail.mc

    更改地方如下面3个

    1) 侦听网段
    DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
    改为
    DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

    image

    2) 本地域名
    LOCAL_DOMAIN(`localhost.localdomain')dnl
    改为
    LOCAL_DOMAIN(`gr.org')dnl

    image

    3) 开启认证功能:
    把下面三行中行首的 dnl 去掉:

    dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')

    image
    dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

    image

    3、建立 /etc/mail/sendmail.cf
    [root@localhost mail]# m4  /etc/mail/sendmail.mc  >  /etc/mail/sendmail.cf

    4、设置收件的域
          [root@localhost mail]# vi    /etc/mail/local-host-names

    gr.org
    mail.gr.org

    5、建立组和用户

           [root@localhost mail]# groupadd   stu
           [root@localhost mail]# useradd   huji   -g   stu  -s  /sbin/nologin
           [root@localhost mail]# passwd   huji
           Changing password for user huji.
           New password:
           BAD PASSWORD: it is based on a dictionary word
           Retype new password:
           passwd: all authentication tokens updated successfully.
           [root@localhost mail]# useradd   stu   -g   stu   -s   /sbin/nologin
           [root@localhost mail]# passwd    stu
           Changing password for user stu.
           New password:
           BAD PASSWORD: it is based on a dictionary word
           Retype new password:
           passwd: all authentication tokens updated successfully.

         [root@localhost root]# useradd   wuji   -g   stu  -s  /sbin/nologin
         [root@localhost root]# passwd wuji
         Changing password for user wuji.
         New password:
         Retype new password:
         passwd: all authentication tokens updated successfully.


     

    6、设置群发别名:
           [root@localhost mail]#  vi   /etc/aliases
           添加两行:
           root: root,yanji
           stu:  yanji,wuji,huji

    7、生成 aliases.db 数据库:

    [root@localhost mail]# newaliases   /etc/aliases:  64 aliases
    /etc/aliases: 65 aliases, longest 15 bytes, 657 bytes total

    8、设置访问控制:
           [root@localhost mail]# vi   /etc/mail/access
           192.168.170.0/24                RELAY
           gr.org                                 RELAY
           mail.gr.org                           RELAY

    9、更新 aliases.db 数据库
           [root@localhost mail]#  makemap  -r  hash  /etc/mail/access.db  <  /etc/mail/access

    10、重启服务
           [root@localhost mail]# service  sendmail   restart
           关闭 sendmail:                                            [  确定  ]
           关闭 sm-client:                                           [  确定  ]
           启动 sendmail:                                            [  确定  ]
           启动 sm-client:                                           [  确定  ]

    现在来测试

    方法一、

    发邮件:(给yanji写信  主题:Greet  内容:Hello, yanji.)
          [root@localhost mail]# echo  "Hello, yanji." | mutt   -s   "Greet"   yanji@gr.org

    查看邮件
         [root@localhost mail]# su  - yanji
         [yanji@localhost yanji]$ zh
         [yanji@localhost yanji]$ mutt

    image

    yes,回车

    image


     

    方法二、

    在Windows用foxmail验证

    [root@localhost root]# chkconfig  ipop3  on
    [root@localhost root]# service   xinetd  restart
    停止 xinetd:                                              [  确定  ]
    启动 xinetd:                                              [  确定  ]

    禁用本地连接,不让上网。  把VMware8  的DNS服务器指定为 192.168.170.3.

    image

    foxmail新增yanji帐号

    image

    image

    image

    image

    image

    群发

    先创建huji 和wuji的帐号

    image

    发邮件给stu,就会给这个stu组 所有的成员发邮件

    [root@localhost root]# echo  "Hello, student."  | mutt  -s  "Greet" stu@gr.org 

    验证如下

    image

  • 相关阅读:
    性能相差7千倍的ToString方法
    重构打造爱因斯坦谜题最快算法
    Windows Phone 7将胜出的五条论据
    让火狐狸遨游起来
    What's your understanding about RIA?
    [English Practise]Action when meeting a problem at work
    linux socket编程
    nginx服务器的配置
    要搬到csdn了
    搭建一个全栈式的HTML5移动应用框架
  • 原文地址:https://www.cnblogs.com/weiapro/p/4767721.html
Copyright © 2011-2022 走看看