Intel英特尔SSD固态盘 Acronis 安克诺斯 浪潮服务器商城 腾保数据
首页 > 技术园地 > Postfix > 正文

CentOS系统下安装Postfix替换sendmail发送邮件

2014-12-28 20:25来源:中国存储网
导读:倡萌以前介绍过 使用 sendmail 发送邮件,但是 sendmail 发送邮件很慢,要解决这个问题,可以试试sendmail无法发送邮件及发送过慢等相关问题。倡萌这里主要是想利用 Postfix 替换 sendmail 组件,因为据说Postfix 的效率

倡萌以前介绍过 使用 sendmail 发送邮件,但是  sendmail 发送邮件很慢,要解决这个问题,可以试试 sendmail无法发送邮件及发送过慢等相关问题。倡萌这里主要是想利用 Postfix 替换 sendmail 组件,因为据说 Postfix 的效率更高些。测试环境为阿里云的 Centos 5.4 32位系统。

1,如果装了sendmail的话,先卸载了。

yum remove sendmail

2,安装 Postfix

yum install postfix

3,更改默认MTA为Postfix:

/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix

4,完事儿,再次检查下是否将MTA改为Postfix了:

alternatives --display mta

5,配置Postfix,vi编辑main.cf

vi /etc/postfix/main.cf

打开后分别找到以下几项,将其前面的#去掉,并做配置:

    myhostname = mail.wpdaxue.com
    mydomain = wpdaxue.com
    myorigin = $mydomain
    inet_interfaces = all
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    mynetworks = 192.168.100.10/28, 127.0.0.0/8
    relay_domains =
    home_mailbox = Maildir/

以上几个设置项不在同一个位置,需要分别寻找,并进行更改,其中相应的域名请改为自己的地址,mynetworks我是没有做改变,自动就有的。我刚开始也是配置错了导致安装失败,后来在 @朱茂海的博客找到该答案,以上几项的含义解释也来自该网站,感谢作者提供。

配置文件解释:
mydomain:
mydomain参数是指email服务器的域名,请确保为正式域名(如centos.bz)
myhostname:
myhostname参数是指系统的主机名称(如我的服务器主机名称是mail.centos.bz)
myorigin:
myorigin参数指定本地发送邮件中来源和传递显示的域名。在我们的例子中,mydomain是centos.bz,也是我的域名。
对于下面的一行,我们的邮件地址是user@centos.bz而不是user@mail.centos.bz。
myorigin = $mydomain
mynetworks:
mynetworks参数指定受信任SMTP的列表,具体的说,受信任的SMTP客户端允许通过Postfix传递邮件。
mydestination:
mydestination参数指定哪些邮件地址允许在本地发送邮件。这是一组被信任的允许通过服务器发送或传递邮件的IP地址。用户试图通过发送从此处未列出的IP地址的原始服务器的邮件将被拒绝。
inet_interfaces:
inet_interfaces参数设置网络接口以便Postfix能接收到邮件。
relay_domains:
该参数是系统传递邮件的目的域名列表。如果留空,我们保证了我们的邮件服务器不对不信任的网络开放。
home_mailbox:
该参数设置邮箱路径与用户目录有关,也可以指定要使用的邮箱风格。

6,检测并启动Postfix

service postfix status //检测,若已启动会列出其PID,如下:
master (pid 25579) is running...
//若未启动,执行以下命令:
service postfix start

7,设置开机启动

chkconfig postfix on

我自己的安装到此为止就结束了,因为我只需要的是mail功能,并非搭建邮件服务器。此时测试邮件发送,OK。

补充:如果你之前没有配置过 sendmail 组件,那你很可能没有修改 php.ini 的邮件发送路径,那样可能无法发送邮件。

所以你需要配置php.ini,填写sendmail的绝对路径:

使用命令打开编辑php.ini

vi /usr/local/php/etc/php.ini

输入?sendmail_path 查找定位(或者手动跳转找到sendmail_path),你会发现默认是下面的代码

;sendmail_path =

按 i 进入编辑,将这行修改为

sendmail_path = /usr/sbin/sendmail -t -i

按 Esc 键退出编辑,输入 :wq 保存退出

5.重启php-fpm进程

/etc/init.d/php-fpm restart

相关阅读
  • qmail sendmail postfix三种mta的测试对比

    概括的比较 以下的分析主要基于我在CASA上发的一个小文章,对sendmail/qmail/postfix做了一个概括性的比较。 sendmailsendmai功能非常强大,很多先进功能在sendmail上都最

  • CentOS系统下使用Postfix搭建邮件服务器

    在CentOS中,默认的邮件服务器(SMTP方面)是sendmail,但sendmail有若干的缺点,比如,配置复杂、安全漏洞曾被多次发现--并且依然存在隐患、邮件发送速度慢等等,这里就不

  • CentOS系统下使用Postfix代替sendmail邮件服务

    今天@Yusky提醒道博客评论回复没有邮件通知,前段时间才刚刚配置好了Sendmail,不应该的啊!检查了一番服务器设置,sendmail设置都没有什么问题,这段时间也没有改过什么东

编辑推荐
头条阅读
栏目热点

Copyright @ 2006-2015 ChinaStor.COM 版权所有 京ICP备14047533号

中国存储网

存储第一站,存储门户,存储在线交流平台