文章目录

  • 一、邮件概述
  • 二、邮件应用协议
  • 三、软件相关
  • 四、企业级邮件服务
    • 4.1 发送方配置
      • 4.1.1 DNS 搭建
      • 4.1.2 安装 gcc 以及其他依赖软件
      • 4.1.3 将 web 页面放到 Apache 的网页目录下
      • 4.1.4 将成品数据库文件导入到 MySQL 中(没设置密码,空密码登录)
      • 4.1.5 将邮件模板拷贝到邮件服务器的主目录下
      • 4.1.6 创建映射用户&修改配置文件
      • 4.1.7 重启服务&发送邮件测试&查看结果
    • 4.2 接收方配置
      • 4.2.1 安装 dovecot 相关软件
      • 4.2.2 配置 dovecot 能够去数据库里读数据
      • 4.2.3 重启 dovecot 验证是否能连接
    • 4.3 MAIL+WEB 页面
      • 4.3.1 修改/etc/httpd/conf/httpd.conf 配置文件,能加载邮件 web 页面
      • 4.3.2 extmail 目录中更改 cgi 的属组属主,让 vmail 有权限执行
      • 4.3.3 extman 中更改 cgi 的属组属主,让 vmail 有权限执行
      • 4.3.4 安装 Unix-Syslog 软件
      • 4.3.5 测试访问

一、邮件概述

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

类型 名称 特点
服务器端 Sendmail 资格最古老,运行稳定,但安全性欠佳
Postfix 采用模块化设计,在投递效率、稳定性、性能及安全性方面表现优秀,与 sendmail 保持足够的兼容性。
Qmail 采用模块化设计,速度快、执行效率高,配置稍微复杂点
客户端 Outlook 都是用来收邮件的客户端!
foxmail
浏览器

常见的邮件服务器

二、邮件应用协议

  • SMTP 简单邮件传输协议(发邮件)TCP 25 端口,加密时使用 TCP 465 端口
  • POP3 第三版邮局协议(收邮件)TCP 110 端口,加密时使用 TCP 995 端口
  • IMAP4 第四版互联网邮件访问协议(收邮件)TCP 143 端口,加密时使用 TCP 993 端口

三、软件相关

软件名: Postfix
主目录: /etc/postfix
主配置文件: main.cf
  myhostname:邮件服务器主机名
  mydomain:邮件域
  myorigin:设置允许发信的用户的邮件域
  mydestination:设置允许收信的用户的邮件域

四、企业级邮件服务

前提条件:要有一个 DNS 服务器,将准备好的软件包导入虚拟机

4.1 发送方配置

4.1.1 DNS 搭建

[root@localhost ~]$ yum -y install bind
[root@localhost ~]$ vim /etc/named.conf#修改监听地址和访问控制为 anyoptions {listen-on port 53 { any; };listen-on-v6 port 53 { ::1; };directory       "/var/named";dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query     { any; };.......
}[root@localhost ~]$ vim /etc/named.rfc1912.zones#使用 extmail.org 作为解析域,只保留正向解析即可zone "extmail.org" IN {type master;file "extmail.localhost";allow-update { none; };
};[root@localhost ~]$ vim /var/named/extmail.localhost#修改数据文件,如下
$TTL 1D
@       IN SOA  extmail.org. rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.extmail.org.MX 3    mail.extmail.org.
dns     A       192.168.88.30
mail    A       192.168.88.30

使用 nslookup 测试 dns 是否能解析

[root@localhost ~]$ service httpd start
[root@localhost ~]$ nslookup www.extmail.org

4.1.2 安装 gcc 以及其他依赖软件

[root@localhost ~]$ yum -y install gcc* mysql-server mysql httpd mailx
#启动 MySQL(Apache)并设置开机自启
[root@localhost ~]$ chkconfig mysqld on && chkconfig httpd on
[root@localhost ~]$ service mysqld start && service httpd start

4.1.3 将 web 页面放到 Apache 的网页目录下

软件包百度网盘:
链接:https://pan.baidu.com/s/1rQ7_9XU2xSsg691bp-QrPw 提取码:u1mi

