阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS下安装Postfix替换Sendmail发送邮件

163次阅读
没有评论

共计 4565 个字符,预计需要花费 12 分钟才能阅读完成。

今天有网友提醒说博客评论回复没有邮件通知,前段时间才刚刚在 CentOS 服务器配置好了 Sendmail,不应该的啊!检查了一番服务器设置,sendmail 设置都没有什么问题,这段时间也没有改过什么东西,正好最近看到 Postfix,便想可以试试。便卸载了 sendmail,开始安装 Postfix,做个步骤记录。

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.gongzi.org
    mydomain = gongzi.org
    myorigin = $mydomain
    inet_interfaces = all
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    mynetworks = 192.168.100.10/24, 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。

以下为个人附加设置,自定义邮件来源,默认可能会显示 localhost.domain@XXX 之类的,因为我之前配置过 PHP.ini,所以它显示的是我配置好的。相关的配置或许这篇文章能帮到:

Sendmail 无法发送邮件及发送过慢解决 http://www.linuxidc.com/Linux/2014-10/107946.htm

完。

CentOS 6.4 下 Postfix 邮件服务安装和基本配置 http://www.linuxidc.com/Linux/2013-08/88977.htm

CentOS 5.5 下邮件服务器 Postfix 安装 http://www.linuxidc.com/Linux/2012-05/60010.htm

搭建 Red Hat Enterprise Linux 5.4 的 Postfix 邮件服务器 http://www.linuxidc.com/Linux/2012-12/77167.htm

Linux 下架构安全邮件服务器之 Postfix(认证)http://www.linuxidc.com/Linux/2012-09/70527.htm

Postfix 的详细介绍 :请点这里
Postfix 的下载地址 :请点这里

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

补充:如果你之前没有配置过 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

今天有网友提醒说博客评论回复没有邮件通知,前段时间才刚刚在 CentOS 服务器配置好了 Sendmail,不应该的啊!检查了一番服务器设置,sendmail 设置都没有什么问题,这段时间也没有改过什么东西,正好最近看到 Postfix,便想可以试试。便卸载了 sendmail,开始安装 Postfix,做个步骤记录。

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.gongzi.org
    mydomain = gongzi.org
    myorigin = $mydomain
    inet_interfaces = all
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    mynetworks = 192.168.100.10/24, 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。

以下为个人附加设置,自定义邮件来源,默认可能会显示 localhost.domain@XXX 之类的,因为我之前配置过 PHP.ini,所以它显示的是我配置好的。相关的配置或许这篇文章能帮到:

Sendmail 无法发送邮件及发送过慢解决 http://www.linuxidc.com/Linux/2014-10/107946.htm

完。

CentOS 6.4 下 Postfix 邮件服务安装和基本配置 http://www.linuxidc.com/Linux/2013-08/88977.htm

CentOS 5.5 下邮件服务器 Postfix 安装 http://www.linuxidc.com/Linux/2012-05/60010.htm

搭建 Red Hat Enterprise Linux 5.4 的 Postfix 邮件服务器 http://www.linuxidc.com/Linux/2012-12/77167.htm

Linux 下架构安全邮件服务器之 Postfix(认证)http://www.linuxidc.com/Linux/2012-09/70527.htm

Postfix 的详细介绍 :请点这里
Postfix 的下载地址 :请点这里

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4565字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中