Mail搭建
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
- 如果出现找不到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
- 如果在新用户注册时,出现验证码显示不正常则:
# 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搭建的更多相关文章
- 【Mail】搭建邮件服务器(LAMP+Postfix+Dovcot+PostfixAdmin+Roundcubemail)
大纲 一.mail部署说明 二.安装准备 三.LMAP环境配置 四.配置postfixadmin 五.配置postfix 六.配置dovecot 七.测试SMTP和POP3服务 八.配置Roundcu ...
- 《postfix MAIL服务搭建(第一篇):》RHEL6
初级篇:搭建发送端.接收端.邮件别名的添加从而达到邮件群发功能的实现. 我们都知道邮件服务器是2个服务端也就是说2个端口,一个是发送的端口,一个是收邮件的端口,我们平常所使用的发送,接收邮件的过程,只 ...
- linux 搭建CA服务器 http+ssl mail+ssl 扫描与抓包
搭建CA服务器 CA服务是给服务器发放数字证书,被通信双方信任,独立的第三方机构 国内常见的CA机构 中国金融认证中心(CFCA) 中国电信安全认证中心(CTCA) 北京数字证书认证中心(BJCA) ...
- LINUX下的Mail服务器的搭建
电子邮件是因特网上最为流行的应用之一.如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件的,无须预先与别人协同.与传统邮件不同的是,电子邮件既迅速,又易于分发 ...
- MAIL服务器搭建
一,邮件服务: 优 点 缺 点 应 用 sendmail 有点年代久远,稳定功能多 太过于臃肿,配置文件多且繁琐 6以前默认 postfix 优点更稳定,且交轻便 发布年限较短,市场占有率低 ...
- 搭建 SMTP mail
邮件协议需要配置client 端 和 server 端,在linux redhat 下 client 端: 使用linux 自带的Evolution,2.12.3, 主要配置在preferrence ...
- Linux搭建www,mail,ftp三大DNS服务器
##############################-----服务器端----###############################1. 安装bind# yum install bin ...
- Linux测试环境搭建的学习建议
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...
- sorl6.0+jetty+mysql搭建solr服务
1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后 ...
随机推荐
- maven profile动态选择配置文件
一.背景 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配 ...
- 在Button的click事件中引起客户端JavaScript
void action1_Execute(object sender, SimpleActionExecuteEventArgs e) { WebWindow.CurrentRequestWindow ...
- js 函数的传值问题
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Codeforces Round #340 (Div. 2) C. Watering Flowers 暴力
C. Watering Flowers 题目连接: http://www.codeforces.com/contest/617/problem/C Descriptionww.co A flowerb ...
- hihocoder #1179 : 永恒游戏 暴力
#1179 : 永恒游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/problemset/problem/11 ...
- (高精度运算4.7.27)UVA 10494 If We Were a Child Again(大数除法&&大数取余)
package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class UVA_10494 ...
- XianBicycle
https://github.com/xialinchong/secrettalkandroid https://github.com/talentprince/PhotoView https://g ...
- XCode7,打包上传的一些警告,及参考处理方法
1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...
- android之多媒体篇(一)
Android 4.0.3(Api Level 15)支持的多媒体格式. 注意:有些设备可能支持其他的文件格式. 1.Audio AAC LC/LTP.HE-AACv1(AAC+).AMR-NB.AM ...
- iOS开发——UI篇Swift篇&UIActivityIndicatorView
UIActivityIndicatorView override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleStr ...