热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxPostfix邮件服务器的安装与配置

电子邮件服务的配置与应用一.电子邮件服务的概述(一).电子邮件服务的概述Internet最基本的服务,也是最重要的服务之一,就是电子邮件服务。据统计Internet上百分之三十以上的业务量是电子邮件,仅次于WWW服务。与传统的邮政信件服务类似,电子邮件可以用


电子邮件服务的配置与应用
一.电子邮件服务的概述
(一).电子邮件服务的概述
Internet最基本的服务,也是最重要的服务之一,就是电子邮件服务。据统计Internet上百分之三十以上的业务量是电子邮件,仅次于WWW服务。与传统的邮政信件服务类似,电子邮件可以用来在Internet或Intranet上进行信息的传递和交流,但电子邮件服务还具有快速、经济的特点。发一份电子邮件给远在他方的一位用户,通常来说,对方几分钟之内就能收到。如果选用传统邮件,发一封特快专递也需要至少一天的时间。而且电子邮件的费用最多只需几毛钱。与实时信息交流,如电话相比,因为电子邮件是采用存储转发的方式,发送邮件时,并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。
(二).电子邮件系统的简介
对于一个完整的电子邮件系统而言,它主要由以下三部分构件组成。
1.用户代理
2.邮件服务器
3.电子邮件使用的协议
SMTP协议
POP3协议
IMAP4协议
(三).电子邮件服务的工作原理
E-mail的传输过程如下。
① 用户在各自的POP服务器注册登记,由网络管理员设置为授权用户,并取得一个POP信箱,获得POP和SMTP服务器的地址信息。假设两个服务器的域名分别为example.com和163.com,注册用户分别为liu和chen,E-mail地址分别为liu@example.com和chen@163.com。
② 当example.com服务器上的用户liu向chen@163.com发送E-mail时,E-mail首先从客户端被发送至example.com的SMTP服务器。
③ example.com的SMTP服务器根据目的E-mail地址查询163.com的SMTP服务器,并转发该E-mail。
④ 163.com的SMTP服务器收到转发的E-mail,并保存。
⑤ 163.com的chen用户利用客户端登录至163.com的POP服务器,从其信箱中下载并浏览E-mail。

(四).主流电子邮件服务器软件
 在Linux平台中,有许多邮件服务器可供选择,但目前使用较多的是Sendmail服务器、 Postfix服务器和Qmail服务器。
 Sendmail是一个很优秀的邮件服务软件。几乎所有Linux的缺省配置中都内置了这个软件,只需要设置好操作系统,它就能立即运转起来。
 Postfix是一个由IBM资助下由Wietse?Venema?负责开发的一个自由软件工程产物,它的目的就是为用户提供除Sendmail之外的邮件服务器选择。
 Qmail是有Dan?Bernstein开发的可以自由下载邮件服务器软件,其第一个beta版本0.70.7发布于1996年1月24日,当前版本是2.3.3-2。
二.postfix邮件服务的安装
Red Hat Enterprise Linux 提供了sendmail和postfix两种STMP邮件服务软件,让用户可以随意地选择其中一种!不过,默认情况下安装程序已将sendmail安装到系统中了,如果要使用postfix,就必须先将sendmail服务停止,然后再安装postfix服务软件。具体操作步骤如下:
 ① 检查sendmail服务是否已启动
 netstat -nutlp | grep :25
 ② 关闭sendmail服务及开机时自启动
 /etc/rc.d/init.d/sendmail stop
 chkconfig sendmail off
 ③ 安装postfix服务
 将Red Hat Enterprise Linux 5的第3张安装盘放入光驱,加载光驱后在光盘的Server目录下找到postfix的RPM安装包文件postfix-2.3.3-2.i386.rpm,然后使用
下面的命令安装:
 rpm -ivh /mnt/Server/postfix-2.3.3-2.i386.rpm
三.postfix邮件服务的配置
(一).postfix服务的基本配置

