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. poj1379 模拟退火

    题意:和上题一样...就是把最小值换成了最大值.. ref:http://www.cppblog.com/RyanWang/archive/2010/01/21/106112.html #includ ...

  2. poj2318

    题意:把一个矩形划分成n部分,再给出一堆点,求每个部分内落入了多少点 sol attempt1:暴力 注意每个polygon中的点要按笔画的顺序排列好.还有就是有的点可能落在了upper or low ...

  3. StringBuilder类与String类的区别

    String对象是不可改变的,每次使用String类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的String对象相关的 ...

  4. C#检测驱动是否安装的问题

    #region 检测CCD驱动是否安装成功 string path = @"C:\WINDOWS\system32\drivers\UsbCamIF.sys"; //驱动的默认安装 ...

  5. no suitable HttpMessageConverter found for request type [java.lang.Integer]

    今天在使用Spring Template的时候遇到了这个异常: no suitable HttpMessageConverter found for request type [java.lang.I ...

  6. rpm包安装过程中依赖问题“libc.so.6 is needed by XXX”解决方法

    rpm包安装过程中依赖问题"libc.so.6 is needed by XXX"解决方法 折腾了几天,终于搞定了CentOS上的Canon LBP2900打印机驱动.中间遇到了一 ...

  7. chmod权限设置

    一.其语法格式为:chmod [who] [opt] [mode] 文件/目录名 1.其中who表示对象,是以下字母中的一个或组合: u:表示文件所有者 g:表示同组用户 o:表示其它用户 a:表示所 ...

  8. C++ 动态数组实例

    一维动态数组的实例: #include <iostream> using namespace std; int main() { int *arr; int n; cout<< ...

  9. 捉襟见肘之UIImagePickerController 和自定义照相机

    目标:自拍并结合C++算法,识别人脸信息,第一步骤,调用相机并且自定义界面和转场效果 先复习一下 https://developer.apple.com/library/prerelease/tvos ...

  10. 未签名有元程序集 Unsigned Friend Assemblies

    C#中的访问修饰符internal可以使类型在同程序集中可以被相互访问.但有时会有这样一个要求,我们希望一个程序集中的类型可以被外部的某些程序集访问,如果设置成public的话,就被所有的外部程序集访 ...