`
ariyue
  • 浏览: 342171 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

3分钟安装配置Postfix邮件服务器

    博客分类:
  • java
阅读更多
Linux邮件服务器通常使用sendmail,在网上google了sendmail的教程后,我决定知难而退,改用Postfix。

  Postfix是用来替代sendmail的,它的配置文件比sendmail简单得多,配置相当容易。

  在配置邮件服务器之前,先解释几个概念。

  我们通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail等都是用来收信和发信的,称之为MUA:Mail User Agent,邮件用户代理。

  MUA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,sendmail和Postfix就是扮演MTA的角色。

  一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。

  一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。

  所以一封邮件的流程是:

  发件人:MUA --发送--> MTA -> ... -> MTA -> MDA <--收取-- MUA:收件人

  MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。

  需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。

  下面开始用Postfix搭建Linux下的邮件服务器。目标服务器是RedHat Enterprise Linux 4,首先需要停止sendmail:

  # /etc/init.d/sendmail stop

  并从启动组里移除:

  # chkconfig sendmail off

  然后,通过rpm包安装Postfix:

  # rpm -Uvh postfix-2.x.x.xxx.rpm

  Postfix只有一个/etc/postfix/main.cf需要修改,其他配置文件可以直接使用默认设置。

  第一个需要修改的参数是myhostname,指向真正的域名,例如:

  myhostname = mail.example.com

  mydomain参数指向根域:

  mydomain = example.com

  myorigin和mydestination都可以指向mydomain:

  myorigin = $mydomain

  mydestination = $mydomain

  Postfix默认只监听本地地址,如果要与外界通信,就需要监听网卡的所有IP:

  inet_interfaces = all

  

  Postfix默认将子网内的机器设置为可信任机器,如果只信任本机,就设置为host:

  mynetworks_style = host

  配置哪些地址的邮件能够被Postfix转发,当然是mydomain的才能转发,否则其他人都可以用这台邮件服务器转发垃圾邮件了:

  relay_domains = $mydomain

  现在,Postfix已经基本配置完成,我们需要对邮件的发送进行控制:

  对于外域到本域的邮件,必须接收,否则,收不到任何来自外部的邮件;

  对于本域到外域的邮件,只允许从本机发出,否则,其他人通过伪造本域地址就可以向外域发信;

  对于外域到外域的邮件,直接拒绝,否则我们的邮件服务器就是Open Relay,将被视为垃圾邮件服务器。

  先设置发件人的规则:

  smtpd_sender_restrictions = permit_mynetworks, check_sender_access hash:/etc/postfix/sender_access, permit

  以上规则先判断是否是本域地址,如果是,允许,然后再从sender_access文件里检查发件人是否存在,拒绝存在的发件人,最后允许其他发件人

  然后设置收件人规则:

  smtpd_recipient_restrictions = permit_mynetworks, check_recipient_access hash:/etc/postfix/recipient_access, reject

  

  以上规则先判断是否是本域地址,如果是,允许,然后再从recipient_access文件里检查收件人是否存在,允许存在的收件人,最后拒绝其他收件人。

  /etc/postfix/sender_access的内容:

  example.com REJECT

  目的是防止其他用户从外部以xxx@example.com身份发送邮件,但登录到本机再发送则不受影响,因为第一条规则permit_mynetworks允许本机登录用户发送邮件。

  /etc/postfix/recipient_access的内容:

  postmaster@example.com OK

  webmaster@example.com OK

  因此,外域只能发送给以上两个Email地址,其他任何地址都将被拒绝。但本机到本机发送不受影响。

  最后用postmap生成hash格式的文件:

  # postmap sender_access

  # postmap recipient_access

  

  启动Postfix:

  # /etc/init.d/postfix start

  设置到启动组里:

  # chkconfig postfix on

  

  现在就可以通过telnet来测试了:(红色是输入的命令)

  220 mail.example.com ESMTP Postfix

  helo localhost

  250 mail.example.com

  mail from:test@gmail.com

  250 Ok

  rcpt to:webmaster@example.com

  250 Ok

  data

  354 End data with <CR><LF>.<CR><LF>

  hello!!!!!!

  .

  250 Ok: queued as D68E41407D0

  mail from:test@gmail.com

  250 Ok

  rcpt to:haha@example.com

  554 <haha@example.com>: Recipient address rejected: Access denied

  quit

  221 Bye

  如果配置了SMTP认证,就可以让用户远程发送时能通过认证后再发送邮件,目前还没有配置,准备继续研究后再配置。需要注意的是,配置SMTP认证后,设置规则应该是:

  外域->本域:不需认证,允许,否则将接受不到任何外部邮件;

  本域->外域:需要认证,否则拒绝。

  因为我们作为发送服务器的MTA和转发的MTA实际上是由一个MTA完成的,所以需要以上规则。对于大型邮件服务商,发送服务器的MTA和转发的MTA是分别部署的,例如,sina的发送服务器是smtp.sina.com,需要经过用户认证,而转发服务器是mx???.sina.com,不需要认证,否则无法转发邮件。

  最后不要忘了在DNS的MX记录中将域名mail.example.com添上。
分享到:
评论

相关推荐

    Linux下Postfix邮件服务器搭建

    Linux 下 Postfix 邮件服务器搭建 在 Linux 下成功搭建起 Postfix 服务器需要完成以下几个步骤:安装 Postfix、配置 main.cf 文件、添加 DNS 服务器和测试 Postfix。 一、安装 Postfix 首先,需要卸载 sendmail ...

    如何在CentOS8上安装和配置Postfix邮件服务器的方法示例

    在本指南中,你将学习如何在 CentOS 8 上安装和配置 Postfix。 实验室设置: 系统:CentOS 8 服务器 IP 地址:192.168.1.13 主机名:server1.crazytechgeek.info(确保域名指向服务器的 IP) 步骤 1)更新系统 ...

    Linux下配置Postfix邮件服务器.pdf

    在Linux操作系统中,配置Postfix邮件服务器是一项关键任务,它涉及到系统的系统开发和运维工作。Postfix是一款开源的MTA(邮件传输代理),被广泛用于处理电子邮件的接收、转发和投递。以下是一些关于配置Postfix...

    Postfix 邮件服务器

    总结来说,搭建Postfix邮件服务器需要安装和配置Postfix、Webmail客户端(如Roundcube)以及数据库管理工具(如PHPMyadmin)。通过合理设置,可以创建一个功能齐全、安全可靠的邮件系统,满足企业或个人的邮件通信...

    postfix邮件服务器的部署

    部署Postfix邮件服务器涉及多个步骤,从环境准备、组件安装到配置优化和测试,每个环节都需要细心处理。理解邮件系统的架构和各个组件的作用,是成功搭建邮件服务器的关键。通过这样的配置,你可以拥有一个功能完备...

    树莓派安装postfix邮件服务1

    在本文中,我们将深入探讨如何在树莓派上安装和配置Postfix邮件服务,以及它与Dovecot、Squirrelmail、SpamAssassin和Sieve的结合使用,以建立一个功能齐全的家庭电子邮件服务器。树莓派因其小巧的体积和低功耗,...

    linux Postfix邮件服务器安装配置.docx

    ### Linux Postfix 邮件服务器安装配置 #### 一、前置环境准备 在开始安装配置 Postfix 邮件服务器之前,文档提到了需要先安装配置 Apache 和 DNS。 ##### 安装 Apache 1. **挂载安装介质**: ```bash mount /...

    利用yum安装postfix邮件服务器

    在本文中,我们将详细介绍如何在CentOS 5.4环境下利用YUM工具来安装并配置Postfix邮件服务器。该教程适用于那些希望自行搭建高效、稳定的邮件服务器的专业人士。 **1. 安装环境** - **操作系统:** CentOS 5.4 最小...

    CenotOS 5.2 下安装Ldap+postfix邮件服务器

    在CenotOS 5.2操作系统环境下搭建Ldap+postfix邮件服务器是一个涉及多个步骤和技术集成的过程。首先,Ldap(轻量级目录访问协议)用于存储和管理用户信息,而postfix是一款流行的SMTP服务器,负责邮件的发送和接收。...

    使用centos 架设postfix邮件服务器

    总的来说,架设一个 CentOS 上的 Postfix 邮件服务器涉及到 DNS 设置、软件安装、配置调整和安全防护等多个环节。遵循这些步骤,你将拥有一个能够从公网访问的邮件服务器,从而能够处理你的组织内部或外部的电子邮件...

    postfix电子邮件服务器配置.doc

    2. 配置Postfix的主配置文件main.cf、access文件、master.cf控制文件、virtual文件和aliases别名配置文件。 3. 启用SMTP认证机制,确保邮件服务器的安全。 三、Dovecot和Cyrus-SASL配置 1. 安装Dovecot和Cyrus-...

    postfix邮件安装配置文档

    ### Postfix邮件服务器全功能搭建知识点详解 #### 一、系统环境配置 在开始搭建Postfix邮件服务器之前,首先需要确保系统环境满足以下条件: 1. **操作系统**: 使用CentOS 5.5 或 RHEL 5.5。 2. **内存要求**: 最好...

    postfix邮件服务器的配置解析与错误总结

    总之,配置Postfix邮件服务器是一项涉及多方面知识的任务,需要对Linux系统、网络服务和安全策略有深入理解。正确配置和调试过程可能需要时间和耐心,但完成后将拥有一个可靠的邮件服务器系统。

    postfix 安装 邮件服务器

    postfix邮件服务器安装手册 Postfix是一个非常高效的(MTA) SMTP邮件服务器, 配置非常简单, 此文档同时包括配置apache,php, mysql的配置安装. 所有源码下载后保存在/usr/local/src目录下。

    postfix邮件服务器软件

    Postfix邮件服务器软件是一款在Linux平台上广泛使用的强大Mail服务器软件,它以其高效、稳定和安全性而备受推崇。这款开源软件由Wietse Venema在1998年开发,旨在替代旧有的Sendmail系统,为互联网上的邮件传输提供...

Global site tag (gtag.js) - Google Analytics