烂泥:Postfix邮件服务器搭建之软件安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下
想要获得更多的文章,可以关注我的微信ilanniweb
Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl、postfix、dovecot、postfixadmin、roundcubemail,只有这几个软件相互配合才能搭建一套完整的邮件服务器。
PS:本次实验在centos6.5 64bit上进行。
一、软件功能介绍
cyrus-sasl、postfix、dovecot、postfixadmin、roundcubemail,这五款软件,分别有各自的功能。下面就分别一一介绍各自的功能。
1.1 cyrus-sasl功能介绍
cyrus-sasl(Simple Authentication Security Layer)简单认证安全层, SASL主要是用于SMTP认证。而cyrus-sasl在OS里面,saslauthd是其守护进程。
1.2 postfix功能介绍
postfix是一个电子邮件服务器,它为了改良sendmail邮件服务器而产生的,并且它的配置文件比sendmail简单得多,配置相当容易。
postfix作为发送邮件服务器。
1.3 dovecot功能介绍
dovecot是一个开源的IMAP和POP3邮件服务器,支持Linux/Unix系统。
POP/IMAP是MUA从邮件服务器中读取邮件时使用的协议。其中,与POP3是从邮件服务器中下载邮件存起来,IMAP则是将邮件留在服务器端直接对邮件进行管理、操作。
dovecot可以被其他具有相同功能的软件替代,比如:cyrus-imapd。
dovecot作为接收邮件服务器。
1.4 postfixadmin功能介绍
postfixadmin是一个基于web的postfix邮件发送服务器的管理工具,可以直接管理postfix的虚拟域名和邮件用户,前提是这些数据是存储在mysql或者是PostgreSQL数据库中。
postfix的邮件用户和虚拟域名的管理都是通过postfixadmin来进行的。
1.5 roundcubemail功能介绍
roundcubemail是一个基于浏览器,支持多国语言的IMAP客户端,它的操作界面看起像一个桌面应用程序。它提供一个email客户端应该具备的所有功能,包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查等。
roundcubemail采用PHP+Ajax开发并且需要MySQL数据库来存储数据。 用户界面采用XHTML+CSS2设计。
roundcubemail可以被其他具有相同功能的软件替代,比如:openwebmail、squireelmail。
roundcubemail作为web端的邮件客户端。
这几个软件中除了postfixadmin是通过单独下载安装的,其他的几个软件都是直接使用yum方式进行安装。但是yum方式安装的不是各个软件的最新版本,所以在下面的介绍中,我们还会介绍到最新版本的软件。
二、cyrus-sasl安装与配置
在本章节会介绍cyrus-sasl的安装和配置,先来介绍cyrus-sasl的安装。
2.1 cyrus-sasl安装
cyrus-sasl的安装很简单,使用如下命令:
yum -y install cyrus-sasl

查看版本cyrus-sasl,使用如下命令:
/usr/sbin/saslauthd -v

前面我们介绍了saslauthd是认证服务cyrus-sasl的守护进程,所以我们就可以通过saslauthd查看cyrus-sasl的版本。
2.2 cyrus-sasl配置
cyrus-sasl安装完毕后,我们现在来配置cyrus-sasl。
修改saslauthd文件把MECH的值修改为shadow,如下:
vim /etc/sysconfig/saslauthd
SOCKETDIR=/var/run/saslauthd
MECH=shadow
FLAGS=

修改smtpd.conf文件,添加如下代码:
vim /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
log_level: 3
saslauthd_path:/var/run/saslauthd/mux

2.3 测试cyrus-sasl
cyrus-sasl配置完毕后,我们来测试其是否正常。创建系统用户ilanni,并修改其密码,如下:
useradd ilanni &&echo 'ilannimail'| passwd --stdin ilanni
su - ilanni
mkdir -p ~/mail/.imap/INBOX

用户创建完毕后,要启动cyrus-sasl,如下:
/etc/init.d/saslauthd start
chkconfig saslauthd on

现在来使用刚刚创建的用户进行认证测试,如下:
testsaslauthd -u ilanni -p 'ilannimail'

通过上图,我们可以很明显的看出cyrus-sasl已经正常启动,并且我们的配置也是完全正确的。
三、postfix安装与基本配置
在本章节会介绍postfix的安装和基本配置,先来介绍postfix的安装。
3.1 postfix安装
安装postfix,使用如下命令:
yum -y install postfix

