环境:本服务是建立在第一篇的基础之上的,最好搭建好第一篇

玩此服务的前提是你的系统装好了msql和postfix服务。

Postfix+mysql主要是把邮件服务的发与mysql结合使用。当然mysql要是一直是在命令行下使用也不是很方便对吧,下面我们来看linux图形化下mysql的使用:

下面的软件包。

phpMyAdmin-2.11.3-all-languages.tar.gz是以php的格式结合Apache通过网页的形式管理mysql

既然是使用网页管理mysql,当然很定得将这个软件包的目录放到apahce下面,对吧

我直接将软件包下载到/var/www/html下面。自行解压

首先解压这个软件包,这个软件包的名字好长,我们可以改个短点的名字。

# mv phpMyAdmin-2.11.3-all-languages phpmyadmin

切换到这个目录

然后我们查看安装步骤:

[root@rhce phpmyadmin]# vim INSTALL

 

phpMyAdmin - Installation

-------------------------

安装文件提示让我们去看这2个文件。

        Please have a look to the Documentation.txt or

        Documentation.html files.

我们打开Documentation.txt文件。

Vim Documentation.txt

找到快速安装Quick Install

第四步:4. Now you must configure your installation. There are two methods that can be

    used. Traditionally, users have hand-edited a copy of config.inc.php, but

    now a wizard-style setup script is provided for those who prefer a

    graphical installation. Creating a config.inc.php file is still a quick way

to get started and needed for some advanced features.英文下面还有这个文件要写入那些东西

这段话的意思:有2中方法:可以使用现有的文件拷贝一个config.inc.php。或是自己创建一个config.inc.php,要是自己创建,下面有你要在文件中写入的内容:

 

我们拷贝一个:

# cp config.sample.inc.php config.inc.php

然后修改参照第四步,我们虽然是拷贝,但只是模板,内容也要和它提示我们自己创建的一样。

我们打开config.inc.php文件,默认红色部分是空的,我们去快速安装第四部复制下面的代码粘贴到这。

$cfg['blowfish_secret'] = 'ba17c1ec07d65003'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Apache服务有了,我们还需要安装php软件包:

# yum install php php-mysql –y   //安装php一个是不够的还有php-mysql

重启mysqlhttpd服务:

之后在浏览器中输入:服务的ip/phpmyadmin 回车就ok了。

 

之后你会看到下面的界面,可以选择中文。登陆你的mysql数据库。

之后我创建一个westos库和一个date表。库和表名字可以随便,没必要非得照我写的

这个表的结构是由四部分构成:

然后我们在服务添加一个伪用户,就是不可以登陆系统的用户。

# useradd -u 700 -s /sbin/nologin vmail    

前面我们登陆数据库使用的是root,它的权限过大,一般只限root登陆本地数据库,我们重新给mysql指定一个email用户对westos库下的所有表有全部的权限。

>grant all on westos.* to email@'%' identified by 'email';

退出重新登录:使用email身份:可以看到它的有效库也只有westos

在表里插入:

把这几条写入postfix的配置文件main.cf。执行下面的命令就会写入main.cf

[root@redhat ~]# postconf -d | grep virtual

[root@redhat ~]# postconf -e "virtual_mailbox_base = /home/vmail"

[root@redhat ~]# postconf -e "virtual_uid_maps = static:700"

[root@redhat ~]# postconf -e "virtual_gid_maps = static:700"

邮箱的基本配置路径是/home/vmail

发送邮件所使用的虚拟用户uid=700 gid=700

下面我们要配置mysql的文件,使postfix读取文件时,会自动的去读取mysql的数据。

模板的路径:

/usr/share/doc/postfix-2.6.6/README_FILES/ MYSQL_README

Cd /etc/postfix   mysql的用户配置文件

vim users.cf

host = localhost

user = email

password = email

dbname = westos

select_field = username          “选择一个领域

table = date

where_field = username

 

       为了防止我们书写错误,可以使用命令进行校验:

 

#postmap -q "test@test.com" mysql:/etc/postfix/users.cf

test@test.com  //校验正确会出现相应的内容

 只有用户是不够的,我们发邮件还有域、邮箱等

[root@redhat postfix]# cp -p users.cf domain.cf  

[root@redhat postfix]# cp -p users.cf mailbox.cf

 

vim domain.cf

 

host = localhost

user = email

password = email

dbname = westos

select_field = domain

table = date

where_field = domain

 

vim mailbox.cf

 

host = localhost

user = email

password = email

dbname = westos

select_field = maildir

table = date

where_field = username    

 

校验上面文件书写的是否正确

[root@redhat postfix]# postmap -q "test.com" mysql:/etc/postfix/domain.cf

test.com

[root@redhatpostfix]#postmap-q"test@test.com"mysql:/etc/postfix/mailbox.cf

test.com/test/

 

再将这几天添加到postfix的主配置文件中:

[root@redhat ~]# postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/domain.cf"

[root@redhat ~]# postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf"

[root@redhat ~]# postconf -e "virtual_alias_maps = mysql:/etc/postfix/users.cf"

 

要是你的selinux是打开的就要做下面的:

 

[root@redhat ~]# getsebool -a | grep mysql

allow_user_mysql_connect --> off

mysql_connect_any --> off

[root@redhat ~]# setsebool -P allow_user_mysql_connect on

 

下面所有做的就是:

切换到/var/lib/mysql

rm -rf mysql.sock  //这个文件会记录你mysql之前的操作,我试过不删它重启服务,你测试时邮件依旧收不到

重启mysql服务

Mysql有两种连接方式:

1TCP/IP

2socket

mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用

例如你无须定义连接host的具体IP得,只要为空或localhost就可以。