[root@localhost ~]$ mkdir -p /var/www/extsuite
#创建一个单独的目录[root@localhost ~]$ tar -xf extmail-1.2.tar.gz -C /var/www/extsuite/
[root@localhost ~]$ tar -xf extman-1.1.tar.gz -C /var/www/extsuite/
#将 extmail 和 extman 解压到创建的目录中[root@localhost ~]$ cd /var/www/extsuite
[root@localhost ~]$ mv extmail-1.2/ extmail
[root@localhost ~]$ mv extman-1.1/ extman
[root@localhost ~]$ chown -R root.root *
#将两个解压后的目录去掉版本号,并修改文件归属

4.1.4 将成品数据库文件导入到 MySQL 中(没设置密码,空密码登录)

[root@localhost ~]$ cd /var/www/extsuite/
[root@localhost ~]$ mysql < ./extman/docs/extmail.sql
#将./extman/docs 中模板和数据导入到数据库中[root@localhost ~]$ vim ./extman/docs/init.sql
INSERT INTO `manager` VALUES (‘root@extmail.org’,’123456’,’admin’,’root’)
#将此文件中该位置的密码修改为 123456,切记先修改,再导入[root@localhost ~]$ mysql < ./extman/docs/init.sql

4.1.5 将邮件模板拷贝到邮件服务器的主目录下

[root@localhost ~]$ cd /var/www/extsuite/extman/docs/
[root@localhost ~]$ cp -a mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/

4.1.6 创建映射用户&修改配置文件

[root@localhost ~]$ useradd -u 600 -s /sbin/nologin vmail
[root@localhost ~]$ vim /etc/postfix/main.cf
inet_interfaces = all #将此选项取消注释
#inet_interfaces = localhost #将此选项注释掉
#在尾部添加下列内容
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_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.c

4.1.7 重启服务&发送邮件测试&查看结果

[root@localhost ~]$ service postfix restart
[root@localhost ~]$ echo "hello" | mail -s test support@extmail.org
[root@localhost ~]$ ls /home/vmail/extmail.org/postmaster/Maildir/new/

启动报错
Nov 12 04:21:29 centos6 postfix[2431]: warning: valid_hostname: numeric hostname: 8
Nov 12 04:21:29 centos6 postfix[2431]: fatal: file /etc/postfix/main.cf: parameter mydomain: bad parameter value: 8

解决办法
修改配置文件
/etc/postfix/main.cf 修改如下内容即可
myhostname = www.extmail.org
#myhostname = virtual.domain.tld

4.2 接收方配置

4.2.1 安装 dovecot 相关软件

[root@localhost ~]$ yum -y install dovecot dovecot-devel dovecot-mysql
[root@localhost ~]$ chkconfig dovecot on
[root@localhost ~]$ service dovecot start

4.2.2 配置 dovecot 能够去数据库里读数据

修改/etc/dovecot/conf.d/10-mail.conf
在配置文件中增加下列两行

[root@localhost ~]$ vim /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/home/vmail/%d/%n/Maildir #定义 dovecot 查询邮件的位置(顶头写)
first_valid_uid = 600

修改/etc/dovecot/conf.d/10-auth.conf

[root@localhost ~]$ vim /etc/dovecot/conf.d/10-auth.conf
!include auth-sql.conf.ext #取消调用数据库的记录注释

修改数据库连接配置文件(需要拷贝模板生成)

[root@localhost ~]$ cp -a /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext /etc/dovecot/ && cd /etc/dovecot
[root@localhost ~]$ vim dovecot-sql.conf.ext #将下列内容加入配置文件即可
driver = mysql
#驱动类型connect = host=localhost dbname=extmail user=extmail password=extmail
#连接数据库的信息default_pass_scheme = MD5
password_query = \
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'
#查询虚拟用户对应的邮箱目录

4.2.3 重启 dovecot 验证是否能连接

安装 telnet 客户端进行登录验证