Centos6.5默认安装的是postfix2.6.6版本,所以以下的所有配置都是在postfix2.6.6版本上进行的。
如果你想使用稍微新版本的话,可以通过如下的方式进行安装,如下:
wget -P /etc/yum.repos.d https://repos.fedorapeople.org/repos/mstevens/postfix/epel-postfix.repo
yum -y install postfix
postconf -d | grep mail_version

注意:postconf是检查posftix配置的命令。
如果想安装最新版本的postfix的话,我们也可以通过如下连接下载安装,如下:
wget http://repos.oostergo.net/6/postfix-3.1/postfix-3.1.0-1.el6.x86_64.rpm
rpm -ivh postfix-3.1.0-1.el6.x86_64.rpm
postconf -d | grep mail_version

Posftxi安装完毕后,我们现在来开始postfix的基本配置。
3.2 postfix基本配置
为什么说是postfix的基本配置呢?因为postfix的配置选项特别多,其他的功能我们在下一篇文章中进行介绍,在此只先介绍基本的发送邮件配置。
postfix的配置文件是main.cf,main.cf文件配置选项很多,下面我们就给出最常使用的配置,红色部分是要根据自己的实际情况修改的,如下:
vim /etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.ilanni.com
mydomain = ilanni.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps =
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
3.3 测试postfix配置
postfix配置完毕后,我们需要测试postfix是否可以正常发送邮件。
现在来启动postfix,使用如下命令:
/etc/init.d/postfix start
chkconfig postfix on
netstat -tunlp
ps -ef |grep postfix

通过上图,我们可以很明显的看到postfix已经正常启动,并且监听的是tcp的25端口。
postfix启动后,我们也可以通过postfix的日志进行查看。postfix的日志文件为/var/log/maillog。如下:
tail -f /var/log/maillog

现在我们来测试postfix是否可以发送邮件,如下:
telnet mail.ilanni.com 25
mail from:admin@ilanni.com
rcpt to:xxxx36022@qq.com
data
.
quit

注意:上述命令中mail from:admin@ilanni.com中的admin@ilanni.comn是随便填写的,而rcpt to:xxxx36022@qq.com中的邮箱则是确实存在的。
现在我们再切换到那个QQ邮箱的收件箱,查看是否收到刚刚发送的邮件,如下:

通过上图,我们可以很明显的看出postfix已经可以正常发送邮件了。
四、dovecot安装与基本配置
在本章节会介绍dovecot的安装和基本配置,先来介绍dovecot的安装。
4.1 dovecot安装
安装dovecot,使用如下命令:
yum -y install dovecot dovecot-devel dovecot-mysql pam-devel
dovecot --version

Centos6.5安装的dovecot版本为2.0.9,如有要安装最新版的话,我们可以通过如下命令。
wget -P /etc/yum.repos.d/ http://repos.fedorapeople.org/repos/mstevens/dovecot/epel-dovecot.repo
yum -y install dovecot dovecot-devel dovecot-mysql pam-devel
dovecot --version