1.设置运行postfix服务的邮件主机的主机名、域名
myhostname = mail.gdvcp.net
mydomain = gdvcp.net
2.设置由本机寄出的邮件所使用的域名或主机名称
myorigin = $mydomain
3.设置postfix服务监听的网络接口
inet_interfaces = all
4.设置可接收邮件的主机名称或域名
mydestination = $mydomain, $myhostname
5.设置可转发(Relay)哪些网络的邮件
mynetworks = 192.168.16.0/24
6.设置可转发哪些网域的邮件
relay_domains = gdvcp.net
(二).虚拟别名域的配置
① 编辑postfix主配置文件/etc/postfix/main.cf,进行如下定义:
virtual_alias_domains = dzxx.cn,example.com
virtual_alias_maps = hash:/etc/postfix/virtual
② 编辑配置文件/etc/postfix/virtual,进行如下定义:
@dzxx.cn  @gdvcp.net
admin@example.com  lbt
st0321@example.com  st0321001,st0321002
daliu@example.com  lbt,liu6812@163.com
③ 在修改配置文件main.cf和virtual后,要使更改立即生效,应分别执行/usr/sbin目录下以下的两条命令:
postmap /etc/postfix/virtual
postfix reload
此外,要使它能在单位内部网络中更好地转发邮件,还必须进行DNS设置。
rhel5.gdvcp.net.  IN   192.168.16.177
mail.gdvcp.net.  IN CNAME  rhel5.gdvcp.net.
gdvcp.net.      IN MX  10  mail.gdvcp.net.
(三).用户别名的配置
① 打开postfix主配置文件/etc/postfix/main.cf,应确认文件中包含以下两条默认语句:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
② 编辑配置文件/etc/aliases,进行如下定义:
st0322:  st0322001,st0322002,st0322003,st0322004
st0323:  :include: /etc/mail/st0323
jcz01:  jczliuming
lm01:  jczliuming,liuming86@163.com
③ 在修改配置文件main.cf和aliases后,要使更改立即生效,应分别执行/usr/sbin目录下以下的两条命令:
postalias /etc/aliases         
postfix reload
(四).SMTP认证的配置
 Cyrus SASL是Cyrus Simple Authentication and Security Layer的简写,它最大的功能是为应用程序提供了认证函数库。应用程序可以通过函数库所提供的功能定义认证方式,并让SASL通过与邮件服务器主机的沟通从而提供认证的功能。
1.Cyrus-SASL认证包的安装
 默认情况下,Red Hat Enterprise Linux安装程序会将Cyrus-SASL认证包,可使用下面的命令检查系统是否已经安装了Cyrus-SASL认证包或查看已经安装了何种版本:
 rpm -qa | grep sasl
 如果系统还没有安装Cyrus-SASL认证包,应将Red Hat Enterprise Linux 5第1、2和3张安装光盘分别放入光驱,加载光驱后在光盘的Server目录下找到与Cyrus-SASL认证包相关的RPM包文件,然后分别使用rpm -ivh命令安装。例如,要安装第1张光盘上的cyrus-sasl-2.1.22-4.i386.rpm包文件,可使用下面的命令:
 rpm -ivh /mnt/Server/cyrus-sasl-2.1.22-4.i386.rpm
2.Cyrus-SASL V2的密码验证机制
 默认情况下,Cyrus-SASL V2版使用saslauthd这个守护进程进行密码认证,而密码认证的方法有多种,使用下面的命令可查看当前系统中的Cyrus-SASL V2所支持的密码
验证机制:
 saslauthd ?v
 当前可使用的密码验证方法有getwent、kerberos5、pam、rimap、shadow和ldap。为简单起见,这里准备采用shadow验证方法,也就是直接用/etc/shadow文件中的用户账
户及密码进行验证,因此,在配置文件/etc/sysconfig/saslauthd中,修改当前系统所采用的密码验证机制为shadow,即:
MECH=shadow
3.测试Cyrus-SASL V2的认证功能
 由于Cyrus-SASL V2版默认使用saslauthd这个守护进程进行密码认证,因此,需要使用下面的命令来查看saslauthd进程是否已经运行:
 ps aux | grep saslauthd
 如果没有发现saslauthd进程,则可用下面的命令启动该进程并设置它开机自启动:
