lnmp下开启mail函数发送邮件及sendmail启动慢的问题

标签: lnmp mail 函数 | 发表时间:2014-04-27 10:13 | 作者:abc123456789cba
出处:http://www.iteye.com

自从换了阿里云服务器之后,我也就没有理过博客的回复评论邮件通知功能。前2天有朋友跟我说,之前评论都有邮件通知,现在怎么没有了。我想应该是没有开始支持mail()函数的语言,VPS的好处就是自己可以随便折腾。于是研究下怎么开启mail()函数,本文做个记录,方便以后可能用到。

我的阿里云服务器使用的是LNMP环境,CentOS 5.8 64位。

1.安装 sendmail 组件

yum install sendmail

2.使用下面的命令重启php-fpm进程

/etc/init.d/php-fpm restart

3.检测sendmail是否运行正常

/etc/init.d/sendmail status

如果显示正在运行running 就可以。

可能用到的命令

/etc/init.d/sendmail start (启动sendmail)
/etc/init.d/sendmail stop  (关闭sendmail)
/etc/init.d/sendmail restart (重启sendmail)

4.配置php.ini,填写sendmail的绝对路径

使用命令打开编辑php.ini

vi /usr/local/php/etc/php.ini

输入?sendmail_path 查找定位(或者手动跳转找到sendmail_path),你会发现默认是下面的代码

;sendmail_path =

按 i 进入编辑,将这行修改为

sendmail_path = /usr/sbin/sendmail -t –i

按 Esc 键退出编辑,输入 :wq 保存退出

5.重启php-fpm进程

/etc/init.d/php-fpm restart

这样就成功了,如果不放心,新建一个php文件,命名为 mail.php ,可以使用下面代码测试下。

<?php
$txt  "hello,you are a good boy!" ;
// 以下的邮箱地址改成你的
$mail  '[email protected]' ;
// 发送邮件
mail( $mail "My subject" $txt );
echo  'message was sent!' ;
?>

保存并上传至你的网站根目录,并在浏览器运行:

http://你的网址/mail.php

到时候你的邮箱就应该能收到邮件了,不过基本都在垃圾邮件里面,注意查看,如果收不到邮件的话,检查在操作过程时候正常,有木有重启sendmail或者重启php。一般来说,就能正常收到邮件了。

当然,功能是实现了,不过用上面的测试代码测试的时候,发现成功发一封邮件很慢很慢,要好几十秒甚至一分钟的时候。然后我在博客中发表或者回复评论的也是异常的慢,超过了用户等待的心理期限。优化这个效率势在必行了,不然只能砍掉这个功能。

网上方法很多很多,修改这个文件又是修改那个文件,感觉比较麻烦,于是找个了操作最少的修改,然后成功了。

修改/etc/hosts ,未修改之前

127.0.0.1 localhost.localdomain localhost

修改成

127.0.0.1 localhost.localdomain localhost 主机名称

查看本机的主机名称的命令是: hostname

完成修改之后重启下sendmail

service sendmail restart

此致,发表评论又回复到了几秒完成发表成功了。大家发表评论的时候看看相比慢不慢,同时能不能收到评论回复的通知邮件,感谢大家。

本文参考了  LNMP笔记:解决mail函数不能发送邮件 和  解决sendmail启动慢的问题 文章内容。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [lnmp mail 函数] 推荐:

lnmp下开启mail函数发送邮件及sendmail启动慢的问题

- - 操作系统 - ITeye博客
自从换了阿里云服务器之后,我也就没有理过博客的回复评论邮件通知功能. 前2天有朋友跟我说,之前评论都有邮件通知,现在怎么没有了. 我想应该是没有开始支持mail()函数的语言,VPS的好处就是自己可以随便折腾. 于是研究下怎么开启mail()函数,本文做个记录,方便以后可能用到. 我的阿里云服务器使用的是LNMP环境,CentOS 5.8 64位.

Offline Google Mail,离线功能回归Gmail