[root@localhost ~]$ yum -y install telnet
[root@localhost ~]$ service dovecot restart[root@localhost ~]$ telnet mail.extmail.org 110
user postmaster@extmail.org #登录 postmaster 用户
pass extmail #密码是 extmail
retr 1 #查看第一封邮件

4.3 MAIL+WEB 页面

4.3.1 修改/etc/httpd/conf/httpd.conf 配置文件,能加载邮件 web 页面

[root@localhost ~]$ vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80 #取消注释,开启虚拟主机功能
#添加一下内容
<VirtualHost *:80>DocumentRoot /var/www/extsuite/extmail/html #默认访问路径位置ServerName mail.extmail.org #域名scriptalias /extmail/cgi /var/www/extsuite/extmail/cgi #目录别名alias /extmail /var/www/extsuite/extmail/htmlscriptalias /extman/cgi /var/www/extsuite/extman/cgialias /extman /var/www/extsuite/extman/htmlsuexecusergroup vmail vmail #映射用户
</VirtualHost>[root@localhost ~]$ httpd -t && service httpd restart

4.3.2 extmail 目录中更改 cgi 的属组属主,让 vmail 有权限执行

[root@localhost ~]$ cd /var/www/extsuite/extmail
[root@localhost ~]$ chown -R vmail.vmail cgi/
[root@localhost ~]$ cp -a webmail.cf.default webmail.cf
[root@localhost ~]$ vim webmail.cf
#修改如下内容
SYS_MAILDIR_BASE = /home/vmail #邮件存放目录
SYS_CRYPT_TYPE = plain #加密类型
SYS_MYSQL_USER = extmail #MySQL 用户名
SYS_MYSQL_PASS = extmail #MySQL 密码

4.3.3 extman 中更改 cgi 的属组属主,让 vmail 有权限执行

[root@localhost ~]$ cd /var/www/extsuite/extman
[root@localhost ~]$ chown -R vmail.vmail cgi/
[root@localhost ~]$ cp -a webman.cf.default webman.cf
[root@localhost ~]$ vim webman.cf
SYS_MAILDIR_BASE = /home/vmail
SYS_SESS_DIR = /tmp
SYS_CAPTCHA_ON = 0 #1生产环境中开启,实验环境无法显示校验码
SYS_CRYPT_TYPE = plain

4.3.4 安装 Unix-Syslog 软件

解压缩 Unix-Syslog-1.1.tar.gz 软件,软件包前面百度网盘已提供

[root@localhost ~]$ cd /root/extmail && tar -zxvf Unix-Syslog-1.1.tar.gz
[root@localhost ~]$ cd Unix-Syslog-1.1
[root@localhost ~]$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Unix::Syslog[root@localhost ~]$ make && make install

4.3.5 测试访问

在浏览器上访问,windows 测试需要手动指向 dns 服务器
修改windoews的C:\Windows\System32\drivers\etc文件

192.168.88.30 mail.etxmail.org
#  ip地址        域名

浏览器输入http://mail.etxmail.org/访问,用户名postmaster@extmail.org,密码extmail
邮箱管理密码123456

