今天@Yusky提醒道博客评论回复没有邮件通知,前段时间才刚刚配置好了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无法发送邮件及发送过慢等相关问题
完。
我一直没搞懂 sendmail 与 博客回复邮件的关系。我的sendmail没设过,但用了个WP插件,就有回复邮件通知功能了。
@杜小白 WP插件需要mail函数支持,sendmail就是提供支持的
@空空裤兜 我这sendmail出了点问题,直接把sendmail卸了,换成Postfix。还不错~
@杜小白 因为我是个比较追求尽量减少插件的人麽。。所以。插件能减掉的还是得减掉。。sendmail只是提供了mail支持。
没遇到问题,速度也挺快,就不换了~
我把博客也换成了这个 那个sendmail老是发不出
:mrgreen:
前些天重新配置了环境,但是折腾了很久,还是没有办法使用 Postfix 发送邮件,很是郁闷。我尝试的每一步都是按照你的文章说的(当然,域名是换我的),还是没办法。以前似乎也是按照你的方法实现的,但现在死活不行
我想我知道问题所在了,如果之前没有配置过 sendmail 路径的话,需要修改
vi /usr/local/php/etc/php.ini
的 ;sendmail_path = 为
sendmail_path = /usr/sbin/sendmail -t -i
弄死不行,我也是阿里云的centos 用的LNMP1.0 蛋碎啊。。。
好主意,我有空也换这个发信,感觉不错
打开后分别找到以下几项,将其前面的#去掉,并做配置:
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/
老大这部完全看不懂
怎么也找不到啊
你好,按照您的方法,我做成了,但是只能给qq邮箱发送验证邮件,其它像163,outlook都收不到邮件,很奇怪,,以前我用sendmail的时候,163 outlook可以收到邮件,但qq邮箱收不到邮件,所以才换了postfix,,,,可现在,现在又是这样的结果,,,我快哭了,,,
我是做的mail模块,然后在网站后台设置的stmp,,,麻烦您,帮我分析分析,好吗?
@我本仙人 你的这个情况我也不是很清楚,再检查下配置?
你好!看了你这篇文章,阿里云ECS centos7 配置好postfix之后,maillog提示25端口无法连接,是因为阿里云关闭了这个,建议使用465,请问这个要怎么修改呢?才能使用465端口 通过postfix发送邮件