zoukankan      html  css  js  c++  java
  • Linux中postfix邮件服务器的搭建

         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.6-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/144, 20.0.8.1/144, 127.0.0.0/8   //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
        1 remove /var/spool/postfix/pid/master.pid 
               

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

    1  # netstat  -lnp | grep :25


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

    5、安装dovecot,启动服务

       

    1  #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 25
      Trying 20.0.2.16...
      Connected to gio016 (20.0.2.16).
      Escape character is '^]'.
      220 mail.100p.com ESMTP Postfix
      *MAIL FROM: wangtao@100p.com*  //    *为要输入的内容*  发送的邮件地址
       250 2.1.0 Ok
      *RCPT TO: bmc*                     // 接受的用户名
       250 2.1.5 Ok
      *DATA*                           //    发送的内容
      354 End data with <CR><LF>.<CR><LF>
      *This is a test mail.*              
      *.*                               //  输入要发送的内容,以点号结束
      250 2.0.0 Ok: queued as 172B162C17A
      *quit*                             // quit退出测试
      221 2.0.0 Bye


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

    From wangtao@100p.com  Thu Sep 22 16:31:56 2016
    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, 22 Sep 2016 16:31:12 +0800 (CST)
    
        
        
    DATA 
    This is a test mail.



     

     

     

  • 相关阅读:
    SpringMVC 学习笔记(四) 处理模型数据
    UE4关于Oculus Rift (VR)开发忠告
    电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java
    2014年工作中遇到的10个问题:221-230
    2014年工作中遇到的10个问题:221-230
    公司新年第一次全员大会小记
    公司新年第一次全员大会小记
    雷观(十八):我的世界观
    雷观(十八):我的世界观
    今天烦死了,各种技术,各种问题,全栈式多屏工程师不好做啊
  • 原文地址:https://www.cnblogs.com/wangtao1993/p/5981277.html
Copyright © 2011-2022 走看看