Linux-企业邮件部署相关推荐

  1. linux 企业邮件服务器_什么是Linux服务器,为什么您的企业需要一个?

    linux 企业邮件服务器 IT组织努力通过提高生产率和提供服务的速度来交付业务价值,同时保持足够的灵活性以结合云,容器和配置自动化等创新技术. 无论是在裸机,虚拟机,容器,私有云还是公共云上运行的现 ...

  2. linux环境下企业基于域名访问的web于电子邮件服务器 论文,基于Linux平台的企业邮件服务器搭建...

    我失骄杨君失柳,杨柳轻飏直上重霄九.得道多助,失道寡助.身后有余忘缩手,眼前无路想回头.鸟宿池边树,僧敲月下门.想当年,金戈铁马,气吞万里如虎. 本文由418133804贡献 pdf文档可能在WAP端 ...

  3. 《Linux企业应用案例精解》一书已由清华大学出版社出版

    <Linux企业应用案例精解>简介 本书同时被×××国家科学图书馆.中国国家图书馆.首都图书馆.清华大学.北京大学等上百所国内综合性大学图书馆收录为馆藏图书,2013年本书远销到中国台湾地 ...

  4. Linux基础与部署

    Linux基础与部署 一.Linux概述[了解] Linux是一种操作系统.操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在" ...

  5. linux系统搭建局域网邮件,Linux局域网邮件服务器搭建

    随着企业信息化的普及,国内大部分企事业单位都有属于自己的局域网邮件服务器,如何在Linux局域网内搭建邮件服务器,实现邮件的收发.我们就给大家介绍一下怎样用U-Mail邮件服务器软件来搭建局域网邮件服 ...

  6. 如何在Linux系统上部署接口测试环境

    作为一名软件测试人员,部署测试环境是我们日常工作的一部分,今天就简单整理下接口测试环境部署的步骤,希望能够帮助到大家. 今天为大家整理的接口测试环境部署涉及到Tomcat,JDK和数据库.目前能够提供 ...

  7. Exchange Server 2013系列四:小企业邮件系统部署

    2019独角兽企业重金招聘Python工程师标准>>> Exchange Server 2013 SP1 系列四:小企业部署邮件服务器 杜飞 Exchange 服务器功能强大,不再只 ...

  8. Linux james邮件服务器的搭建

    Linux james邮件服务器安装 由于最近需要搭建邮件服务器,考虑到Linux服务器比较稳定所以系统选择了redhat5.4 64位的,邮件服务端用的是ApacheJames 前提工作: 1.   ...

  9. Day133.尚品汇:项目介绍、Linux软件环境部署、项目环境搭建、表设计

    目录 一.电商项目介绍 二.Linux 软件环境部署 三.项目环境搭建 1.Maven 回顾 2.ElasticSearch 四.关于表设计 首页分类表 一.电商项目介绍 我们为什么要讲电商? 1. ...

  10. 如何建立Linux企业托拉斯?

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> 在英语里面,所谓"托拉斯"(" Trus ...

最新文章

  1. DC-RC加固修补型砂浆
  2. Elasticsearch入门Demo(一)
  3. arm linux下 chkntfs,XPE开机自动扫描相关_Windows Embedded Standard 7 嵌入式定制的技术博客_51CTO博客...
  4. oracle云产品是什么意思,Oracle云端产品线也要AI化,ERP云等4大主力云产品先升级...
  5. python基础一入门必备知识-Python数据分析入门必备基础知识
  6. c语言吧百度贴吧经典100例,C语言程序设计经典100例
  7. 科大星云诗社动态20211205
  8. 关于技术文章“标题党”一事我想说两句
  9. 更新10_linux,时隔十年,QQ更新了Linux版本
  10. IIS之错误解决之道
  11. 读SUCH AMERCAN和贾平凹的画集
  12. opencv特效编辑之雕刻效果
  13. Python游戏编程入门-打飞机
  14. 富士通Fujitsu DPK8510E 打印机驱动
  15. Borůvka (Sollin) 算法求 MST 最小生成树
  16. 干货 | 京东云弹性伸缩功能实践
  17. saas商城跟源码商城对比优势在哪里
  18. 软件测试行情前景,你可以做测试多久?到底能干到多少岁?
  19. Python炫技操作:花式导包的八种方法
  20. lc谐振计算机网络,LC谐振频率的测试方法和基本原理

热门文章

  1. sklearn可视化不同数据划分方法的差异:KFold, ShuffleSplit,StratifiedKFold, GroupKFold, StratifiedShuffleSplit.......
  2. R语言dplyr包cumall函数、cumany函数和cummean函数实战
  3. 统计简单学_正态分布
  4. 如何理解PacBio的准确度?
  5. STM32-USART发送程序
  6. 树莓内核驱动io框架
  7. linux内核空间open,Linux内核源码分析 - open
  8. pip install skimage安装skimage库出错的解决办法
  9. 从LeetCode 679. 24 Game--C++ 解法--二十四点 到穷举24点所有可能性-24点大全
  10. Python-logging报错解决:UnicodeEncodeError: 'gbk' codec can't encode character '\u' in position: illegal