Mail搭建

一、本章结构

1、postfix概念与原理

2、postfix配置文件解析

3、邮件服务器端配置与客户端使用

4、垃圾邮件过滤

5、邮件自动回复

二、邮件服务器概述

1、邮件服务器概念

电子邮件服务器是处理邮件交换的软硬件设施设施的总称,包括电子邮件程序、电子邮件箱等。它是为用户提供基于E-mail服务的电子邮件系统,人们通过访问服务器实现邮件的交换。

2、常见的邮件服务器

Sendmail、Qmail、Postfix、Zmailer (linux)

Exchange、Notes/Domino (windows)

Coremail、U-mail

3、邮件系统角色

MUA(邮件用户代理)

MTA(邮件传输代理)

MDA(邮件分发代理)

4、邮件应用协议

SMTP:简单邮件传输协议,TCP 25端口,加密时使用TCP 465端口

POP3:第3版邮局协议,TCP 110端口,加密时使用995端口

IMAP4:第4版互联网消息访问协议,TCP 143端口,加密时使用993端口

5、邮件服务器的原理

三、postfix服务器配置

1、安装dns

# yum -y install bind

# vim /etc/named.conf

# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

# vim /etc/named.rfc1912.zones

# cd /var/named/

# cp -p named.empty taobao.empty

# cp -p named.localhost taobao.localhost

# vim taobao.localhost

# vim taobao.empty

# service named start


注意:万一在启动dns时,卡在:Generating /etc/rndc.key,可以通过以下方法解决:

#rndc-confgen -r /dev/urandom -a

然后再重启DNS服务:service named start

2、postfix配置

# vim /etc/postfix/main.cf

mydomain = taobao.com #打开和修改这几个选项

myorigin = $myhostname

myorigin = $mydomain

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

home_mailbox = Maildir/

# service postfix restart

# useradd wdd

# passwd wdd

# useradd user1

# passwd user1

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

DNS=192.168.131.136

# service network restart

3、测试是否能发送邮件

①# yum -y install mailx #安装mail命令

# su – wdd

$ echo "hello man,I am wdd" | mail -s "hello" user1

$ exit

#cd /home/user1/

#dir

# cat new/1442110610.Vfd00I600e3M896778.myrhel4

②也可以这样子进行测试

# yum -y install telnet

# ls /home/user1/Maildir/new/

4、测试是否能接收邮件

# yum -y install dovecot*

# service dovecot start

四、案例2:企业级邮件搭建

1、安装准备运行环境

①# yum -y install httpd mysql mysql-server mysql-devel php php-mysql

②# service httpd start

③# service mysqld start

④测试是否安装成功

# vim /var/www/html/index.php

<?php

phpinfo();

?>

在浏览器输入http://192.168.131.136/index.php看到相关页面即安装成功

2、安装DNS

# yum -y install bind bind-utils

# vim /etc/named.conf

# vim /etc/named.rfc1912.zones

# cd /var/named/

# cp -p named.empty extmail.empty

# cp -p named.localhost extmail.localhost

# vim extmail.localhost

# vim extmail.empty

# service named start


注意:万一在启动dns时,卡在:Generating /etc/rndc.key,可以通过以下方法解决:

#rndc-confgen -r /dev/urandom -a

然后再重启DNS服务:service named start

3、使用extmail自带模板在mysql中创建数据库

# yum -y install mailx

# tar xf extmail-1.2.tar.gz

# tar xf extman-1.1.tar.gz

# mv extmail-1.2 /var/www/extsuite/extmail

# mv extman-1.1 /var/www/extsuite/extman

# cd /var/www/extsuite/extman/docs/

# vim init.sql # service mysqld start #启动初始化数据库

# mysql < extmail.sql #导入extmail自带数据库

# mysql < init.sql 导入extmail的测试账户
4、配置postfix支持虚拟域

# cd /var/www/extsuite/extman/docs/

# cp mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/

# useradd -u 600 vmail

# vim /etc/postfix/main.cf

#其他选项保持默认不要动,否则下面测试会出错,这是要特别注意的

inet_interfaces = all

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_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