- 53ke - Chrome迷
今天,Chromestore登陆谷歌官方新款应用Offline Google Mail,这款应用完全基于HTML5,操作界面变动非常大,把PC弄得像平板似的. 在你没有网络连接的情况下,用Chrome打开这个网页应用,即可以管理自己的Gmail邮件. 当然,所有操作只有在联网时才被同步,若没有联网,则暂时记录在本地.

lnmp去掉nginx上传目录的PHP执行权限

- 木頭 - VPS侦探
LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险. 建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误. 下面VPS侦探详细介绍如何把lnmp环境下去掉指定目录的PHP执行权限.

启动 remi 源后服务器部署 LNMP 不再蛋疼

- xiangjing - OwnLinux.cn
每次部署新的服务器都是一件很烦人的体力活儿,下载一大堆部署LNMP环境需要的软件以及其它依赖. 费时间不说,一个不注意还可能留下一些隐患(不容易发现的编译错误). 当然老鸟们也有他们的办法,就是写一个自动编译部署的shell脚本. 可能你copy的时候是没有问题,但环境的变化了呢. 完全有可能会导致一些错误,如果你连他们的脚本都读不懂的话,你怎么根据自己的需求来修改呢.

一个自动安装LNMP的简洁Shell脚本

- QQ - 服务器运维与网站架构|Linux运维|互联网研究
此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP. 本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件. 1、把shell脚本的内容保存为nginx_php. 在脚本运行过程中需要输入一次y确认. 来源:http://www.freebsdsystem.org/nginx_php_shell/.

Offline Google Mail 離線版Gmail推出!Google日曆文件待續

- Alias - 電腦玩物
自從Google推出Chrome OS後,關於一個瀏覽器有沒有辦法擔當作業系統重任,或者說雲端工作時代是不是已經來臨的爭論,其中一個關鍵就是這些線上工具有沒有辦法「離線使用」. 雖然在某些地區獲得網路已非難事,但當我們移動工作地點之際,難免遇到可能的「斷線時刻」,這時候原本進行著的雲端工作是不是可以「繼續使用」就很重要.

E-mail发明前,人类曾用导弹寄快信!

- 米 - 译言-电脑/网络/数码科技
马克·哈茨曼(Marc Hartzman). 作者著有《这是我在eBay上找到的》、《美国幻灯秀》、《上帝叫我这么做》等书. 《赫芬顿邮报》奇闻版(Weird News | The Huffington Post)2011年9月13日讯.   一提到邮局的历史,除了那些特别痴迷的集邮家外,恐怕很难再有谁会感兴趣.

Java Mail(一):telnet实现发送收取邮件

- - CSDN博客推荐文章
       最近要做一个解析邮件的东东,就顺便系统的搞一下Java Mail的API吧,以前搞过,现在都忘到十万八千里了,要说技术就得学以致用,要不全扔了.        说起邮箱,工作中挺常用的工具,上学的时候都没怎么用. 国内的邮箱系统相当多了,163、sina、sohu、qq,这些是耳熟能详针对普通用户的邮箱,还有很多针对企业用户的.

E-mail已死 我们被电子邮件“拖了后腿”

- - cnBeta.COM业界资讯
莫斯科维茨说:“我往往会花几个星期的时间去收集某件事情的信息. 当我弄清楚来龙去脉时,这件事已经过期好几个星期了. 因此,他认定电子邮件即将走向死胡同. 凭着这个判断,他为Facebook开发了一个全新的通讯系统,能兼顾项目管理和通讯,从而缓解大量邮件来往的痛苦. 这个应用能在邮箱中挖掘出重要的信息,并把它们聚合起来,而且行之有效.

Ubuntu下使用mail命令发送邮件 — notes 0.0.1 文档

- -
安装heirloom-mailx. mail命令在Ubuntu下是需要安装的. /etc/nail.rc或者/etc/s-nail.rc,具体哪个文件,安装之后查看一下即可. 配置完成之后就可以使用mail发送邮件了. mail + 邮箱地址,回车 -> 填写主题 -> 填写内容 -> ctrl + d 结束输入 -> cc代表抄送,回车完成发送.