postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真是一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。

1、首先设置hostname
   事先设置好hostname的话,Postfix可以自动配置好很多参数,节省时间。我们要假设的网站域名为100p.com,要搭建独立的邮件服务器,就把主机名设置为mail.100p.com。

 

#echo 'mail.100p.com' > /etc/hostname
#hostname -F /etc/hostname

2、安装Postfix

#rpm -ivh *.rpm 

我们的系统一般默认已经安装好Postfix。

#rpm -qa | grep postfix
postfix-2.6.-.el6_5.x86_64

3、基本配置
   Postfix的配置文件位于/etc/postfix/main.cf。一般有以下几个重要参数需要设置:

 *myhostname*  //主机名
   myhostname = mail.100p.com
   
  *myorigin*  //外发邮件时发件人的邮件域名
    myorigin = $myhostname //在通过Postfix发送邮件的时候,如果From字段不完整,Postfix会根据myorigin的值将地址补全为 *@mail.100p.com
   
  *mynetworks*  //需要收发的客户端的地址
    mynetworks = 20.0.2.1/, 20.0.8.1/, 127.0.0.0/ //mynetworks指定了本地网络的IP段,默认只包含主机自己,你可以添加需要收发的客户端的地址。
 
  *mydomain*   //使用邮件域
    mydomain = 100p.com //mydomain 设置本地网络的邮件域
      
  *mydestination*  //可接受邮件地址域名
    mydestination = 100p.com, mail.100p.com //mydestination指定了postfix在收到这些域名地址为目标的邮件时,作为接受方收下邮件。如果收到的邮件既不符合转发规则,又不符合接受规则,则拒绝收信。
 
  *sasl*  //sasl认证  
smtpd_sasl_auth_enable = no  //smtp不需要SASL认证时,设置为no。

4、 重启服务

配置完postfix的主要参数之后,需要重启postfix服务,重启方法如下:

 #service postfix restart
 #/etc/init.d/postfix  restart

服务重启失败,postfix - master dead but pid file exists
     remove /var/spool/postfix/pid/master.pid

如果还存在这个问题,可以查看端口
  

  # netstat  -lnp | grep :

杀死进程,重新启动postfix服务

5、安装dovecot,启动服务

  #service devocot restart 

配置文件,添加一下内容

 # vi /etc/dovecot/dovecot.conf

    

protocols = imap pop3 lmtp
protocols = pop3
disable_plaintext_auth = no
ssl = no
mail_location = mbox:/var/mail:INBOX=/var/mail/%u

6、测试收邮件,我们搭建的邮件服务器的地址为20.0.2.16,我们使用telnet进行测试:

 [root@gio020 postfix]# telnet 20.0.2.16
  Trying 20.0.2.16...
  Connected to gio016 (20.0.2.16).
  Escape character is '^]'.
  mail.100p.com ESMTP Postfix
  *MAIL FROM: wangtao@100p.com*  //    *为要输入的内容*  发送的邮件地址
   2.1. Ok
  *RCPT TO: bmc*                     // 接受的用户名
2.1. Ok
*DATA*                           //    发送的内容
End data with <CR><LF>.<CR><LF>
*This is a test mail.*             
*.*                               //  输入要发送的内容,以点号结束
2.0. Ok: queued as 172B162C17A
*quit*                             // quit退出测试
2.0. Bye

发送成功之后就可以再gio016的/var/mail/mbc下查看到刚才发送的邮件
邮件内容如下:

From wangtao@100p.com  Thu Sep  ::
Return-Path: <wangtao@100p.com>
X-Original-To: bmc
Delivered-To: bmc@mail.100p.com
Received: from gio020 (gio020 [20.0.2.20])
        by mail.100p.com (Postfix) with SMTP id 172B162C17A
        for <bmc>; Thu, Sep :: + (CST)    
   
DATA
This is a test mail.

