共计 1617 个字符,预计需要花费 5 分钟才能阅读完成。
今天折腾 CentOS 的时候 Sendmail 碰到的一些问题,如邮件无法发送,发送后的一些问题等等,这里统一做个记录,以备不是之需,同时也希望能帮到一些碰到这些问题的童鞋。每个问题都会有详细的操作步骤,按照步骤操作即可;
折腾环境:CentOS
邮件组件:Sendmail
一、主机虽支持 mail()函数,却无法发送邮件;
先使用以下命令检查是否已安装 sendmail:
rpm –q sendmail
检测结果确实未安装该组件,果断安装:
yum install sendmail
等待安装完成后去检查了下 php.ini 配置,里面需要修改相关参数,直接:
vi /usr/local/php/etc/php.ini
找到 sendmail_path 所在行,发现是未启用,去掉前面的分号;(按 i 编辑模式),去掉分号,并将其改为:
sendmail_path = /usr/sbin/sendmail -t –i
这个有的默认就会是这个值。接着重启 sendmail:
service sendmail restart
二:发送邮件过慢问题
上面的步骤已经可以正常发送邮件了,但是却发现发送过慢,此时,请检查 hosts:
cat /etc/hosts
结果发现:
127.0.0.1 localhost.localdomain localhost
中并没有 hostname,将其加入,查看主机名称直接命令:hostname,这里加入主机名称为:testhost,则改过后的内容则为:
127.0.0.1 localhost.localdomain localhost
testhost
接着,重启 sendmail;
完成此步骤后还可以解决一个 sendmail 和 sm-client 启动慢的问题;
三、邮件发送方为:root@localhost.domain 代发问题
方法一:修改 hostname 为个人域
方法二:伪装成 user@domain.com
执行以下命令:
/etc/mail/sendmail.mc
打开后编辑文件,在末端加入以下内容:
MASQUERADE_AS(gongzi.me)dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl MASQUERADE_DOMAIN(gongzi.me)dnl
将其中的 gongzi.me 换成你自己的域名,然后保存。接着执行以下命令:
m4 /etc/mail/sendmail.mc
> /etc/mail/sendmail.cf
而后,重启 sendmail 服务。
四:执行 m4 /etc/mail/sendmail.mc
> /etc/mail/sendmail.cf 时,报错:sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4′: No such file or directory,并且导致 sendmail 相关服务无法正常启动。
原因:未安装 sendmail-cf
解决:执行以下命令:
yum install sendmail
-cf
完成后问题解决。
有别的再陆续补充!
Ubuntu 安装 sendmail 并把硬盘空间信息发送到指定邮箱 http://www.linuxidc.com/Linux/2013-06/85565.htm
Linux 下 sendmail 的加密与认证 http://www.linuxidc.com/Linux/2012-11/74263.htm
Linux 下架构安全邮件服务器之 sendmail http://www.linuxidc.com/Linux/2012-09/70280.htm
sendmail 邮件服务器的配置 http://www.linuxidc.com/Linux/2012-09/70598.htm
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14