zoukankan      html  css  js  c++  java
  • 使用Postfix和Dovecot收发电子邮件

    邮件应用协议包括:

    1. 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口。
    2. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口。
    3. 第四版互联网信息访问协议(IMAP4),用于在本地主机上访问邮件,占用tcp 143端口。

    搭建企业级的电子邮件系统,请考虑下面几点:

      反垃圾与反病毒模块:阻止垃圾邮件或病毒邮件对企业邮箱的干扰。
      邮件加密:保证邮件内容不被嗅探、篡改。
      邮件监控审核:监控全体职员邮件中有无敏感词,透露企业资料等。
      稳定性:有较好的防DDOS攻击的能力,保证系统在线率等。             

             

    部署基础电子邮局系统

      单独的使用Postfix服务程序并不能让用户完成收发邮件的操作,因为一个基础的电子邮局系统至少需要有SMTP服务器、POP3/IMAP服务器

    配置本地主机名

    [root@mail ~]# vim /etc/hostname 
    
    mail.scott.com

    增加A记录和MX记录

    查看使用Bind搭建DNS服务

    若要为用户提供scott的电子邮局系统,则需先在DNS服务器中增加A记录和MX记录:

      

    修改本机的DNS地址

    [root@mail ~]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    search scott.com
    nameserver 192.168.0.85

     

    配置Postfix服务程序

    停止iptables防火墙:

    systemctl disable iptables 

    红帽RHEL7系统中默认已安装postfix邮局服务程序:

    复制代码
    yum install postfix
    Loaded plugins: langpacks, product-id, subscription-manager
    rhel7 | 4.1 kB 00:00
    (1/2): rhel7/group_gz | 134 kB 00:00
    (2/2): rhel7/primary_db | 3.4 MB 00:00
    Package 2:postfix-2.10.1-6.el7.x86_64 already installed and latest version
    Nothing to do
    复制代码

     Postfix邮局服务程序的配置文件如下:

    文件 作用
    /usr/sbin/postfix 主服务程序
    /etc/postfix/master.cf master主程序的配置文件。
    /etc/postfix/main.cf postfix服务的配置文件。
    /var/log/maillog 记录邮件传递过程的日志。

    第1步:查看Postfix服务程序主配置文件:

    编辑Postfix服务程序的主配置文件(修改5处参数,另外需要将参数前面的井号(#)去掉才可生效):

    复制代码
    [root@mail~] # vim /etc/postfix/main.cf
    //修改第76行的邮局主机名。
    myhostname = mail.scott.com
    //修改第83行的邮局域名。
    mydomain = scott.com
    //修改第99行的寄出邮件域名,$mydomain的值已在上面定义。
    myorigin = $mydomain
    //修改第116行的监听网卡。
    inet_interfaces = all
    //修改第164行的可接收邮件的主机名和域名。
    mydestination = $myhostname, $mydomain
    复制代码

    第2步:创建邮局帐号:

    [root@mail~] # useradd boss
    [root@mail~] # echo "123456" | passwd --stdin boss
    Changing password for user boss. passwd: all authentication tokens updated successfully.

    第3步:启动Postfix服务程序:

    [root@mail~] # systemctl restart postfix
    [root@mail~] # systemctl enable postfix
    ln -s '/usr/lib/systemd/system/postfix.service' '/etc/systemd/system/multi-user.target.wants/postfix.service'

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

    在qq邮箱中查看:

     如果查收不到记得给该域加入QQ邮箱的白名单。

    配置Dovecot服务程序

    第1步:安装Dovecot服务程序:

    复制代码
    [root@mail~] # yum install dovecot -y
    Loaded plugins: langpacks, product-id, subscription-manager
    ………………省略部分安装过程………………
    Installing: dovecot x86_64 1:2.2.10-4.el7 rhel7 3.2 M
    Installing for dependencies: clucene-core x86_64 2.3.3.4-11.el7 rhel7 528 k
    ………………省略部分安装过程………………
    Complete!
    复制代码

    第2步:修改Dovecot程序主配置文件:

    复制代码
    [root@mail~] # vim /etc/dovecot/dovecot.conf
    //修改第24行的支持邮局协议。
    protocols = imap pop3 lmtp
    //然后追加允许明文认证(25行)。
    disable_plaintext_auth = no
    //修改第48行的允许登陆网段地址,全部允许即为(0.0.0.0/0)。
    login_trusted_networks = 192.168.0.0/24
    复制代码

    第3步:配置邮件的格式与存储路径。<
    编辑dovecot的配置文件(将第25行的注释符(#号)去掉):

    [root@mail~] # vim /etc/dovecot/conf.d/10-mail.conf
    mail_location = mbox:~/mail:INBOX=/var/mail/%u

    第4步:创建邮件的存储目录:

    [root@mail~] # su - boss
    Last login: Sat Aug 15 16:15:58 CST 2015 on pts/1
    [boss@mail ~]$ mkdir -p mail/.imap/INBOX

    第5步:启动Dovecot服务程序:

    [root@mail~] # systemctl restart dovecot
    [root@mail~] # systemctl enable dovecot
    ln -s '/usr/lib/systemd/system/dovecot.service' '/etc/systemd/system/multi-user.target.wants/dovecot.service'

    用户使用邮局系统

     修改客户机的DNS地址为本地的DNS服务器地址

    在Foxmail中登录boss用户

     用该用户发一封邮件给root用户

    登录root用户,查收邮件:

    复制代码
    root@mail ~]# mail
    Heirloom Mail version 12.5 7/5/10.  Type ? for help.
    。。。。。。。。。。
    >N  7 boss@scott.com        Thu Jan 19 17:41  44/1580  "测试"
     N  8 boss@scott.com        Thu Jan 19 17:51  46/1743  "测试邮件"
    & 8
    Message  8:
    From boss@scott.com  Thu Jan 19 17:51:45 2017
    Return-Path: <boss@scott.com>
    X-Original-To: root@scott.com
    Delivered-To: root@scott.com
    Date: Thu, 19 Jan 2017 17:54:00 +0800
    From: "boss@scott.com" <boss@scott.com>
    To: root <root@scott.com>
    Subject: 测试邮件
    X-Priority: 3
    X-Has-Attach: no
    X-Mailer: Foxmail 7, 2, 7, 21[cn]
    Content-Type: multipart/alternative;
        boundary="----=_001_NextPart160336538781_=----"
    Status: R
    
    Content-Type: text/plain;
        charset="GB2312"
    
    如果收到这封邮件就代表邮局系统实验成功了。
    
    
    
    boss@scott.com
  • 相关阅读:
    IO 单个文件的多线程拷贝
    day30 进程 同步 异步 阻塞 非阻塞 并发 并行 创建进程 守护进程 僵尸进程与孤儿进程 互斥锁
    day31 进程间通讯,线程
    d29天 上传电影练习 UDP使用 ScketServer模块
    d28 scoket套接字 struct模块
    d27网络编程
    d24 反射,元类
    d23 多态,oop中常用的内置函数 类中常用内置函数
    d22 封装 property装饰器 接口 抽象类 鸭子类型
    d21天 继承
  • 原文地址:https://www.cnblogs.com/qczy/p/14097328.html
Copyright © 2011-2022 走看看