阿里云的linux主机安装完成之后我装了AMH4.2的面板,但是发现不能发送邮件,搜索了一下,发现,默认是木有安装sendmail的,就是不支持mail函数,于是,那就自己装吧,有人说可以用smtp服务呀,没错,是可以,但是免费的smtp像QQ邮箱,网易邮箱什么的,群发或者每天的发送量是有限制的,不如用sendmail方便。

第一步,使用管理终端登录centos,执行命令:

yum install sendmail

安装sendmail组件。

第二步,安装完sendmail后还不能直接使用,还需要再设置一下hosts来解决sendmail启动慢和sendmail发送邮件慢的问题。

修改服务器上的hosts文件(文件地址是/etc/hosts),默认的hosts一般是这样:

127.0.0.1 localhost
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.160.26.7 AY130916172459676d34Z

注意第一行127.0.0.1后面只有一个localhost,第二行的::1不用管,双冒号1是针对ipv6用的,第三行一般会有一个ip,后面跟着一个长字符串(如果::1下面还有多行的话,记住那个和你控制台中的实例id不一样的那个),记下这个串。

然后修改第一行,加上localhost.localdomain和第三行那个串,变成如下的样子

127.0.0.1 localhost.localdomain localhost AY130916172459676d34Z
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.160.26.7 AY130916172459676d34Z

保存,上传覆盖。

第三步,修改php.ini(阿里云centos6.5文件是在/etc/php.ini)中的sendmail_path配置,如果使用的是cgi(php-fpm),则修改php-fpm.conf文件。

打开php.ini或php-fpm.conf,搜索找到sendmail配置的位置。修改sendmail_path,加上-f你的用户名@你的域名,如:

sendmail_path = /usr/sbin/sendmail -fadmin@blce.me -t -i

php-fpm.conf中的那行应该是类似:

<value name=”sendmail_path”>/usr/sbin/sendmail -fadmin@blce.me -t -i</value>

最后,保存重启你的web服务和sendmail服务。

哦,对了,使用AMH4.2面板的用户要注意,需要安装AMChroot插件并对网站开启兼容模式,否则mail函数好像不能成功使用。

附:一些文件可能目录和命令

/etc/php.ini
/usr/local/php/sbin/php-fpm
/usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini

 

service nginx restart
service php-fpm restart
service sendmail restart