测试是否正常

# echo "hello world" | mail -s "test" support@extmail.org

# cd /home/vmail/

# dir

extmail.org  目录存在则postfix配置成功,否则不要进行下一步操作

5、配置MDA(dovecot)

#yum install dovecot dovecot-mysql –y

#cd /etc/dovecot/conf.d/

#vim 10-mail.conf 

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

#邮件收取配置,这里采用mairdir形式 24行
first_valid_uid = 600 167行

   #vim 10-auth.conf
   !include auth-sql.conf.ext  去掉注释 120行

#  cd ../

# find / -name dovecot-sql*

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

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

# vim dovecot-sql.conf.ext

driver =mysql 29行

connect =  host=localhost dbname=extmail user=extmail password=extmail 63行
default_pass_scheme = MD5 73行
password_query = \ 102行
        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' 120行
启动dovecot进行测试

#/etc/init.d/dovecot start

#telnet localhost 110

6、配置web界面

①#   vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80
#apache2.2要使虚拟主机生效一定要打开这个选项

<VirtualHost *:80>
      ServerName www.extmail.org
      DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
      ServerName mail.extmail.org
      DocumentRoot /var/www/extsuite/extmail/html/
      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>

②cd /var/www/extsuite/extmail
    chown vmail.vmail cgi/ -R 
   cp webmail.cf.default webmail.cf
   vim webmail.cf
     SYS_MAILDIR_BASE = /home/vmail 127行
     SYS_MYSQL_USER = extmail 139行
     SYS_MYSQL_PASS = extmail
     SYS_CRYPT_TYPE = plain 136行
   cd /var/www/extsuite/extman
   chown vmail.vmail cgi/ -R
   cp webman.cf.default webman.cf
   vim webman.cf
     SYS_MAILDIR_BASE = /home/vmail 12行
     SYS_SESS_DIR = /tmp/ 18行
     SYS_CAPTCHA_LEN = 4 27行
     SYS_CRYPT_TYPE = plain 124行

7、启动httpd进行测试操作

#service httpd restart
将客户端的DNS改为:192.168.131.136,在浏览器输入http://mail.extmail.org/extmail/cgi/index.cgi

  1. 如果出现找不到CGI,则安装CGI程序

# yum -y install *CGI
②如果找不到Unix-Syslog,则安装perl-ExtUtils-MakeMaker,gcc


# yum -y install perl-devel #注意报错的话安装这个
# tar zxf Unix-Syslog-1.1.tar.gz 
 #cd Unix-Syslog-1.1
 #perl Makefile.PL
 #make test
#make install 

  1. 如果在新用户注册时,出现验证码显示不正常则:

# yum -y install perl-GD-2.44-3.el6.x86_64.rpm

最后打开界面如下图所示,输入正确的用户名postmaster和密码extmail即可。

在浏览器输入http://mail.extmail.org/extman/cgi/index.cgi,则可以进入管理界面,输入用户名root@extmail.org和密码123456,登录即可。

support是postmaster的别名,也就是它们其实是同一个用户。

这样就可以在web界面注册用户,进行收发邮件了。

另外有时要注意系统时间,特别是用虚拟机的,有时系统时间与软件包的时间相比较旧,导致时间上的问题,可以用# ntpdate cn.pool.ntp.org或者date –s 20150925更新一下时间。

 

 

