Linux-企业邮件部署

一、邮件概述

电子邮件服务器是处理邮件交换的软硬件设施的总称,包括电子邮件程序、电子邮箱等。为用户提供基于 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
 #修改监听地址和访问控制为 any
 options {
        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       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      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/html
	 scriptalias /extman/cgi /var/www/extsuite/extman/cgi
	 alias /extman /var/www/extsuite/extman/html
	 suexecusergroup 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


  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,部署企业邮件服务可以使用Dovecot作为IMAP和POP3电子邮件服务的开源服务程序。Dovecot具有安全性高、配置简单、执行速度快和占用较少服务器硬件资源的优点,因此是一个值得推荐的收件服务程序。 在部署企业邮件服务时,可以使用Postfix和Dovecot服务程序来配置电子邮件系统服务。Postfix是一种邮件传输代理(MTA),负责将邮件从发件人发送到邮件服务器。而Dovecot是一种邮件交付代理(MDA),负责将邮件服务器交付给收件人的邮箱。通过配置Postfix和Dovecot,可以实现企业邮件的收发功能。 此外,在部署过程中还可以设置用户别名,以帮助更好地控制和管理电子邮件账户以及信箱地址。用户别名可以将多个邮箱地址关联到同一个用户账户,方便管理和转发邮件。 总结起来,在Linux系统中部署企业邮件服务可以使用Dovecot作为IMAP和POP3电子邮件服务程序,并结合Postfix进行配置,同时可以设置用户别名来简化管理和转发邮件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux就该这么学_第15章 使用 Postfix 与 Dovecot 部署邮件系统](https://blog.csdn.net/tjjingpan/article/details/83411096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值