Postfix搭建邮件服务器
2013-08-15 14:52
281 查看
1. 邮件服务器基本原理
MUA:邮件用户代理,供用户写信、读信、寄信
MTA:邮件传输代理,接收、递送邮件
MDA:邮件投递代理,投递本地邮件到适当的邮箱
SMTP:简单邮件传输协议,寄信协议
POP3:邮局协议第3版,用户把邮件从服务器上剪切回来,收信协议
IMAP4:因特网消息访问协议第4版,用户把邮件从服务器上复制回来,收信协议
邮箱:存放邮件的地方
邮件:email
收件人:邮件的接收者
邮件别名:一个邮箱的其他名字,一个邮箱可以有多个名字
邮件列表:群发功能
邮件转发:发到user@163.com的邮件转到boos@163.com
-------------------------------------------------------------------------------------------------------------------
2. Postfix简介
2.1 Postfix是MTA
高性能、安全、兼容性
2.2 安装
2.2.1 准备工作
邮件服务器要有合法的计算机名,如:mail.abc.com,并需要到DNS服务器上进行域名注册,才能正常启动
DNS配置参见DNS配置
在abc.com区域文件中进行A记录和MX记录的设置
abc.com. IN MX 5 mail.abc.com.
mail.abc.com. IN A 192.168.1.111
2.2.2 安装postfix
rpm -ivh postfix-2.3.3-2.i386.rpm
2.3 目录
/etc/postfix/ Postfix配置文件目录
/var/spool/mail 用户电子邮箱放置目录
/var/spool/postfix 邮件队列目录
/var/log/maillog Postfix日志文件
----------------------------------------------------------------------------------------------------------------------
2.4 配置
1.主配置文件
/etc/postfix/mail.cf
主配置文件修改后用 postfix reload命令重新载入主配置文件
2.邮件别名配置文件
/etc/aliases
/etc/aliases.db
邮件别名配置文件修改后用postalias hash:/etc/aliases命令
生成aliases.db数据库文件
-----------------------------------------------------------------------------------------------------------------
2.5 主配置文件分析
queue_directory = /var/spool/postfix 队列目录
command_directory = /usr/sbin 程序目录
daemon_directory = /usr/libexec/postfix 后台程序目录
mail_owner = postfix 进程运行所有者
myhostname = mail.abc.com 邮件主机名称
mydomain = abc.com 邮件主机域名
myorigin = $mydomain 设置发送邮件所使用的主机名或域名
inet_interfaces = all 监听端口
mydestination = $myhostname, $mydomain 可以接受邮件的主机名或域名
mynetworks = 192.168.1.0/24, 127.0.0.0/8 设置可以转发邮件的网络
relay_domains = $mydestination 设置可以转发的邮件域名
alias_maps = hash:/etc/aliases 指定用户别名定义的文件路径
alias_database = hash:/etc/aliases 指定别名表数据库文件路径
2.6 postfix收发信依据
2.6.1 postfix帮助client发送信件:
当客户端来自信任的网络,符合 $mynetworks 的设定时
当客户端来自信任的主机,符合 $relay_domains的设定项目时
当客户端来自不信任的网域,但是去的目的地主机符合$relay_domains设定时
2.6.2 什么情况下,postfix会将信件收下来
收件人主机名符合 $inet_interfaces 的设定
收件者主机名符合 $mydestination 的设定
收件人主机名符合 $virtual_maps 的设定
-------------------------------------------------------------------------------------------------------------
2.7 测试main.cf文件
2.7.1 显示main.cf里面设定的数据指令
# postconf -n
2.7.2 检查main.cf语法错误
# postfix check
若没有提示,则配置正确
2.8 启动、停止、重启postfix服务
# service postfix start/stop/restart
# /etc/init.d/postfix start/stop/restart
开机自动启动
# chkconfig postfix on
2.9 检测邮件服务是否启动成功
# netstat -tl | grep smtp
tcp 0 0 *:smtp *:* LISTEN
---------------------------------------------------------------------------------------------------------------------------
2.10 命令行收发邮件测试
发邮件:
[root@mail ~]# telnet mail.abc.com 25 //链接服务器25号端口
Trying 192.168.1.111...
Connected to mail.abc.com (192.168.1.111).
Escape character is '^]'.
220 mail.abc.com ESMTP Postfix //返回220表示连接成功
* helo mail.abc.com //通过helo介绍自己
250 mail.abc.com //返回250表示成功
* mail from:user@abc.com //mail from:发件人地址
250 Ok
* rcpt to:root@abc.com //rcpt to:收件人地址
250 Ok
* data //data:开始输入邮件正文
354 End data with <CR><LF>.<CR><LF>
helo root //邮件正文部分
helo root
helo root
* . //以"."表示正文结束
250 Ok: queued as 511DAA63DE
* quit //quit:退出
221 Bye
Connection closed by foreign host.
收邮件: # mail
------------------------------------------------------------------------------------------------------------------
3.2 设置邮件别名和邮件群发功能
3.2.2 确保postfix主配置文件里有这两句:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
3.2.1 修改/etc/aliases文件
admin: root //发给admin@abc.com的信,实际是发给root@abc.com
group: user1,user2 //发给group@abc.com的信,实际是发给user1@abc.com和user2@abc.com
user1: root@abc.com //发给user1@abc.com的信,实际转发给root@.abc.com
3.2.2 生成aliases.db数据库
# postalias hash:/etc/aliases
3.2.3 验证
1.给admin@abc.com发一封信,root应该收到信
# echo "hello world" | mail admin@abc.com
root用户使用mail命令收邮件
2.给group@abc.com发一封信,user2应该收到信
# echo "hello world" | mail group@abc.com
使用mail命令,以user2的身份去收信
# mail -u user2
3.给user1@abc.com发一封信,root用户应该收到信
# echo "hello world" | mail user1@abc.com
以user1身份收信没有收到
# mail -u user1
以root用户收信应该收到
# mail
-------------------------------------------------------------------------------------------------------------------
4.POP和IMAP的实现,dovecot可以实现POP和IMAP服务器功能
4.1 安装
# rpm -ivh dovecot-1.0.7-2.el5.i386.rpm \
>perl-DBI-1.52-1.fc6.i386.rpm \
>mysql-5.0.45-7.el5.i386.rpm
4.2 配置
# vim /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
4.3 启动
# service dovecot start
# chkconfig --level 35 dovecot on
4.4 验证是否启动
# netstat -tl |grep imap
tcp 0 0 *:imaps *:* LISTEN
tcp 0 0 *:imap *:* LISTEN
# netstat -tl |grep pop
tcp 0 0 *:pop3s *:* LISTEN
tcp 0 0 *:pop3 *:* LISTEN
测试:在客户端使用Outlook客户端收发邮件
-----------------------------------------------------------------------------------------------------------------------
5. 安装配置Webmail
5.1 安装apache服务
rpm -ihv httpd-2.2.3-11.el5_1.3.i386.rpm
5.2 安装Webmail和相关软件包
squirrelmail-1.4.8-4.0.1.el5.noarch.rpm
php-5.1.6-20.el5.i386.rpm
php-cli-5.1.6-20.el5.i386.rpm
php-common-5.1.6-20.el5.i386.rpm
php-mbstring-5.1.6-20.el5.i386.rpm
5.3 配置Squirrelmail
# /usr/share/squirrelmail/config/conf.pl
在 server setting 里把 domain 设为 mail.abc.com
在 language 里把 default language 设为 zh_CN
5.4 启动相关服务
# service httpd start
# service postfix restart
# service dovecot restart
5.5 访问Webmail的界面
http://mail.abc.com/webmai
MUA:邮件用户代理,供用户写信、读信、寄信
MTA:邮件传输代理,接收、递送邮件
MDA:邮件投递代理,投递本地邮件到适当的邮箱
SMTP:简单邮件传输协议,寄信协议
POP3:邮局协议第3版,用户把邮件从服务器上剪切回来,收信协议
IMAP4:因特网消息访问协议第4版,用户把邮件从服务器上复制回来,收信协议
邮箱:存放邮件的地方
邮件:email
收件人:邮件的接收者
邮件别名:一个邮箱的其他名字,一个邮箱可以有多个名字
邮件列表:群发功能
邮件转发:发到user@163.com的邮件转到boos@163.com
-------------------------------------------------------------------------------------------------------------------
2. Postfix简介
2.1 Postfix是MTA
高性能、安全、兼容性
2.2 安装
2.2.1 准备工作
邮件服务器要有合法的计算机名,如:mail.abc.com,并需要到DNS服务器上进行域名注册,才能正常启动
DNS配置参见DNS配置
在abc.com区域文件中进行A记录和MX记录的设置
abc.com. IN MX 5 mail.abc.com.
mail.abc.com. IN A 192.168.1.111
2.2.2 安装postfix
rpm -ivh postfix-2.3.3-2.i386.rpm
2.3 目录
/etc/postfix/ Postfix配置文件目录
/var/spool/mail 用户电子邮箱放置目录
/var/spool/postfix 邮件队列目录
/var/log/maillog Postfix日志文件
----------------------------------------------------------------------------------------------------------------------
2.4 配置
1.主配置文件
/etc/postfix/mail.cf
主配置文件修改后用 postfix reload命令重新载入主配置文件
2.邮件别名配置文件
/etc/aliases
/etc/aliases.db
邮件别名配置文件修改后用postalias hash:/etc/aliases命令
生成aliases.db数据库文件
-----------------------------------------------------------------------------------------------------------------
2.5 主配置文件分析
queue_directory = /var/spool/postfix 队列目录
command_directory = /usr/sbin 程序目录
daemon_directory = /usr/libexec/postfix 后台程序目录
mail_owner = postfix 进程运行所有者
myhostname = mail.abc.com 邮件主机名称
mydomain = abc.com 邮件主机域名
myorigin = $mydomain 设置发送邮件所使用的主机名或域名
inet_interfaces = all 监听端口
mydestination = $myhostname, $mydomain 可以接受邮件的主机名或域名
mynetworks = 192.168.1.0/24, 127.0.0.0/8 设置可以转发邮件的网络
relay_domains = $mydestination 设置可以转发的邮件域名
alias_maps = hash:/etc/aliases 指定用户别名定义的文件路径
alias_database = hash:/etc/aliases 指定别名表数据库文件路径
2.6 postfix收发信依据
2.6.1 postfix帮助client发送信件:
当客户端来自信任的网络,符合 $mynetworks 的设定时
当客户端来自信任的主机,符合 $relay_domains的设定项目时
当客户端来自不信任的网域,但是去的目的地主机符合$relay_domains设定时
2.6.2 什么情况下,postfix会将信件收下来
收件人主机名符合 $inet_interfaces 的设定
收件者主机名符合 $mydestination 的设定
收件人主机名符合 $virtual_maps 的设定
-------------------------------------------------------------------------------------------------------------
2.7 测试main.cf文件
2.7.1 显示main.cf里面设定的数据指令
# postconf -n
2.7.2 检查main.cf语法错误
# postfix check
若没有提示,则配置正确
2.8 启动、停止、重启postfix服务
# service postfix start/stop/restart
# /etc/init.d/postfix start/stop/restart
开机自动启动
# chkconfig postfix on
2.9 检测邮件服务是否启动成功
# netstat -tl | grep smtp
tcp 0 0 *:smtp *:* LISTEN
---------------------------------------------------------------------------------------------------------------------------
2.10 命令行收发邮件测试
发邮件:
[root@mail ~]# telnet mail.abc.com 25 //链接服务器25号端口
Trying 192.168.1.111...
Connected to mail.abc.com (192.168.1.111).
Escape character is '^]'.
220 mail.abc.com ESMTP Postfix //返回220表示连接成功
* helo mail.abc.com //通过helo介绍自己
250 mail.abc.com //返回250表示成功
* mail from:user@abc.com //mail from:发件人地址
250 Ok
* rcpt to:root@abc.com //rcpt to:收件人地址
250 Ok
* data //data:开始输入邮件正文
354 End data with <CR><LF>.<CR><LF>
helo root //邮件正文部分
helo root
helo root
* . //以"."表示正文结束
250 Ok: queued as 511DAA63DE
* quit //quit:退出
221 Bye
Connection closed by foreign host.
收邮件: # mail
------------------------------------------------------------------------------------------------------------------
3.2 设置邮件别名和邮件群发功能
3.2.2 确保postfix主配置文件里有这两句:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
3.2.1 修改/etc/aliases文件
admin: root //发给admin@abc.com的信,实际是发给root@abc.com
group: user1,user2 //发给group@abc.com的信,实际是发给user1@abc.com和user2@abc.com
user1: root@abc.com //发给user1@abc.com的信,实际转发给root@.abc.com
3.2.2 生成aliases.db数据库
# postalias hash:/etc/aliases
3.2.3 验证
1.给admin@abc.com发一封信,root应该收到信
# echo "hello world" | mail admin@abc.com
root用户使用mail命令收邮件
2.给group@abc.com发一封信,user2应该收到信
# echo "hello world" | mail group@abc.com
使用mail命令,以user2的身份去收信
# mail -u user2
3.给user1@abc.com发一封信,root用户应该收到信
# echo "hello world" | mail user1@abc.com
以user1身份收信没有收到
# mail -u user1
以root用户收信应该收到
-------------------------------------------------------------------------------------------------------------------
4.POP和IMAP的实现,dovecot可以实现POP和IMAP服务器功能
4.1 安装
# rpm -ivh dovecot-1.0.7-2.el5.i386.rpm \
>perl-DBI-1.52-1.fc6.i386.rpm \
>mysql-5.0.45-7.el5.i386.rpm
4.2 配置
# vim /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
4.3 启动
# service dovecot start
# chkconfig --level 35 dovecot on
4.4 验证是否启动
# netstat -tl |grep imap
tcp 0 0 *:imaps *:* LISTEN
tcp 0 0 *:imap *:* LISTEN
# netstat -tl |grep pop
tcp 0 0 *:pop3s *:* LISTEN
tcp 0 0 *:pop3 *:* LISTEN
测试:在客户端使用Outlook客户端收发邮件
-----------------------------------------------------------------------------------------------------------------------
5. 安装配置Webmail
5.1 安装apache服务
rpm -ihv httpd-2.2.3-11.el5_1.3.i386.rpm
5.2 安装Webmail和相关软件包
squirrelmail-1.4.8-4.0.1.el5.noarch.rpm
php-5.1.6-20.el5.i386.rpm
php-cli-5.1.6-20.el5.i386.rpm
php-common-5.1.6-20.el5.i386.rpm
php-mbstring-5.1.6-20.el5.i386.rpm
5.3 配置Squirrelmail
# /usr/share/squirrelmail/config/conf.pl
在 server setting 里把 domain 设为 mail.abc.com
在 language 里把 default language 设为 zh_CN
5.4 启动相关服务
# service httpd start
# service postfix restart
# service dovecot restart
5.5 访问Webmail的界面
http://mail.abc.com/webmai
相关文章推荐
- postfix+ dovecot搭建邮件服务器
- RHEL4上搭建基于postfix的全功能邮件服务器
- 烂泥:Postfix邮件服务器搭建之软件安装与配置
- 搭建Red Hat Enterprise Linux 5.4的Postfix邮件服务器
- Postfix公网邮件服务器搭建
- postfix邮件服务器搭建
- CentOS7下搭建postfix邮件服务器实现extmail的web访问
- postfix dovecot邮件服务器搭建
- Centos7搭建邮件服务器-Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+Centos7
- 烂泥:Postfix邮件服务器搭建之准备工作
- centos7搭建postfix邮件服务器
- linux+postfix+extmail+dovecot搭建邮件服务器 推荐
- postfix+extmail搭建web邮件服务器
- CentOS 搭建postfix邮件服务器
- postfix邮件服务器的搭建与测试
- 最新版本 postfix+mysql+courier-authlib+extmail+extman源码搭建邮件服务器
- ubuntu搭建postfix邮件服务器配置客户端收发邮件
- ubuntu 下postfix邮件服务器的搭建
- CentOS 5下搭建使用MySQL认证用户的POSTFIX邮件服务器
- linux+postfix+openwebmail+sasl搭建邮件服务器