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.

最新文章

  1. NoteExpress 自定义参考文献输出样式
  2. 使用Installutil安装系统服务方法
  3. SqlServer基础:类型转换Cast和Convert
  4. servlet &amp; filter &amp; listener &amp; interceptor
  5. 观【史上最牛linux视频教程】整理笔记,持续更新……
  6. 对加密方式(公钥私钥)的形象理解(以http和https为例)
  7. BAT清理垃圾
  8. DOM----comment类型
  9. jboss-AS目录结构了解(资料摘取)
  10. WPF实现无窗体鼠标跟随
  11. Xamarin之 环境错误集锦
  12. Mysql数据库读写分离Amoeba
  13. SQL入门之条件表达式
  14. 一张图,理解JAVA体系结构、运行机制、JVN运行机制、Java平台(初学)
  15. JSP最常用的五种内置对象(out,request,response,session,application)
  16. 6.3 x86处理器如何处理MSI-X中断请求
  17. hdu:2030.汉字统计
  18. Yii2.0调用sql server存储过程并获取返回值
  19. AJAX_违反了同源策略_就是&quot;跨域&quot;——jsonp 和 cors
  20. 十种MYSQL显错注入原理讲解(三)

热门文章

  1. [转]vi command summary
  2. js实现A*寻路算法
  3. Guava 学习计划
  4. 三角形问题的解决复杂度O(n^3)和O(nlogn)的比较
  5. IOS - Create Push Segue Animation Without UINavigationController
  6. BPEL 实例教程
  7. Bootstrap基本类和组件学习二
  8. easyUI数据表格datagrid之笔记2
  9. CMAKE使用
  10. Robot Framework--03 案例及资源区