postfix服务器搭建

实现 postfix实现extmail界面

环境:

主机1:172.16.115.169  (DNS服务器)

主机2:172.16.115.161(邮件服务器)

主机1上:

1. 搭建DNS服务器

yum install -y bind

1.1 编辑主配置vim /etc/named.conf

# 监听本机所有ip,允许客户机查询

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; };

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

1.2 编辑域配置文件vim /etc/named.rfc1912.zones

#正向解析和反向解析

zone "huangzp2.com" IN {

type master;

file "huangzp2.com";

allow-update { none; };

};

zone "115.16.172.in-addr.arpa" IN {

type master;

file "huangzp2.empty";

allow-update { none; };

};

1.3 编辑数据配置文件

cd /var/named/

1.3.1 正向解析数据记录

cp -p named.localhost huangzp2.com

或者

cp named.localhost huangzp2.com;chown named huangzp2.com

vim  huangzp2.com

# 添加正向解析记录

$TTL 1D

@       IN SOA huangzp2.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      dns.huangzp2.com.

MX 3    mail.huangzp2.com.

dns     A       172.16.115.169

mail    A       172.16.115.161

1.3.2 反向解析数据记录

cp -p named.empty  huangzp2.empty

vim  huangzp2.empty

# 反解析记录

$TTL 3H

@       IN SOA  huangzp2.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      dns.huangzp2.com.

169     PTR     dns.huangzp2.com.

161     PTR     mail.huangzp2.com.

2. 启动named

service named restart

主机2上:

1. 测试邮件域解析

vim /etc/sysconfig/network-scripts/ifcfg-eth0

# 设置DNS服务器

DEVICE=eth0

HWADDR=00:0C:29:CB:DB:6C

TYPE=Ethernet

UUID=05904c7e-119a-4e58-8b65-26d344366982

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=172.16.115.161

NETMASK=255.255.0.0

GATEWAY=172.16.0.199

DNS1=172.16.115.169

DNS=202.96.134.133

# 测试正向解析

[[email protected] docs]# nslookup mail.huangzp2.com

Server:         172.16.115.169

Address:        172.16.115.169#53

Name:   mail.huangzp2.com

Address: 172.16.115.161

# 测试反向解析

[[email protected] docs]# nslookup 172.16.115.161

Server:         172.16.115.169

Address:        172.16.115.169#53

161.115.16.172.in-addr.arpa     name = mail.huangzp2.com.

2. 安装工具包

yum install -y mysql mysql-server mailx

service mysqld start

3. 安装extmail和extman

下载 extmail-1.2.tar.gz

extman-1.1.tar.gz

解压

tar -zxf  extmail-1.2.tar.gz -C /var/www/extsuite/

tar -zxf  extmman-1.1.tar.gz -C /var/www/extsuite/

更名

mv  extmail-1.2  extmail

mv  extman-1.1  extman

4. 导入数据库模板文件

进入目录:

/var/www/extsuite/extman/docs

4.1 拷贝配置文件:

cp mysql_virtual_alias_maps.cf /etc/postfix/

cp mysql_virtual_domains_maps.cf /etc/postfix/

cp mysql_virtual_mailbox_maps.cf /etc/postfix/

cp mysql_virtual_sender_maps.cf /etc/postfix/

4.2 修改数据库初始数据:

vim /var/www/extsuite/extman/docs/init.sql

# 替换域名

:1,$s/extmail.org/huangzp2.com/g

# 更改密码

INSERT INTO `manager` VALUES (‘[email protected]‘,‘123456‘,‘admin‘,‘root‘,‘Super User‘,‘my question‘,‘my answer‘,‘0‘,‘2007-02-14 15:10:04‘,‘2010-11-08‘,1);

4.3 导入数据库模板

mysql < extmail.sql

mysql < init.sql

5. 创建虚拟用户映射的真实用户

useradd -u 600 vmail

6. 修改主postfix配置文件

vim /etc/postfix/main.cf

# 对所有地址提供服务

inet_interfaces = all

#inet_interfaces = $myhostname

#inet_interfaces = $myhostname, localhost