Linux中postfix邮件服务器的搭建的更多相关文章

  1. Linux系统下邮件服务器的搭建(Postfix+Dovecot)

    对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件. 但是在前几天由于有重要信 ...

  2. Linux中Postfix邮件原理介绍(一)

    邮件相关协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议, 工作在TCP的25端口.它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 ...

  3. Linux中Postfix邮件WebMail配置(七)

    Extmail Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail.Extman两个部分的程序套件.ExtMail套件用于提供从 ...

  4. Linux中Postfix邮件认证配置(五)

    Postfix+Dovecot+Sasl工作原理 1.A用户使用MUA客户端借助smtp协议登陆smtpd服务器,需要先进行用户和密码认证,而SMTPD服务器端支持sasl认证,例如有一个sasl客户 ...

  5. Linux中Postfix邮件发送配置(三)

    部署DNS服务器 postfix根据域名和地址做一个MX记录,A记录,PTR记录(一般在互联网上邮件服务器都要反解,没有PTR记录会认为是垃圾邮件) $ service iptables stop $ ...

  6. Linux中Postfix邮件安装配置(二)

    本套邮件系统的搭建,从如何发邮件到收邮件到认证到虚拟用户虚拟域以及反病毒和反垃圾邮件等都有详细的介绍.在搭建过程中必须的参数解释以及原理都有告诉,这样才能更好地理解邮件系统. 卸载自带postfix ...

  7. Linux中Postfix邮件安装Maildrop(八)

    Postfix使用maildrop投递邮件 Maildrop是本地邮件投递代理(MDA), 支持过滤(/etc/maildroprc).投递和磁盘限额(Quota)功能. Maildrop是一个使用C ...

  8. Linux中Postfix邮件接收配置(四)

    Dovecot介绍 MRA邮件取回代理也有很多如courier-imap,cyrus-imap和dovecot这三个个工具,下面重点介绍Dovecot: 1.高安全性.据 Dovecot 的作者声称, ...

  9. linux 架设 postfix 邮件服务器

    http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html

随机推荐

  1. [NOIP2014] 普及组

    珠心算测验 模拟. 将所有“两个不同数之和”装进桶里,扫描原数组记录满足条件的数的个数. /*by SilverN*/ #include<iostream> #include<alg ...

  2. MVC5-3 Result分析

    众多的Result 使用MVC进行开发,可以看到有ActionResult.ContentReuslt.JsonResult..等,今天对这些Result进行背后分析.它到底是如何做到的 Action ...

  3. Entity Framework使用Sqlite时的一些配置

    前段时间试着用Entity Framework for Sqlite环境,发现了一些坑坑洼洼,记录一下. 同时试了一下配置多种数据库,包括Sqlite.Sql Server.Sql Server Lo ...

  4. Spring Cache 介绍

    Spring Cache 缓存是实际工作中非常常用的一种提高性能的方法, 我们会在许多场景下来使用缓存. 本文通过一个简单的例子进行展开,通过对比我们原来的自定义缓存和 spring 的基于注释的 c ...

  5. CSS3系列四(Media Queries移动设备样式)

    viewport设置适应移动设备屏幕大小 viewport:允许开发者创建一个虚拟窗口并自定义其窗口的大小或缩放功能 <meta name="viewport" conten ...

  6. POJ 1330 Nearest Common Ancestors (最近公共祖先LCA + 详解博客)

    LCA问题的tarjan解法模板 LCA问题 详细 1.二叉搜索树上找两个节点LCA public int query(Node t, Node u, Node v) { int left = u.v ...

  7. UVA11987Almost Union-Find(并查集删除节点)

    题目链接 题意:n个数(即1-n)和m个操作: 1表示把x和y合并,2表示把x移到y集合里面,3表示统计x集合的元素个数 1,3好说,关键是2操作,可以先把2删除掉,删除的操作可以找一个其他的数字来取 ...

  8. 使用Keil uVision下载hex文件

    在uVision3/uVision4/uVision5中,可以创建一个项目用来下载HEX文件到flash里面. 具体步骤如下: 1.  在菜单中,选择 Project - New Project... ...

  9. 3秒后自动跳转页面【js】

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Android学习笔记——button_activity

    工程的功能是实现在一个acticity上点击按钮,切换到另外一个activity 以下代码为MainActivity.java中的代码 package com.example.button_activ ...