在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。

因为你在my.ini中或my.cnf中改变端口后,mysql.sock是随每一次 mysql server启动生成的。已经根据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更

进行测试:

[root@redhat vmail]# mail test@test.com

Subject: nihao

dabendan

.

EOT

[root@redhat vmail]# mailq

Mail queue is empty

[root@redhat vmail]# ls

 test.com

<邮件服务postfix+mysql>MAIL第二篇的更多相关文章

  1. 小白两篇博客熟练操作MySQL 之 第二篇

    小白两篇博客熟练操作MySQL  之   第二篇 一. 视图 视图是一个虚拟表,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集, 并可以将其当做表来使用. s ...

  2. <postfix邮件服务下mysql的升级>

    本片服务的环境的红帽的企业版6.5 的,6.3的测试可能会略有不一样,不过方法大致是一样的. 当前系统的postfix的版本为 postfix-2.6.6-2.2.el6_1.x86_64 我们要向使 ...

  3. Postfix 邮件服务 - postfix服务

    postfix 邮件服务 也是基于sendmail (需要关闭或卸载sendmail)postfix 是一个电子邮件服务器,它为了改良sendmail邮件服务器而产生的,并且它的配置文件比sendma ...

  4. Linux服务器---邮件服务postfix安装

    安装postfix postfix是一个快速.易于管理.安全性高的邮件发送服务,可以配合dovecot实现一个完美的邮箱服务器. 1.安装postfix [root@localhost ~]# rpm ...

  5. mysql优化———第二篇:数据库优化调整参数

    摘要 参数调优内容: 1. 内存利用方面 2. 日志控制方面 3.文件IO分配,空间占用方面 4. 其它相关参数 一  摘要 通过参数提高MYSQL的性能.核心思想如下:         1 提高my ...

  6. MySQL【第二篇】基本命令

    一.连接MySQL 登录 mysql 有两种方式: 远程主机:mysql -h主机地址 -u用户名 -p密码 -P端口号 本机:mysql -h主机地址 -u用户名 -p密码 -P端口号 如果端口号是 ...

  7. Linux 邮件服务搭建

    Linux 邮件服务搭建 邮件服务针对,在大型企业使用的比较多,一般小型企业都会买一些邮件服务,或者使用一些免费的邮件服务,达到我们使用的需求,并且不需要自己维护,下面我就来简单安装一下两个邮箱的案例 ...

  8. postfix 邮件服务的安装及详解

    该实验系统:cetnos 6.5 sendmail:性能好,设置复杂,适合老手 qmail:体积小260+k ,模块化.需要做二次开发,适合对邮件性能有要求的 postfix:前身是sendmail, ...

  9. 工程师技术(二):postfix基础邮件服务、postfix空客户端邮件服务、搭建mariadb数据库系统、配置一个数据库、使用数据库查询

    一.postfix基础邮件服务 目标: 本例要求在虚拟机server0上配置 postfix 基础服务,具体要求如下: 1> 监听本机的所有接口    2> 将邮件域和邮件服务主机名都改为 ...

随机推荐

  1. [原创]-CMD命令设置IP地址

    问题描述 在实际工作中,尤其是像我们这种BI分析人员,在做项目的时候,时常都需要因客户的不同随时切换不同的网络环境,有时可能需要在公司和客户之间来回的穿梭.交替.问题也就随之而来:每次客户那里都需要设 ...

  2. EF 预热

    由于EF第一次加载比较慢,所以要对EF进行一次初始化的加载,类似第一次打开网页很慢,但第二次打开都很快了的原理一样:第一次把所有静态的图片和JS缓存到本地了:当第二次打开的时候都不需要再去下载这些东西 ...

  3. 使用getUserMedia 调用摄像头

    html5中一个有趣的 API,能够调用电脑的摄像头,结合 <video> 标签和 Canvas 就能在浏览器中拍摄照片了. 这里需要注意: 因为安全问题, chrome 对于本地文件禁用 ...

  4. [C.Sharp] TimeSpan的用法,获取测试程序运行时间

    TimeSpan的用法 TimeSpan是用来表示一个时间段的实例,两个时间的差可以构成一个TimeSpan实例,现在就来简单介绍一下几点重要的用法: a 先来介绍几个方法 TimeSpan.Minu ...

  5. 【Android 界面效果12】EditText中的多行输入问题

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 我们在使用EditText进行多行输入的时候,通常的写法如下: <EditText android ...

  6. No saved view state could be found for the view identifier

    解决方法: javax.faces.application.ViewExpiredException:No saved view state could be found for the view i ...

  7. iOS 画图讲解

    5.画图 (1)画线 //绘图代码写在drawRect里,view加载完成,需要显示的时候调用 //1.获取图形上下文 2.创建路径 3.把图形放入上下文 4.渲染上下文 //drawRect的rec ...

  8. oracle-同义词Synonyms + 用户访问控制(grant 和 revoke)

    同义词(Synonyms) 创建同义词:    语法    CREATE [PUBLIC] SYNONYM synonym        FOR    object; CREATE SYNONYM   ...

  9. 51nod 平均数(二分+树状数组)

    题目链接: 平均数 基准时间限制:4 秒 空间限制:131072 KB 分值: 80 LYK有一个长度为n的序列a. 他最近在研究平均数. 他甚至想知道所有区间的平均数,但是区间数目实在太多了. 为了 ...

  10. img 元素无法获取高度的问题

    项目里有这么一个功能,需要 ajax 从服务器端获取数据,然后本地生成 DOM 结构再 append 到页面上. 其中的图片是直接拿到的图像数据,而不是 url,所以据此生成 dataURI 赋值给 ...