#inet_interfaces = localhost

# Enable IPv4, and IPv6 if supported

inet_protocols = all

# 邮件保存位置;收取邮件时使用的用户和组id ;添加指定配置文件

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.cf

virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

7. 启动postfix

service postfix start

netstat -anpt

8. 发邮件测试

发送邮件:

echo "hi" |mail -s test [email protected]

查看生成的目录内容:

# support是postmaster的别名

ls /home/vmail/huangzp2.com/postmaster/Maildir/new

9. 安装和配置dovecot(MRA)

说明:提供检索作用

yum install -y dovecot dovecot-mysql

9.1 修改配置文件:

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

# 设置收取邮件的位置

mail_location = maildir:/home/vmail/%d/%n/Maildir

# 收邮件的虚拟用户id号从600开始排

first_valid_uid = 600

9.2 修改配置文件:

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

# 收邮件认证方式数据库认证

!include auth-system.conf.ext

!include auth-sql.conf.ext

9.3 拷贝并编辑数据库验证模板配置文件

cp /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext  /etc/dovecot

编辑该配置文件:

vim /etc/dovecot/dovecot-sql.conf.ext

# 设置数据库类型是mysql

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‘

9.4 启动dovecot

service dovecot start

10. 测试收取邮件

说明:表示dovecot能够通过mysql进行身份认证(postmaser用户的用户名和密码)只有验证成功,才能登陆进来,并查看邮件内容

[[email protected] docs]# telnet mail.huangzp2.com 110

Trying 172.16.115.161...

Connected to mail.huangzp2.com.

Escape character is ‘^]‘.

+OK Dovecot ready.

user [email protected]

+OK

pass extmail

+OK Logged in.

list

+OK 2 messages:

1 533

2 530

11. 安装和配置web服务器

yum install -y httpd

11.1 编辑配置文件

vim /etc/httpd/conf/httpd.conf

# 开启虚拟主机

NameVirtualHost *:80

# 调用脚本,设置目录别名,调用脚本运行的用户和组

<VirtualHost *:80>

DocumentRoot /var/www/extsuite/extmail/html

ServerName mail.huangzp2.com

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>

12. 设置extmail的cgi目录权限和编辑配置文件

# 权限 ;将模板配置文件变成主配置配置文件

cd /var/www/extsuite/extmail

chown -R vmail.vmail cgi/

cp webmail.cf.default webmail.cf

编辑配置文件

vim /var/www/extsuite/extmail/webmail.cf

#设置邮件的基本目录;加密类型;数据库的用户和密码

SYS_MAILDIR_BASE = /home/vmail

SYS_CRYPT_TYPE = plain

SYS_MYSQL_USER = extmail

SYS_MYSQL_PASS = extmail

13. 设置extman的cgi目录权限和编辑配置文件

cd /var/www/extsuite/extman

chown -R vmail.vmail cgi/

cp webman.cf.default webman.cf

加密方式;基本家目录;临时会话目录;校验码

SYS_CRYPT_TYPE = plain

SYS_MAILDIR_BASE = /home/vmail

SYS_SESS_DIR = /tmp/

SYS_CAPTCHA_ON = 0

14. 客户机测试解析

启动httpd

15. 编译安装Unix-syslog模块

yum install perl-CGI  gcc*

Unix-Syslog-1.1.tar.gz

tar -zxf Unix-Syslog-1.1.tar.gz

cd  Unix-Syslog-1.1

# 模块使用perl语言写的,需要用perl安装

perl Makefile.PL

make test

make install

16. 客户端测试:

浏览器:http://mail.huangzp2.com/extmail/cgi/index.cgi

邮箱登录

默认用户名:postermaster

默认密码:密码extmail

邮箱管理登录

默认用户名:[email protected]huangzp2.com

默认密码:123456

时间: 2024-12-18 21:26:00

postfix服务器搭建的相关文章