Mail搭建的更多相关文章

  1. 【Mail】搭建邮件服务器(LAMP+Postfix+Dovcot+PostfixAdmin+Roundcubemail)

    大纲 一.mail部署说明 二.安装准备 三.LMAP环境配置 四.配置postfixadmin 五.配置postfix 六.配置dovecot 七.测试SMTP和POP3服务 八.配置Roundcu ...

  2. 《postfix MAIL服务搭建(第一篇):》RHEL6

    初级篇:搭建发送端.接收端.邮件别名的添加从而达到邮件群发功能的实现. 我们都知道邮件服务器是2个服务端也就是说2个端口,一个是发送的端口,一个是收邮件的端口,我们平常所使用的发送,接收邮件的过程,只 ...

  3. linux 搭建CA服务器 http+ssl mail+ssl 扫描与抓包

    搭建CA服务器 CA服务是给服务器发放数字证书,被通信双方信任,独立的第三方机构 国内常见的CA机构 中国金融认证中心(CFCA) 中国电信安全认证中心(CTCA) 北京数字证书认证中心(BJCA) ...

  4. LINUX下的Mail服务器的搭建

    电子邮件是因特网上最为流行的应用之一.如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件的,无须预先与别人协同.与传统邮件不同的是,电子邮件既迅速,又易于分发 ...

  5. MAIL服务器搭建

    一,邮件服务: 优    点 缺   点 应 用 sendmail 有点年代久远,稳定功能多 太过于臃肿,配置文件多且繁琐 6以前默认 postfix 优点更稳定,且交轻便 发布年限较短,市场占有率低 ...

  6. 搭建 SMTP mail

    邮件协议需要配置client 端 和 server 端,在linux redhat 下 client 端: 使用linux 自带的Evolution,2.12.3, 主要配置在preferrence ...

  7. Linux搭建www,mail,ftp三大DNS服务器

    ##############################-----服务器端----###############################1. 安装bind# yum install bin ...

  8. Linux测试环境搭建的学习建议

    随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...

  9. sorl6.0+jetty+mysql搭建solr服务

    1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后 ...

随机推荐

  1. hdoj 5355 Cake(分析+二分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5355 分蛋糕的题目,有1-n大小的n个蛋糕,要求平均分成m份,不能切开蛋糕 #include<s ...

  2. Magento开发文档(一):Magento入门

    开始之前,首先声明下,Magento开发者手册由Alan Storm发表在Magento官方网站上.总共分八个部分,由浅入深的介绍了Magento的MVC架构及Magento中使用的比较特殊的EAV模 ...

  3. 窥探EasyMock(2)进阶使用篇

    from:http://www.iteye.com/topic/310313 1. 生成 Mock 对象 如何创建一个需要严格遵守调用顺序的mock对象? SomeInterface mockObj  ...

  4. JavaScript寻踪OOP之路

    上一集中,重点介绍了谁动了你的代码.这里先总结一下:咱们的代码从敲下来到运行出结果,经历了两个阶段:分析期与运行期.在分析期,JavaScript分析器悄悄动了我们的代码:在运行期,JavaScrip ...

  5. DevExpress 13.2.6源码、安装包、汉化包下载和教程

    DevExpress比DotNetBar控件成熟很多,当然源码是公开的,但是最新版本需要9K多.如果不是土豪,用已经破解的版本或者自己拿源码编译一份就可以了,老外就是这么好. 首先在这里下载然后解压准 ...

  6. linux的webserver配置与管理——创建用户个人主页

    本实验用的是RedHat linux9.0,在虚拟机上进行操作,它已具有相当完好的可视化界面,这样用户会更加easy接受和理解. 首先呢就是虚拟机的相关配置,这个就不说了,当我们安装完系统后,打开终端 ...

  7. 无法将类型为 excel.applicationclass 的 com 强制转换为接口类型 的解决方法。

    今天碰到客户的电脑在导出EXCEL的时候提示,无法将类型为 excel.applicationclass 的 com 强制转换为接口类型 excel._application 的问题 最后用下面的方法 ...

  8. 广州项目实施步骤II_练习配置HaProxy的重定向负载均衡

    CentOS6.4 配置Haproxy   Haproxy下载地址:http://pan.baidu.com/share/link?shareid=1787182295&uk=18290183 ...

  9. 【S16】了解如何把vector和string数据传给旧的API

    1.尽量使用vector和string替换数组,但是老的代码还是使用数组.如果老的接口期望是数组,怎么办? 需要把vector和string,暴露出数组接口,也就是第一个元素的地址. 2.考虑方法Do ...

  10. 第七届ACM趣味程序设计竞赛第四场(正式赛) 题解

    Final Pan's prime numbers 题目连接: http://acm.uestc.edu.cn/#/problem/show/1272 题意 给你n,要求你在[4,n]范围内找到一个最 ...