php中mail函数发送文件失败解决办法

之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了。但是发现sendmail明明已经安装。

如果没有安装sendmail可以执行

 代码如下 复制代码

yum install sendmail

对了,主机名要设置一个域名格式的。例如:sangsir.com
不然重启sendmail的时候会特别久才启动起来。(否则要等很久)

 

 代码如下 复制代码
hostname sangsir.com

接着看看sendmail是否正常运行

 

 代码如下 复制代码
service sendmail status

如果没有运行可以启动。status换成start
紧接着,编辑php.ini。可以在web环境下创建一个phpinfo
因为我用的是lnmp。

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

再查找:

;sendmail_path =

按i编辑,替换为:

 

 代码如下 复制代码
sendmail_path = /usr/sbin/sendmail -t -i

我的系统默认的是:

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

这个-f 看来是让mail函数停用了,去掉-f后mail函数工作恢复正常。

紧接着,重启PHP进程。

一般是:service php restart
LNMP是:service php-fpm restart
Apache下可以:service httpd restart

给大家分享个php脚本测试代码:

 代码如下 复制代码

<?php
$send = mail(‘yourEmail@lisizhang.com’, ‘邮件标题’, ‘测试邮件内容,如果收到此邮件,表示mail函数成功启用!’);
if($send){
echo ‘true’;
}else{
echo ‘false’;
}
?>

如果返回结果false说明邮件发送失败,如果返回true表示邮件发送成功!

时间: 2024-10-07 18:43:40

php中mail函数发送文件失败解决办法的相关文章

在ASP.net中的UpdatePanel,弹窗失败解决办法

原文:在ASP.net中的UpdatePanel,弹窗失败解决办法 最开始我用: Response.Write("<script>alert('和哈呵呵呵呵呵呵!')</script>"); 在没有UpdatePanel时,这个有效,能够正确弹出提示窗口. 后面,页面改进,加上局部刷新后,该方式失效了.探索出新的方式:   ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(),

利用php中mail函数发送带有附件的邮件

mail函数,发送邮件 语法: mail(to,subject,message,headers,parameters) to 规定邮件的接收者 subject 规定邮件的主题.该参数不能包含任何换行字符 message 规定要发送的消息 headers 规定额外的报头,比如 From, Cc 以及 Bcc parameters 规定 sendmail 程序的额外参数. 碰到的主要问题是乱码问题,刚开始是某些客户端接收邮件时好(比如QQ邮箱,估计带自动那个识别编码)的有些不foxmail.ipad

wordpress媒体库上传文件失败解决办法

这是之前一位win主机用户遇到的问题,其他系统的用户不知道会不会出现这种问题,一般在网站目录可读写权限没有达到777的情况下,会出现这样的提示:不能将文件移动到目录! win主机用户在升级到wordpress3.7.1版本之后出现的一个问题: 中文名的图片上传以后,在FTP存放文件的目录中(wp-content/uploads/)查看会出现文件名乱码的现象.直接访问链接无法显示图片,看似是路径的问题,其实不然,把文件名改为数字或者英文再上传却可以正常显示,这就说明问题所在. 怎么让中文名自动重命

利用php中mail函数发送HTML邮件实例

例  代码如下 复制代码 <?php function send_mail($from, $to, $subject, $message) {     if ($from == "")     {         $from = '回忆未来 <webmaster@s135.com>';//发件人地址     }     $headers = 'MIME-Version: 1.0' . "rn";     $headers .= 'Content-t

phpmyadmin导入大sql文件失败解决办法

在利用phpmyadmin导入数据库时提示: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.错误.   phpmyadmin 上传大文件,导入MYSQL数据库时提示:"没有接收到要导入的数据.可能是文件名没有提交,也可能是文件大小超出 PHP 限制.". 修改方法: php.ini中修改upload_max_file

javascript中encodeURIComponent()函数URI中文乱码解决办法

问题描述 关于encodeURIComponent()函数应用之前在[注意javascript传递url数据的完整]一文有讨论,这里主要是讨论GBK编码的页面使用encodeURIComponent()函数编码URI通过ajax提交中文字符产生乱码的现象. 问题解决 使用encodeURIComponent()函数的目的是编码特殊字符 , / ? : @ & = + $ #,但实际应用中可能并不需要编码中文字符,因此可以编写自定义的函数替代encodeURIComponent()函数. 使 用e

PhpMyAdmin中无法导入sql文件的解决办法

在命令窗口: mysql>source d:\datafilename.sql

lnmp中mail函数不能发送邮件2种解决办法

方法一,使用sendmail组件来发邮件 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 

php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法_php技巧

最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的.最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在.   1.使用 PEAR 的 Mail 类 PEAR 的 Mail 类可以让你选择使用 sendmail 或者 SMTP 方式发信,这样的包装好的接口很好用,你没有必要去自己重新发明轮子. 2.关于headers 中subject 的乱码 不要把任何除了 iso-8859-1 编码之外的