/etc/init.d/saslauthd start
chkconfig saslauthd on
 然后,可用下面的命令测试saslauthd进程的认证功能:
 /usr/sbin/testsaslauthd ?u lbt ?p ‘123456’
4.设置postfix启用smtp认证
main.cf文件中有关smtp认证的设置部分
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictiOns= permit_mynetworks,
 permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictiOns= permit_sasl_authenticated
smtpd_sasl_security_optiOns= noanonymous
5.测试postfix是否启用了smtp认证
 采用telnet命令连接到postfix服务器端口25来进行测试,测试过程
如下图所示。
四.启动和停止postfix服务
1.启动postfix服务
/etc/init.d/postfix start
2.停止postfix服务
/etc/init.d/postfix stop
3.重新启动postfix服务
/etc/init.d/postfix restart
4.重新载入postfix主配置文件
/etc/init.d/postfix reload
5.自动启动postfix服务
       如果需要让postfix服务随系统启动而自动加载,可以执行“ntsysv”命令启动服务配置程序,找到“postfix”服务,然后在其前面加上“*” 星号,确定即可。
五.POP和IMAP邮件服务的实现
 postfix服务只是一个MTA(邮件传输代理),它只提供SMTP服务,也就是只提供邮件的转发及本地的分发功能。要实现邮件的异地接收,还必须安装POP或IMAP服务。通常情况下,都是将STMP服务和POP或IMAP服务安装在同一台主机上,那么这台主机也就称为电子邮件服务器。Red Hat Enterprise Linux 5中,有以下两个软件可以同时提供
POP和IMAP服务:dovecot和cyrus-imapd。
(一).dovecot服务的实现
1.dovecot服务的安装
 Red Hat Enterprise Linux安装程序默认没有安装dovecot服务,可使用下面的命令检查系统是否已经安装了dovecot服务:
 rpm -q dovecot
 如果系统还没有安装dovecot服务,将Red Hat Enterprise Linux 5第2张安装光盘放入光驱,加载光驱后在光盘的Server目录下找到dovecot服务的RPM安装包文件dovecot-1.0-1.2.rc15.el5.i386.rpm和相关程序,然后使用下面的命令安装dovecot服务和相关程序:
rpm -ivh /mnt/Server/perl-DBI-1.52-1.fc6.i386.rpm
rpm -ivh /mnt/Server/mysql-5.0.22-2.1.i386.rpm
rpm -ivh /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm
2.dovecot服务的基本配置
 dovecot服务的配置文件是/etc/dovecot.conf。要启用最基本的dovecot服务,只需要修改该配置文件中的以下内容:
protocols =pop3 pop3sprotocol pop3 {     listen = *:10100  }
3.启动dovecot服务并设置为自启动
 /etc/rc.d/init.d/dovecot start
    chkconfig --level 345 dovecot on
(二).cyrus-imapd服务的实现
1.cyrus-imapd服务的安装
 Red Hat Enterprise Linux安装程序默认没有安装cyrus-imapd服务,可使用下面的命令检查系统是否已经安装了cyrus-imapd服务:
 rpm -qa | grep cyrus-imapd
 系统当前还没有安装cyrus-imapd服务,将Red Hat Enterprise Linux 5第2、3张安装光盘放入光驱,加载光驱后在光盘的Server目录下可找到以下与cyrus-imapd服务相关的RPM包文件:
cyrus-imapd-perl-2.3.7-1.1.el5.i386.rpm
cyrus-imapd-utils-2.3.7-1.1.el5.i386.rpm
db4-utils-4.3.29-9.fc6.i386.rpm
lm_sensors-2.10.0-3.1.i386.rpm
cyrus-imapd-2.3.7-1.1.el5.i386.rpm
cyrus-imapd-devel-2.3.7-1.1.el5.i386.rpm
然后,可使用rpm -ivh命令分别进行安装 。
2.cyrus-imapd服务的基本配置
cyrus-imapd服务的配置文件有以下三个:
/etc/sysconfig/cyrus-imapd:是用于启动cyrus-imapd服务的配置文件;
/etc/cyrus.conf:是cyrus-imapd服务的主要配置文件,其中包含该服务中各个组件(imap、pop3、sieve和nntp等)的设置参数;
/etc/imapd.conf:是cyrus-imapd服务中的imap服务的配置文件。
 为了使postfix与cyrus-imapd整合在一起,必须在postfix的主配置文件/etc/postfix/main.cf中加入以下内容:
 mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
