当前位置:博客首页>>建站经验 >> 阅读正文

解决阿里云mail不能发邮件及sendmail启动慢发信慢的问题

作者: 郑晓 分类: 建站经验 发布于: 2014-06-26 18:08 浏览(14,706) 评论(4)


现在自己也成了一名“海龟”,博客服务器从美国搬回了国内的阿里云。速度和之前的美国vps直接不是一个档次的,当然我也不会承认之前的vps慢(ping 170ms)。国内的主机大都需要备案,所以这在备案过程中,开始倒腾环境。

其实对于新手来说,要在阿里云的主机上搭建个php环境是非常简单的,现在阿里云免费提供大量的第三方系统镜像,直接集成了基于apache或nginx的php、mysql环境。

在使用某php探针测试邮件功能时,发现无法发送,提示邮件发送失败。但是检测mail函数是正常。后来才知道这是阿里云的“问题”,因为阿里云提供的系统镜像都是绝对的精简版。系统中默认没有sendmail组件。所以解决方法就很简单的了,安装sendmail。

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

yum install sendmail

安装sendmail组件。

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

vi /etc/hosts

使用vi编辑器打开hosts文件,默认的hosts一般像下图这样:

阿里云centos6.3 hosts文件

阿里云centos6.3 hosts文件


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

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

阿里云centos6.3 hosts文件

阿里云centos6.3 hosts文件

最后, 修改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@zh30.com -t -i

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

<value name="sendmail_path">/usr/sbin/sendmail -fadmin@zh30.com -t -i</value>

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

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/a-li-yun-mail-sendmail-qi-dong-fa-xin-man.html

解决阿里云mail不能发邮件及sendmail启动慢发信慢的问题:目前有4 条留言

用户评论头像 请教发表于 2014年11月05日 20:05[回复]

想请问一声:博主以前用的vps稳定性如何?速度170ms肯定不错,不知价格如何?能说说用的哪家的vps吗?

    用户评论头像 郑晓发表于 2014年11月06日 08:24[回复]

    上一个vps是用的kvmla家的,也是一年,比较稳定。

用户评论头像 分热热格格格人格发表于 2014年09月29日 16:44[回复]

我 😳 ❗ ❗ 😳 😀 😆 🙄 🙄 😥 :mrgreen: 😥 😎 ❓ 😛 🙁 ❗ 🙂 🙂 😳 😀 😕 😎 😡 😈

用户评论头像 沈军发表于 2014年08月04日 22:14[回复]

你这方法很不错,完美解决我的问题,现在SENDMAIL发件速度很快了。