4.2 dovecot基本配置
dovecot安装完毕后,我们现在来配置dovecot。dovecot的配置选项也是很多,在此只先介绍基本的功能。
dovecot的配置文件都在/etc/dovecot/目录下。
vim /etc/dovecot/dovecot.conf
protocols = imap pop3
listen = *
!include conf.d/*.conf

vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
!include auth-system.conf.ext

禁用ssl认证,如下:
vim /etc/dovecot/conf.d/10-ssl.conf
ssl = no

启用dovecot的日志,如下:
vim /etc/dovecot/conf.d/10-logging.conf

现在我们来启动dovecot,使用如下命令:
/etc/init.d/dovecot start
chkconfig dovecot on
/etc/init.d/portreserve stop
chkconfig portreserve off

注意:上述命令中的portreserve服务相关的两行,这个如果启动的话,你会发现系统重启后dovecot会无法启动,这是因为portreserve占用了dovecot的端口,所以在此我们禁用portreserve服务。
4.3 测试dovecot
Dovecot启动完毕后,我们现在来测试dovecot,使用如下命令:
telnet mail.ilanni.com 110
telnet mail.ilanni.com 143
出现+Ok Dovecot ready,则表示dovecot配置正确。

下面我们来测试使用邮件客户端工具foxmail来连接测试,注意这个用户就是我们第2.3章节中创建的ilanni用户,具体过程如下:


注意:在此我们选择的服务器类型是POP3类型,而不是IMAP类型。如果选择IMAP类型的话,会提示权限错误。

通过上图,我们可以很明显的看到系统用户ilanni,已经正确连接到邮件服务器,这也说明了dovecot配置成功了。
烂泥:Postfix邮件服务器搭建之软件安装与配置的更多相关文章
- 烂泥:Postfix邮件服务器搭建之虚拟用户配置
virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...
- 烂泥:Postfix邮件服务器搭建之准备工作
说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正 ...
- postfix邮件服务器搭建01-准备篇
本系列文章主要介绍linux下主流的开源邮件系统postfix的搭建过程,构建一个通过postfix虚拟用户管理的完整的邮件系统, 该系统包括以下组件: 邮件收发端postfix,dovecot, 邮 ...
- postfix邮件服务器搭建03-webmail安装篇
本文接着上文的安装进行,介绍另一个WebMail功能更加人性化的roundcube.当然也可以对已有的postfix邮件系统进行功能完善 1.下载安装roundcube cd /server/tool ...
- Postfix 邮件服务器搭建
搭建服务环境: Centos 6 配置域名hosts: mail.demonC6.com 1.清理系统自带的邮件软件 # rpm -qa | grep sendmail* # rpm -e sendm ...
- postfix邮件服务器搭建02-安装篇
本文接着上文的环境,进行postfix邮件发信端和dovecot邮件收信端的部署,之后部署基于浏览器的extmail图形管理端,使管理员可以通过网页对邮件虚拟用户进行管理,对邮件服务器进行管控 1.p ...
- Postfix邮件服务器搭建及配置
一.邮件服务器(Mail Server)的传输协议 1.简单邮件传输协议(SMTP):Simple Mail Transger Protocol 2.扩展的简单邮件传输协议(ESMTP):Extend ...
- postfix邮件服务器搭建04-终结篇
本来是计划对postfix做一个全系列的安装文档的,不过在查某个知识点的时候,偶然找到一个已经写好的postfix全系列文章,在全部看完之后惊为天人,我认为:总体上会比我要写的要好,所以我准备借用一下 ...
- CentOS6.4下邮件服务器搭建
CentOS6.4下邮件服务器搭建 linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...
随机推荐
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)
ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...
- react入门(5)
对前面四篇内容进行简单的回顾: react入门(1):jsx,组件,css写法 react入门(2):事件,this.props.children,props,...other,map循环 react ...
- 自定义MVC框架
我们在学习自定义MVC框架的时候常常会听到Model1 ,Model2和MVC.那么什么是Model1 什么是Model2什么又是MVC呢? 什么是Model1? Model1就是一种纯jsp开发技术 ...
- bzoj 1001狼抓兔子(对偶图+最短路)最大流
推荐文章:<浅析最大最小定理在信息学竞赛中的应用>--周冬 题目 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还 ...
- PHP 字符串左边补0,字符串右边补0
概述:项目中经常会使用到在一串编码左边.右边甚至中间自动填充制定字符如"0" 并且制定填充后的字符串长度. 函数str_pad:该函数返回 input 被从左端.右端或者同时两端被 ...
- 20、ASP.NET MVC入门到精通——WebAPI
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 微软有了Webservice和WCF,为什么还要有WebAPI? 用过WCF的人应该都清楚,面对那一大堆复杂的配置文件,有时候一出问题,真的 ...
- 转移博客到xinqiyang.freeflare.com了,这里会继续更新.
hi.... 欢迎大家来到这里,这里将转移到github page搭建的博客 http://xinqiyang.freeflare.com 了,现在习惯于实用markdown来写东西了,这样可以脱离浏 ...
- Ext.NET MVC 配置问题总结
随着VS版本和.NET MVC版本.EF的版本的不断更新,虽然很多功能随着版本的提升而更完善,但对于旧版本开发的软件就有点悲催了,或许很多开发者都遇到类似的问题! 最近有一个项目是用.NET MVC3 ...
- webpack初体验
本人菜鸟一枚,最近一直在研究webpack的使用,记录下自己的学习体会,由于网上关于webpack的资源(技术博客)太多,对于初学webpack的新手来说,看着五花八门的技术博客,真是头晕眼花(可能是 ...
- 自己实现苹果安装app动画
最近在学习CALayer相关动画,然后某一天突然发现苹果安装app这动画就很不错啊,所以就想自己实现下. 具体效果如图: 还是不试不知道一试吓一跳啊,这看上去简单的动画没我想象的那么简单. 首先这个动 ...