linux中mail函数不能发送邮件怎么办

原因分析:

1.检查下本机25端口是否有开放
2.mail是利用linux自带的sendmail服务来发送邮件的,service sendmail status 查看下该服务的状态

发送命令:mail -s -v  "hell" [email protected] < test.txt

没有安装或启动 sendmail 组件

  1.重新安装 sendmail 组件,我用的是 CentOS ,使用下面的命令安装

  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

时间: 2024-10-01 04:41:00

linux中mail函数不能发送邮件怎么办的相关文章

linux中mail函数不能发送邮件

没有安装或启动 sendmail 组件 解决办法 我是新手,命令不熟,所以写的很详细,老鸟勿喷哦 1.重新安装 sendmail 组件,我用的是 CentOS ,使用下面的命令安装 代码如下 复制代码 yum install sendmail 2.使用下面的命令重启php-fpm进程 代码如下 复制代码 /etc/init.d/php-fpm restart 3.检测sendmail是否运行正常 代码如下 复制代码 /etc/init.d/sendmail status 如果显示正在运行runn

[转帖]linux - 使用mail命令快速发送邮件

linux - 使用mail命令快速发送邮件 https://baijiahao.baidu.com/s?id=1609503763223879322&wfr=spider&for=pc 要相信 很多东西没那么复杂. linux运维菜 发布时间:18-08-2221:27优质原创作者 前言 Linux系统中mail命令可以直接发送邮件. CentOS/RHEL安装 yum -y install mailx mail命令参数 -s <邮件主题>:指定邮件的主题: -c <地

linux中fork()函数详解[zz]

转载自:http://www.cnblogs.com/york-hust/archive/2012/11/23/2784534.html 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有

linux中时间函数

linux下常用时间类型有四种: time_t . struct   tm. struct  timeval .    struct   timespec 1.time_t   时间函数 time_t  类型在time.h中定义: #ifndef   __TIME__T #define  __TIME_T typedef    long  time_t #endif 可见, time_t 实际上是一个长整型,其值表示从1970年1月1日00时00分00秒(linux系统的Epoch时间)到当前时

Linux中select函数

转载自:http://blog.163.com/henry_hlh/blog/static/17039507420124211841298/ Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种: (1)阻塞I/O (2)非阻塞I/O (3)I/O复用(select和poll) (4)信号驱动I/O(SIGIO) (5)异步I/O 其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准

open()函数 linux中open函数使用

来源:http://www.cnblogs.com/songfeixiang/p/3733855.html linux中open函数使用 open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值 参考格式 if(fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY))<0 {printf("cannot open"}; int open(const char

linux中php项目无法发送邮件:PEAR mail package is not installed

发送邮件报错误:PEAR mail package is not installed的原因是linux中缺少PEAR mail组件, PEAR mail组件也就是PHP Pear Mail / SMTP软件包的三大支持: 1)NET / SMTP:SMTP协议的实现 2)邮件:提供发送邮件的多个接口的类 3)网络/ Socke:网络接口 解决方法:在php pear repo中下载并安装 1.下载文件 [[email protected]2 ~]# cd /tmp [[email protect

python (18)在linux中如何实现定时发送邮件

最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 目前代码只能发邮件,能发送附件的还在学习中,稍后补上 1 #!/usr/bin/env python 2 3 import smtplib 4 from email.mime.text import MIMEText 5 import threading 6 import time, datetime 7 8 mailto_list=[""] #里面是对方的邮箱 9 #-----------QQ邮箱发送设

LNMP笔记:解决mail函数不能发送邮件

用LNMP环境,在探针里测试发送邮件,失败了.已经确定mail()函数是开启的. 问题根源 没有安装或启动 sendmail 组件 解决办法 我是新手,命令不熟,所以写的很详细,老鸟勿喷哦 1.重新安装 sendmail 组件,我用的是 CentOS ,使用下面的命令安装 1 yum install sendmail 2.使用下面的命令重启php-fpm进程 1 /etc/init.d/php-fpm restart 3.检测sendmail是否运行正常 1 /etc/init.d/sendma