Postfix为何物,详见:http://zh.wikipedia.org/wiki/Postfix

0.关于Postfix

postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度。性能和稳定性上都更胜一筹。如今眼下许多的主流邮件服务事实上都在採用postfix. 当我们须要一个轻量级的的邮件server是,postfix不失为一种选择。

1. postfix是免费的:

    postfix想要作用的范围是广大的Internet用户。试图影响大多数的Internet上的电子邮件系统,因此它是免费的。

2. 更快:

    postfix在性能上大约比sendmail快三倍。一部执行postfix的台式PC每天能够收发上百万封邮件。

3. 兼容性好:

    postfix是sendmail兼容的,从而使sendmail用户能够非常方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。

   4. 更健壮:

postfix被设计成在重负荷之下仍然能够正常工作。当系统执行超出了可用的内存或磁盘空间时,postfix会自己主动降低执行进程的数目。当处理的邮件数目增长时,postfix执行的进程不会跟着添加。

5. 更灵活:

postfix是由超过一打的小程序组成的,每一个程序完毕特定的功能。

你能够

通过配置文件设置每一个程序的执行參数。

6. 安全性

postfix具有多层防御结构,能够有效地抵御恶意入侵者。如大多数的postfix程序能够执行在较低的权限之下,不能够通过网络訪问安全性相关的本地投递程序等等。

以下来介绍linux上怎样搭建和配置postfix服务:

1.关掉sendmail相关的全部服务,最好是直接卸载sendmail.

# service sendmail stop

# chkconfig sendmail off

#rpm -qa | grep sendmail | xargs rpm -e

2.安装postfix.

redhat6.0以上版本号应该是默认集成了postfix服务的,假如没有安装的话,能够手动安装。

rpm -qa | grep postifx (查看是否安装)

yum install postfix

3.安装完毕后。改动配置文件:/etc/postfix/main.cfg

vi /etc/postfix/main.cf





myhostname = sample.test.com  ← 设置系统的主机名





mydomain = test.com  ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)





myorigin = $mydomain  ← 将发信地址“@”后面的部分设置为域名(非系统主机名)





inet_interfaces = all  ← 接受来自全部网络的请求





mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 指定发给本地邮件的域名





home_mailbox = Maildir/  ← 指定用户邮箱文件夹

<保存退出。>

4.为本机加入DNS server.

为什DNS Server?由于在邮件发送过程中。须要把邮件地址的domain地址转化成IP地址,再去发送给相应的收件人,这里涉及到DNS中的A记录和MX记录相关的知识,不熟悉的同学能够google或者百度 脑补一下 :-)

怎样加入DNS server呢,DNS server去哪里寻找?

vim /etc/resolv.conf 

加入例如以下行:

nameserver 8.8.8.8

nameserver 8.8.4.4

上面用的8.8.8.8/8.8.4.4是Google Free DNS server,当然还有非常多免费的DNS server供大家使用,能够google一下:-)

5.測试一下邮件是否可以发送成功:

命令行输入$: > echo "Mail Content" | mail -s "Mail Subject" xxxx@xxx.com

Note:if you see below warings after you run above command.

send-mail: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
send-mail: warning: inet_protocols: configuring for IPv4 support only
postdrop: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
postdrop: warning: inet_protocols: configuring for IPv4 support only

that means you don't have IPv6 configured in your OS's network stack, but your mailer (presumably postfix) is configured to use IPv6. Since there is no IPv6 for your mailer to use, it's warning
you that it's only going to use IPv4.

To disable the waring messsage, go to /etc/postfix/main.cf and
change from:

inet_protocols = all

to:

inet_protocols = ipv4

This will only use ipv4 and the warning message will go away.

You will have to issue a stop and start for postfix to register the change.

service postfix restart

6.查看log,确认邮件发送状态:

Postfix邮件的log位置是:/var/log/maillog

发送成功的话。会返回250和OK,也能够去自己的邮件client查收。

一切OK的话,那Postfix mail service应该就搭建成功了。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

另外一些实用的postfix维护命令。一遍日常的检測和维护:

mailq :会列出当前在postfix发送队列中的全部邮件

postsuper -d ALL:删除当前等待发送队列的全部邮件,包含发送失败的退信

当然还有非常多,就不一一列举了,大家能够网上搜索扩展。Good Luck!

7.Update Mail From sender

echo "do-not-reply@example.com   root@example.com" >> /etc/postfix/generic
echo "smtp_generic_maps = hash:/etc/postfix/generic" >>/etc/postfix/main.cf
postmap /etc/postfix/generic
service postfix restart

Linux下Postfix的配置和使用的更多相关文章

  1. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  2. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  3. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  4. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  5. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  6. linux下golang的配置

    linux下golang的配置 之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包.花了一小时全部解决,把过程记录一下. 安装 go 我 ...

  7. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  8. Linux下PHP安装配置MongoDB数据库连接扩展

    Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...

  9. Linux下安装与配置Nginx

    一.准备 Nginx版本:nginx-1.7.7.tar.gz   请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...

随机推荐

  1. Python 手册——参数传递以及交互模式

    我们先来看参数传递. 调用解释器时,脚本名和附加参数之传入一个名为sys.argv的字符串列表.没有脚本和参数时,它至少也有一个 元素:sys.argv[0]此时为空字符串.脚本名指定为‘ - ’(表 ...

  2. 结合rpyc使用python实现动态升级的方法

    动态升级,就是程序不退出的情况下,将其代码更新的策略.假设集群含有多个机器,然后每个机器部署一套程序,当升级的时候就要去所有的上面部署一把. (1)有个包装程序专门负责接口并检查是否需要更新,当需要更 ...

  3. PDF抽取文字 C# with Adobe API

    前提是PDF里面是有文字的! 一次性取得所有页内容: /// <summary> /// 改进前取得所有页的所有word /// </summary> /// <para ...

  4. linq 多个left join 和 sql union all -> linq union 方法

     (   from s in Base_SysMenus   join r in Base_RoleRights on s.Menu_Id equals r.Menu_Id into temp   f ...

  5. Word神器使用

    调整自动换行符的换行起始点: 拖拽下面的三角部分(三角下面的四边形部分不要碰),就可以调整自动编号的换行后的其实点在哪里.

  6. 关于 width;height

    IE Firefox Chrome Safari window(width|height)   no yes yes document.body document.documentElement 网页 ...

  7. 2015 年 Ruby 大盘点

    2015 年 Ruby 圈发生了很多有趣的事,让我们跟随 Glenn Goodrich 来回顾一下 15 年 Ruby 的年度标志性事件. 2015 将要结束,这一年对于 Ruby 来说非常重要.如果 ...

  8. 如何使用 Docker、ECS、Terraform 重建基础架构?

    早期 Segment 基础架构普遍组合在一起.我们通过 AWS 界面设定实例,使用许多闲散的 AMI,并且采用三种不同的部署方式. 然而随着商业的飞速发展,工程师团队的规模不断扩大,基础架构的复杂度也 ...

  9. 【POJ3415】 Common Substrings(后缀数组|SAM)

    Common Substrings Description A substring of a string T is defined as: T(i, k)=TiTi+1...Ti+k-1, 1≤i≤ ...

  10. 【UVALive - 3211】Now or later (二分+2-SAT)

    题意: 有n架飞机需要着陆.每架飞机有两种选择,早着陆或者晚着陆,二选其一.现在为了保证飞机的着陆安全,要求两架着陆的飞机的时间间隔的最小值达到最大. 分析: 最小值最大问题我们想到二分答案.对于猜测 ...