开发工具|Linux初级运维(二十五)——邮件服务器系统知识及服务器搭建

一、基础原理
1、邮件服务器是一种用来负责电子邮件收发管理的设备。比网络上免费的邮箱更加安全和高效,因此一直是企业公司的必备设备。

简单邮件传输协议(SMTP)是因特网电子邮件系统首要的应用层协议。它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。当一个邮件服务器从其他邮件服务器接收邮件消息时,它是作为SMTP服务器在运行。
POP3:Post Office Protocol

IMAP4: Internet Mail Access Protocol

SASL:Simple Authintication Secure Layer ,简单认证安全层

MTA:邮件传输代理,SMTP服务器

LDAP:Lightweight Directory Access Protocol

2、MTA:邮件传输代理,SMTP服务器

sendmail,UUCP

单体结构,SUID,配置文件语法(m4编写)

qmail

postfix:模块化设计,安全,跟sendmail兼容,效率高

exim:MTA

Exchange(Windows,异步消息协作平台)
3、MDA:

procmail

maildrop

4、MRA:

pop3,imap4

cyrus-imap

dovecot
5、MUA:

outlook express ,outlook

foxmail
thunderbird

evolution

mutt(文本界面)

6、webmail:

openwebmail

squirrelmail

extmail(extman)

二、搭建邮件服务器的部署软件
postfix +SASL(courier-authlib) + mysql发送邮件

Dovecot + mysql接受邮件

extamil+ extman+http网页显示

1、postfix的配置文件

postfix模块化:

master: /etc/postfix/master.cf

mail:/etc/postfix/main.cf

参数=值 :参数必须写在行的绝对行首,以空白开头的行被认为是上一行的延续

2、postconf:配置postfix

-d:显示默认的配置

-n:修改了得配置

-m:显示支持的查找表类型

-A:显示支持的SASL客户端插件类型

-e PARMATER-VALUE: 更改某参数配置信息,并保存至main.cf文件中

3、smtp状态码:

1XX:纯信息

2XX:正确

3XX:上一步操作尚未完成,需要继续补充

4XX:暂时性错误

5XX:永久性错误
4、smtp协议命令:

hello (smtp协议)

ehllo(esmtp协议)

mail from

rcpt to

三、实验环境
1、硬件环境:

Linux服务器一台,IP地址:172.28.5.159

Window系统一台,做测试使用,需要安装outlook,并与服务器在同一个局域网内

2、服务器操作系统


四、搭建邮件服务器内容如下:
1、搭建DNS服务器

2、搭建postfix服务器及普通发信

3、普通收信

4、认证收信

5、squirrelmail收发邮件 (搭建网页收发邮件)

6、邮件群发功能配置

【开发工具|Linux初级运维(二十五)——邮件服务器系统知识及服务器搭建】7、邮件发送容量大小配置

8、通过配置用户磁盘配额实现限制用户邮箱空间

五、配置步骤
1、搭建DNS服务器

(1)安装DNS服务

yum install bind -y

(2)修改主配置文件

vim /etc/named.conf


(3)检查语法错误
named-checkconf
(4)配置区域配置文件

vim /etc/named.rfc1912.zones
在文件末尾加入以下内容:


检查语法错误:named-checkconf

(5)区域数据文件配置


复制文件添加-P 表示复制过来的文件保持权限不变。

vim melvin1.com.zone


(6)创建反向区域数据配置文件

cp -p named.localhost melvin1.com.local

vim melvin1.com.local

named-checkconf检查语法错误

(7)重启服务,进行验证


(8)设置服务器域名并进行解析验证

vim /etc/resolv.conf

解析验证:


2、搭建postfix并配置基本发信功能
(1)验证是否支持cyrus dovecot功能

postconf -a

(若postfix已安装好,则会支持这两个功能,若不支持,表示postfix未安装好;CentOS 7开始默认系统自带postfix。)
systemctl start postfix# 启动postfix服务

(2)配置主配置文件

vim /etc/postfix/main.cf

修改以下内容信息:
myhostname=mail.melvin1.com邮件服务器的主机名

mydomain=melvin1.com邮件域

myorigin=$mydomain往外发邮件的邮件域

inet_interfaces=172.28.5.159, 127.0.0.1监听的网卡 (注意,两个地址之间有空格)

mydestination=$myhostname, $mydomain服务的对象

home_mailbox=maildir/邮件存放的目录

保存以上的修改并退出。

检查语法是否正确:postfix check

(3)重启服务并查看postfix


