Postfix邮件服务器搭建之软件安装与配置

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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

clip_image001

查看版本cyrus-sasl,使用如下命令:

/usr/sbin/saslauthd -v

clip_image002

前面我们介绍了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=

clip_image003

修改smtpd.conf文件,添加如下代码:

vim /etc/sasl2/smtpd.conf

pwcheck_method: saslauthd

mech_list: plain login

log_level: 3

saslauthd_path:/var/run/saslauthd/mux

clip_image004

2.3 测试cyrus-sasl

cyrus-sasl配置完毕后,我们来测试其是否正常。创建系统用户ilanni,并修改其密码,如下:

useradd ilanni &&echo ‘ilannimail’| passwd –stdin ilanni

su – ilanni

mkdir -p ~/mail/.imap/INBOX

clip_image005

用户创建完毕后,要启动cyrus-sasl,如下:

/etc/init.d/saslauthd start

chkconfig saslauthd on

clip_image006

现在来使用刚刚创建的用户进行认证测试,如下:

testsaslauthd -u ilanni -p ‘ilannimail’

clip_image007

通过上图,我们可以很明显的看出cyrus-sasl已经正常启动,并且我们的配置也是完全正确的。

三、postfix安装与基本配置

在本章节会介绍postfix的安装和基本配置,先来介绍postfix的安装。

3.1 postfix安装

安装postfix,使用如下命令:

yum -y install postfix

clip_image008

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

clip_image009

注意: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

clip_image010

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

clip_image011

通过上图,我们可以很明显的看到postfix已经正常启动,并且监听的是tcp的25端口。

postfix启动后,我们也可以通过postfix的日志进行查看。postfix的日志文件为/var/log/maillog。如下:

tail -f /var/log/maillog

clip_image012

现在我们来测试postfix是否可以发送邮件,如下:

telnet mail.ilanni.com 25

mail from:admin@ilanni.com

rcpt to:xxxx36022@qq.com

data

.

quit

clip_image013

注意:上述命令中mail from:admin@ilanni.com中的admin@ilanni.comn是随便填写的,而rcpt to:xxxx36022@qq.com中的邮箱则是确实存在的。

现在我们再切换到那个QQ邮箱的收件箱,查看是否收到刚刚发送的邮件,如下:

clip_image014

通过上图,我们可以很明显的看出postfix已经可以正常发送邮件了。

四、dovecot安装与基本配置

在本章节会介绍dovecot的安装和基本配置,先来介绍dovecot的安装。

4.1 dovecot安装

安装dovecot,使用如下命令:

yum -y install dovecot dovecot-devel dovecot-mysql pam-devel

dovecot –version

clip_image015

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

clip_image016

4.2 dovecot基本配置

dovecot安装完毕后,我们现在来配置dovecot。dovecot的配置选项也是很多,在此只先介绍基本的功能。

dovecot的配置文件都在/etc/dovecot/目录下。

vim /etc/dovecot/dovecot.conf

protocols = imap pop3

listen = *

!include conf.d/*.conf

clip_image017

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

disable_plaintext_auth = no

auth_mechanisms = plain login

!include auth-system.conf.ext

clip_image018

禁用ssl认证,如下:

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

ssl = no

clip_image019

启用dovecot的日志,如下:

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

clip_image020

现在我们来启动dovecot,使用如下命令:

/etc/init.d/dovecot start

chkconfig dovecot on

/etc/init.d/portreserve stop

chkconfig portreserve off

clip_image021

注意:上述命令中的portreserve服务相关的两行,这个如果启动的话,你会发现系统重启后dovecot会无法启动,这是因为portreserve占用了dovecot的端口,所以在此我们禁用portreserve服务。

4.3 测试dovecot

Dovecot启动完毕后,我们现在来测试dovecot,使用如下命令:

telnet mail.ilanni.com 110

telnet mail.ilanni.com 143

出现+Ok Dovecot ready,则表示dovecot配置正确。

clip_image022

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

clip_image023

clip_image024

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

clip_image025

通过上图,我们可以很明显的看到系统用户ilanni,已经正确连接到邮件服务器,这也说明了dovecot配置成功了。

 

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
1月前
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
61 1
|
11天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
9天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
29 3
|
12天前
|
存储 缓存 固态存储
阿里云服务器2核8G、4核16G、8核32G配置租用收费标准与活动价格参考
2核8G、8核32G、4核16G配置的云服务器处理器与内存比为1:4,这种配比的云服务器一般适用于中小型数据库系统、缓存、搜索集群和企业办公类应用等通用型场景,因此,多为企业级用户选择。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
13天前
|
存储 编解码 安全
阿里云服务器2核4G、4核8G、8核16G配置租用收费标准与活动价格参考
通常情况下,个人和一般企业用户在购买阿里云服务器时比较喜欢购买2核4G、4核8G、8核16G等配置,这些配置既能满足各种图文类中小型网站和应用又能满足企业网站应用、批量计算、中小型数据库系统等场景,2核4G配置适合新手入门或初创企业,4核8G与8核16G兼具成本与性能优势,适合通用场景,本文介绍这些配置的最新购买价格,包含原价收费标准和最新活动价格。
|
1月前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
57 22
|
18天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
27天前
|
NoSQL Linux PHP
|
1月前
|
JavaScript 前端开发 Java
vue2知识点:vue-cli脚手架配置代理服务器
vue2知识点:vue-cli脚手架配置代理服务器
51 7