`

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

 
阅读更多

自从换了阿里云服务器之后,我也就没有理过博客的回复评论邮件通知功能。前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 'somebody@example.com';
// 发送邮件
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启动慢的问题 文章内容。

分享到:
评论

相关推荐

    lnmp能用mail()函数来发邮件.docx

    lnmp能用mail()函数来发邮件.docx

    php中mail函数发送邮件失败的解决方法

    然而,当遇到`mail()`函数发送邮件失败的情况时,这通常是由多种原因引起的。以下是一些常见的问题及其解决方法: 1. **检查sendmail组件**:PHP的`mail()`函数依赖于系统中的sendmail组件来实际发送邮件。确保你的...

    LNMP系列教程之 解决sendmail不能发送邮件问题

    在Linux环境中,特别是用于搭建网站服务的...通过按照上述步骤操作,并根据具体情况进行调整,大部分情况下都可以成功修复邮件发送问题。如果问题依然存在,可以尝试查阅更多相关文档,或者寻求社区和专业人士的帮助。

    LNMP 一键安装包.zip

    作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。 Nginx 安装非常的简单,配置文件 非常简洁(还...

    在lnmp环境下搭建cacti

    ### 在LNMP环境下搭建Cacti及遇到的问题与解决方法 #### 一、概述 Cacti是一款基于Web的网络流量监控工具,它利用RRDTool来存储和展示网络设备的流量统计数据。Cacti可以收集来自SNMP的流量数据,并通过MySQL...

    magento2在lnmp环境下安装

    magento2在lnmp环境下安装,xmind完全安装文档 php版本7.1+

    LNMP安装与配置

    ### LNMP环境搭建详解 #### 一、LNMP概述 LNMP(Linux + Nginx + MySQL + PHP)是一种常见的网站服务器架构模式。它利用Linux操作系统作为基础平台,结合Nginx作为Web服务器,MySQL作为数据库管理系统,以及PHP...

    centos 7 lnmp 安装

    CentOS 7 LNMP 安装 CentOS 7 LNMP 安装是指在 CentOS 7 操作系统上安装 LNMP 软件堆栈,该堆栈包括 Linux 操作系统、Nginx Web 服务器、MySQL 数据库和 PHP 编程语言。 LNMP 软件堆栈广泛应用于网站和网络应用程序...

    Linux下的lnmp一键安装包

    LNMP一键安装包,linux的 centos测试成功。

    lnmp1.8.tar.gz lnmp安装包

    本文将深入探讨这个安装包“lnmp1.8.tar.gz”中的核心组件及其重要性。 首先,我们来看Linux,这是一个开源的操作系统内核,提供了稳定和安全的基础环境,用于运行各种服务。在LNMP架构中,Linux扮演着至关重要的...

    lnmp,lamp环境搭建文档,

    lamp和lnmp环境搭建文档,亲测可用,就是有一处mysql下载地址错了,原因是版本已下架,可更换其他版本

    LNMP服务软件包.zip

    这个"LNMP服务软件包.zip"显然包含了搭建LNMP环境所需的组件和教程,适合那些想要在自己的服务器上部署类似环境的用户。 **Linux**: Linux是一种开源操作系统,是 LNMP 架构的基础。它提供了稳定、安全的运行环境...

    lnmp0.9.tar.gz

    在Linux环境下搭建LNMP服务,可以享受到免费、可靠和高性能的优点。 二、Nginx Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件协议代理服务器。它的特点是处理静态文件速度快,支持高并发,且内存占用少。...

    源码安装lnmp包

    **源码安装LNMP环境详解** 在Linux操作系统中,LNMP(Linux + Nginx + MySQL + PHP)是一种常见的Web服务器架构,适用于搭建高性能、高并发的网站服务。本教程将详细介绍如何在CentOS 6.8环境下通过源码安装LNMP...

    lnmp环境搭建

    lnmp环境搭建 lnmp环境搭建是指Linux、Nginx、MySQL、PHP四大组件的集成环境搭建。lnmp环境是Web开发中最常见的服务器架构之一,广泛应用于各种web应用程序和网站。 lnmp环境搭建的重要性 lnmp环境搭建是Web开发...

    LNMP 解决Access Denied错误详细介绍

    处理搭建好LNMP环境之后,呈现了Access Denied错误 搭建好LNMP环境之后,呈现了Access Denied错误,现已扫除掉文件权限的问题也扫除掉是Nginx的问题,而是无法解析PHP的问题。 发现网上的很多大牛都是经过Nginx的...

    centos7 配置lnmp

    记录配置lnmp所需指令,适合centos7系统实测。

Global site tag (gtag.js) - Google Analytics