(4)增加邮件测试账号


(5)连接服务器25号端口进行简单发信测试

[root@localhost ~]# telnet mail.melvin1.com 25
Trying 172.28.5.159...连接成功
Connected to mail.melvin1.com.
Escape character is '^]'.
220 mail.melvin1.com ESMTP Postfix
helo mail.melvin1.com声明本机的主机
250 mail.melvin1.com
mail from:melvin@melvin1.com声明发件人地址
250 2.1.0 Ok
rcpt to:tom@melvin1.com声明收件人地址
250 2.1.5 Ok
data写正文
354 End data with .
I am melvin !!!
.正文结束标记

quit退出

3、收信验证

方法一: 搭建dovecot 提供收信服务

yum install -y dovecot安装dovecot软件


修改配置文件:vim /etc/dovecot/dovecot.conf

protocols = imap pop3lmtp

listen = *,::

!include conf.d/*.conf
在最后添加以下信息:
ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
然后重启 dovecot 服务: systemctl restart dovecot


收信验证:

telnet mail.melvin1.com 110

user tom//收件人

passpassword//邮箱密码

list//列表查看邮件

retr1//读取编号为1的邮件

quit//退出邮箱


方法二: 使用win系统上的邮箱客户端系统进行收信验证

打开foxmail程序,更改账户配置。


4、发信认证部分:

(1)编辑认证文件:

yum install -y cyrus-sasl*安装cyrus-sasl 软件
vim /etc/sasl2/smtpd.conf

vim /etc/sysconfig/saslauthd

o
启动服务:

systemctl start saslauthd
systemctl enable saslauthd

(2)编辑postfix主配置文件,添加以下信息:

vim /etc/postfix/main.cf



添加完成后,检查语法错误:postfix check

重启postfix服务:systemctl restart postfix
(3)测试普通发信验证


(4)将邮件用户名和密码生成密文


(5)字符终端测试认证发信:

telnet mail.melvin1.com 25

ehlo mail.melvin1.com//注意是ehlo不是helo

auth login//认证登录

bWVsdmlu加密用户名
cGFzc3cwcmQ=加密的密码

发送成功,能够往外发送邮件了。
5、配置squirrelmai收发邮件(小松鼠网页浏览邮箱)

(1)安装httpd, mariadb, php 服务
yum install -y httpd
yum install -y mariadb-server mariadb
yum install -y php
yum install -y php-mysql
yum install -y php-gd
yum install -y libjpeg*
yum install -y php-ldap
yum install -y php-odbc
yum install -y php-pear
yum install -y php-xml
yum install -y php-xmlrpc
yum install -y php-mhash
(2)编辑Apache 主配置文件

vim /etc/httpd/conf/httpd.conf修改内容如下:

ServerName mail.melvin1.com

DirectoryIndex index.htmlindex.php

(3)编辑PHP主配置文件

vim /etc/php.ini修改内容如下:

date.timezone=PRC

(4)启动服务并查看端口


(5)网页测试,浏览器输入: 172.28.5.159
(6)、编辑mysql数据库安全配置


(7)编辑php测试文件

vim /var/www/html/index.php



(8)编辑mysql数据库

进入数据库,建立授权账号

mysql -u root -p然后输入数据库密码


创建数据库等相关信息:


测试数据库工作是否正常:

vim /var/www/html/index.php


浏览器输入地址,进行测试:


(9)下载小松鼠网页邮箱安装包:

下载网址:http://www.squirrelmail.org/download.php

上传至邮件服务器:


(10)解压:

tar xzvf squirrelmail-webmail-1.4.22.tar.gz解压安装包
tar xzvf all_locales-1.4.18-20090526.tar.gz -C squirrelmail-webmail-1.4.22将汉化包解压到安装包文件里
cp -rv squirrelmail-webmail-1.4.22 /var/www/html/mail复制文件到http默认目录下
cd /var/www/html/mail/

ls


(11)创建网页邮箱默认配置文件


(12)编辑配置文件:

vim config.php,修改以下内容:


(13)网页验证测试: 172.28.5.159/mail


6、邮件群发配置
(1)设置邮件组
vim /etc/aliases添加以下信息:
student:melvin,tom

保存退出后,生成新的hash数据库文件:newaliases

(2)重启postfix服务

systemctl restart postfix

(3)添加lucy邮件测试用户


(4)使用客户端用lucy用户给student组发送邮件



















转载于:https://blog.51cto.com/5001660/2377785

    推荐阅读