Linux下sendmail启动及发送邮件很慢的问题&解决

最近在使用Wordpress的注册功能的时候报了这么一个错误:wordpress无法发送邮件,[可能原因:您的主机禁用了 mail() 函数],第一反应是主机禁用了mail函数,测试了一下,发现主机支持mail函数。附测试方法:将下面代码保存为PHP文件,放到网站目录访问。

支持mail函数但是还是无法发送邮件,那就是sendmail的配置问题了,查看错误日志,cat /var/log/maillog,发现这么一段日志:
Aug 15 11:03:18 AY140624124802864a35Z sm-msp-queue[17657]: My unqualified host name (localhost) unknown; sleeping for retry
Aug 15 11:04:18 AY140624124802864a35Z sm-msp-queue[17657]: unable to qualify my own domain name (localhost) -- using short name
Aug 15 11:04:18 AY140624124802864a35Z sm-msp-queue[17684]: starting daemon (8.14.4): [email protected]:00:00
在Google上搜索一下,大致是这样子:sendmail无法确认主机名,根据网上给出的教程,修改 /etc/sysconfig/network和 /etc/hosts,在127.0.0.1后面加上主机名,后来发现还是启动很慢,查看错误日志:
Aug 15 11:22:39 AY140624124802864a35Z sm-msp-queue[18493]: My unqualified host name (AY140624124802864a35Z) unknown; sleeping for retry
Aug 15 11:23:39 AY140624124802864a35Z sm-msp-queue[18493]: unable to qualify my own domain name (AY140624124802864a35Z) -- using short name
Aug 15 11:23:39 AY140624124802864a35Z sm-msp-queue[18527]: starting daemon (8.14.4): [email protected]:00:00
后来查找资料,原来sendmail只认网络主机名,还要在主机名后面加上.localdomain(或者直接写成网站域名),下面放出我使用的服务器的配置文件 /etc/hosts
 
127.0.0.1 localhost www.uulm.net
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 www.uulm.net
10.90.22.100 www.uulm.net
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=uulm.net
NETWORKING_IPV6=no
PEERNTP=no
GATEWAY=58.96.171.247
然后重启sendmail服务,很快启动了,测试一下
mail -s title [email protected] < mail.txt
title是邮件标题,[email protected]是你要发送的邮件地址,mail.txt是邮件内容。成功收到邮件。收到的发件人的格式应该是这样的:用户名@主机名,我是使用root登陆,主机名是uulm.net,所以,发件人是[email protected]