Redhat7.0下搭建邮件服务器(二)

来源:互联网 发布:java重载与多态 编辑:程序博客网 时间:2024/05/19 13:43

前言:上次简单的说明了邮件服务器的工作原理以及简单的配置邮件服务器实现两台linux主机互相发送邮件,这次再接着聊聊邮件服务器。

附上次博文链接:Redhat7.0下搭建邮件服务器(一)

概要:
1.Telnet
2.mutt
3.Thundbird
4.postfix+mysql+dovecot

一.Telnet

实验目的:使用telnet远程登陆目标主机并发送邮件。
实验环境:三台redhat7 linux主机。

1.telnet的简介

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。

  Telnet是常用的远程控制Web服务器的方法。但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。
 
2.telnet用法:

telnet  主机  端口

3.安装 telnet

yum install telnet -y

4.在第三台主机远程登陆192.168.239.235的25端口并给192.168.239.135的root用户发送邮件

这里写图片描述

ps:这里补充一下smtp的状态码:

1xx:纯信息2xx:正确3xx:上一步操作未完成,需要继续补充4xx:暂时性错误5xx:永久性错误

图中的状态码都是以2开头的,所以都没问题

下面我们去192.168.239.235去看看邮件队列:

这里写图片描述

然后再去192.168.239.135去看看:

这里写图片描述

此时邮件已经成功接收到,这只是实验,现实中还是不建议使用telnet,不安全。

二.mutt

mutt是linux下的一个email程序.而且功能相当强大:信件分类、排序、批量邮件处理、任选编辑器、高级的 MIME 支持、支持PGP加密,但是这些都不是这里要介绍的重点。

要实现能用mutt在远程收取目标主机的信件,首先要在收信端安装dovecot。
POP / IMAP 是 MUA 从邮件服务器中读取邮件时使用的协议。其中,与 POP3 是从邮件服务器中下载邮件存起来,IMAP4 则是将邮件留在服务器端直接对邮件进行管理、操作。而dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。

yum install dovecot -y
vim /etc/dovecot/dovecot.conf
这里写图片描述
第24行打开注释就好

这里写图片描述
第49行

vim /etc/dovecot/conf.d/10-mail.conf

这里写图片描述
第30行

改完后重启服务即可。然后去另一台主机安装mutt

yum install mutt -y

接下来就可以测试了:

mutt -f pop://tester@192.168.239.135
输入密码即可登录

这里写图片描述

三.Thundbird

Thunderbird是由Mozilla浏览器的邮件功能部件所改造的邮件工具,使用 XUL 程序界面语言所设计,是专门为搭配 Mozilla Firefox 浏览器使用者所设计的邮件客户端软件。

thundbird 作为MUA(邮件用户代理),其界面做的也是简洁明了,收发邮件也是相当方便。

我们这次使用的雷鸟是31.2.0-1版本的,安装包是提前下好的,直接解压安装即可。

安装好之后再终端输入thundbird即可打开客户端:

这里写图片描述

然后添加用户即可使用,上面我已经添加好用户,客户端的tester@client.com,接下来的操作就和windows很像了,发送和发送邮件。

四.postfix+mysql

我们现在要做的就是将邮件的用户相关信息存储到mysql数据库中,那在这之前,我想先说说mysql数据库的相关操作:

  • 连接mysql mysql –u user –p password

  • 修改登录密码 mysqladmin ­u 用户名 ­p 旧密码 password 新密码

  • 显示数据库 show databases;

  • 显示数据库中的表 use mysql; show tables;

  • 显示数据表的结构 describe 表名;

  • 显示表中的记录   select * from 表名;

  • 建库   create database 库名;

  • 建表 use 库名;create table 表名 (字段设定列表);

  • 增加记录 insert into name values(数据);

  • 修改纪录 update 表名 set …. where ….;

  • 删除纪录 mysql> delete from 表名 where ….;

  • 删库和删表    drop database 库名;   drop table 表名;

  • 增加MySQL用户 create user user1@localhost identified by“123”;

  • 给用户授权 grant select,insert,update,delete on aaa.* to user1@localhost ;

上面说了一些基础的操作:数据库、表的建立、以及表中数据的增删改查、以及增加用户和授权。

但是为了效率,我们一般不会在终端中使用mysql,都会借助第三方工具来管理数据库,这里我们用到的是phpMyadmin.

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

为了能在浏览器中访问到数据库,我们需要安装httpd、mariadb、php、php-mysql;

在搭建好apache(如何搭建apache服务)后,将phpMyadmin的包放在apache的默认目录下(/var/www/html/),
然后将安装目录下的 config.sample.inc.php 复制到当前目录,并改名为config.inc.php,然后再这个配置文件中的17行随便加个参数(配置cookie的环境)。然后就能在浏览器中访问mysql:

这里写图片描述

这里需要说的是刚安装好的mysql是没有密码的,需要我们安全初始化,
使用mysql_secure_installation 命令来初始化并设置密码。

然后再使用root身份登陆:

这里写图片描述

先给email创建一个数据库email
create database email;

再创建一张表emailuser
use email;
create table emailuser(
username varchar(50) notnull,
password varchar(50) notnull,
domain varchar(50) notnull,
maildir varchar(50) notnull);

接着在表中插入一条数据:
insert into emailuser values (’qiao@server.com‘,’qiao‘,’server.com‘,’/server.com/qiao/‘);

然后 我们给postfix在数据库中建立一个用户,并给他授权
create user postfix@localhost identified by “postfix”;
grant insert,select,update on email.* to postfix@localhost;

数据库这边的配置就到这,接下来开始配置postfix这边:

在/etc/postfix/ 创建三个文件分别如下:

这里写图片描述

接着给postfix加配置参数:

这里写图片描述

最后几行诗测试,如果能成功显示数据,就说明配置成功。

下来我们发邮件试试:

这里写图片描述

这里写图片描述

上面两张图说明我们虚拟邮件用户配置成功!

今天先说到这里 -.- !

1 1
原创粉丝点击