3.启动cyrus-imapd服务并设置自动运行
 默认情况下,利用RPM包文件安装cyrus-imapd服务后,该服务是被停用的,所以用户必须手动启动它;如果需要开机自动运行,也必须手动启用。使用下面的命令可启动cyrus-imapd服务并设置其开机时自动运行:
service cyrus-imapd start
chkconfig cyrus-imapd on
4.用户邮件信箱的管理
创建邮件信箱时,为每一个邮件信箱命名的格式为:信箱类型.名称[.文件夹名称[.文件夹名称]]…
(1)为Cyrus-IMAP管理员账户cyrus设置密码
 passwd cyrus
(2) 使用cyradm管理工具为用户创建邮件信箱
 /usr/bin/cyradm -u cyrus  localhost
然后使用下面的命令就可为用户lbt创建一个邮件信箱:
createmailbox user.lbt
(3)在用户邮件信箱下添加其他文件夹
 使用下面的命令为用户lbt在其邮件信箱下创建发件箱、垃圾箱和草稿箱等其他文件夹:
createmailbox user.lbt.Send
createmailbox user.lbt.Trash
createmailbox user.lbt.Drafts
(4)为用户邮件信箱设置配额
 为用户lbt的信箱user.lbt设置5M的配额,可使用下面的命令:
 setquota user.lbt 5210
 用下面的命令查看用户邮箱的使用情况:
  su -l cyrus -c /usr/lib/cyrus-imapd/quota
(5)为用户邮件信箱设置权限
Cyrus-IMAP中设置用户信箱权限的6种缩写形式
六.电子邮件客户端的配置
七.Web方式收发邮件
虽然postfix没有直接提供Web邮件服务功能,但是通常可通过将它与Apache以及第三方的Webmail软件(如squirrelmail、openwebmail等)集成在一起,提供Web邮件服务。
 1.squirrelmail的安装
 Red Hat Enterprise Linux 安装程序默认没有安装squirrelmail,可使用下面的命令检查系统是否已经安装了squirrelmail:
 rpm -q squirrelmail
 如果系统还没有安装squirrelmail,将Red Hat Enterprise Linux 5第2、3张安装光盘放入光驱,加载光驱后在光盘的Server目录下分别找到squirrelmail的RPM安装包文件php-mbstring-5.1.6-5.el5.i386.rpm 和squirrelmail-1.4.8-4.el5.noarch.rpm,然后使用下面的命令安装它:
rpm -ivh /mnt/Server/php-mbstring-5.1.6-5.el5.i386.rpm
rpm -ivh /mnt/Server/squirrelmail-1.4.8-4.el5.noarch.rpm
2.squirrelmail的配置
 squirrelmail的主配置文件为/etc/squirrelmail/config.php。
要配置squirrelmail,可以直接修改该文件的内容,但是使用squirrelmail的配置工具来配置更方便、更直观。使用squirrelmail的配置工具进行配置的具体步骤如下。打开squirrelmail的配置工具,可执行下面的命令:
 /usr/share/squirrelmail/config/conf.pl
3.使用squirrelmail收发邮件
 采用RPM包安装squirrelmail时,安装程序会在Apache服务器的默认Web站点中配置一个别名webmail,该别名被定义在/etc/httpd/conf.d/squirrelmail.conf文件中即:
 Alias /webmail /usr/share/squirrelmail
 因此,可直接在浏览器的地址栏中输入http://mail.gdvcp.net/webmail(其中,mail.gdvcp.net是postfix apache squirrelmail服务器的域名),从而打开
squirrelmail的登录页面。


推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • .htaccess文件 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
author-avatar
SJ曹圭贤V
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有