烂泥:Postfix邮件服务器搭建之虚拟用户配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 在前一篇文章<烂泥:Postfix邮件服务器搭建之软件安装与配置>中,我们介绍了psotfix邮件服务器搭建所需要的软件,以及各个软件的基本配置. 目前已经达到了通过系统用户可以登录到postfix邮件服务器,但是为了管理的方便和系统安全,我们一般是通过postfix的虚拟用户来管理邮件用户的. Postfix虚拟用户的原理是,先在系统中创建一个用户,该用户不能登录到系统,然后把邮件

用Postfix + Dovecot 搭建的邮件服务器被垃圾邮件当中转服务器的处理

今天发邮件, 发送失败,然后到服务器上看日志, 发现硬盘被垃圾邮件的缓存队列和日志塞满了, tail    -f    /var/log/maillog   发现疯狂刷屏,部分日志如下 : Aug 17 09:39:01 www postfix/error[1173]: 455F050663: to=<[email protected]>, relay=none, delay=28778, delays=28631/146/0/0.51, dsn=4.4.2, status=deferred

Linux运维高级篇—CentOS 7下Postfix邮件服务器搭建

第一章 实验环境 硬件环境:Linux服务器一台,IP地址:192.168.80.10:WIN7客户端一台,拥有OUTLOOK2013,测试用,与服务器在同一局域网内. Linux系统环境,如下图: 第二章 实验内容一:搭建DNS服务器二:搭建postfix服务器及普通发信三:普通收信四:认证收信五:squirrelmail收发邮件(搭建网页收发邮件)六:邮件群发功能配置七:邮件发送容量大小配置八:通过配置用户磁盘配额实现限制用户邮箱空间 第三章 实验步骤准备工作:[[email protect

邮件服务(三):实践服务器搭建

背景 邮件服务系列博文中,前两篇介绍了邮件系统的基本功能和安全体系,本文记录了搭建邮箱服务器的实践. Sendmail 是一种多用途.支援多种协定的跨网络电子邮件传送代理软件,于 1983 年随着 BSD 4.1c 首次发行,2001 年时的调查,互联网上的邮件服务器有 42%使用 Sendmail,但之后由于多次被发现重大的安全性漏洞,且其设定档过于复杂造成较高的学习门槛等因素,导致市占率下滑. Postfix 被 Wietse Zweitze Venema 创造出来以取代 Sendmail.

smtp服务器搭建(实现本地通讯)

1安装postfix 1)下载安装包    sudo apt-get install postfix 2)配置服务器 选择确定. 选择IneternetSite(通过SMTP发送和接收邮件),然后确定 输入邮件后缀名,比如如果你想设置你的邮箱地址为[email protected],则此处系统邮件名称填写为example.com 3)安装syslog 进入到/var/log/         cd /var/log/ 查看是否安装syslog        ls mail* 如果有mail.er

postfix-企业邮件服务器搭建完整版

声明:本文为个人原创,引用请申明出处.此文在百度文库等地方上传过.百度文库ID:denhuaibo!此文最早上传于2014年. 附件提供文档下载. postfix邮件服务器安装配置文档           目录 简介... 2 构建运行环境... 2 安装配置postfix. 5 在客户端发送邮件... 7 另一种认证更简单... 11 在客户端接收邮件... 12 邮件传输加密... 13 邮件病毒扫描... 14 广告邮件的抵挡... 19 邮件监控... 20 简介 这是一个集成项目,请仔

CentOS6.4下邮件服务器搭建

CentOS6.4下邮件服务器搭建 linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) 一. 准备工作 1. 为邮件服务器添加DNS解析 虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件.根据我们的实际经验,需要添加三条DNS解析记录:A记录.MX记录.TXT记录 2. 准备存放邮件的硬盘空间 如果用的是阿里云入门级Linux服务器,有一块20G的数据盘未挂载,需要

ubuntu gitlab服务器搭建

gitlab服务器搭建 1.安装依赖包 sudo apt-get install curl openssh-server ca-certificates postfix 执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的) 2.下载最新的包 安装gitlab-ce软件包 在https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/链接中下载最新版gitlab-c

Linux下的SVN服务器搭建

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始*********/ 系统环境:Centos 6.5 第一步:通过yum命令安装svnserve,命令如下: >yum -y install  subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命令: >rpm -ql subve