php无法用mail函数发送邮件之原因
来源:互联网 发布:vb怎么随机生成数字 编辑:程序博客网 时间:2024/05/29 16:19
用如下代码发送邮件,可总是发送失败。
<?php$to = "xxxxxxxx@qq.com";$subject = "Test mail";$message = "Hello! This is a simple email message.";mail($to,$subject,$message);?>
经查,PHP 需要一个已安装且正在运行的邮件系统,以便使邮件函数mail()可用。所用的邮件系统程序通过在 php.ini 文件中进行设置。具体解决方法如下:
1.安装sendmail
sudo apt-get install sendmailsudo apt-get install sendmail-cfsudo apt-get install mailutils2.配置sendmail
打开/etc/mail/sendmail.mc,找到如下行:
DAEMON_OPTIONS('Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl将127.0.0.1改为0.0.0.0
执行如下命令备份旧的配置文件,生成新的配置文件:
cd /etc/mailmv sendmail.cf sendmail.cf~m4 sendmail.mc > sendmail.cf3.测试
echo "This is a test mail." | mail -s "test" xxxxxxxx@qq.com注意:该邮件会被qq邮箱当作垃圾邮件接收,另外如果使用163邮箱可能会被直接过滤掉而无法收到。
4.配置php.ini文件
打开/etc/php5/apache2/php.ini,找到如下行:
; sendmail_path =将该行改为:
sendmail_path = /usr/sbin/sendmail -t
这里特别需要注意的是“-t"参数必不可少,如果缺少了它,当通过浏览器执行原php文件时,mail()函数会执行失败,但是如果直接在服务器端使用php命令行执行原php文件则不会出现问题。
5.重启apache
sudo /etc/init.d/apache2 restart
此时再次执行原php代码,邮件发送成功了。
- php无法用mail函数发送邮件之原因
- php无法用mail函数发送邮件之原因
- php无法用mail函数发送邮件之原因
- 用PHP MAIL()函数发送HTML邮件
- [php]mail函数发送邮件
- PHP调用mail( )函数直接发送邮件
- PHP mail函数发送HTML邮件
- PHP的mail函数实现邮件发送
- php mail函数发送邮件header过长
- PHP通过mail函数发送带附件的邮件
- PHP通过mail函数发送带附件的邮件
- PHP使用mail函数发送邮件标题乱码问题
- [php]mail函数发送邮件(正文+附件+中文)
- php mail函数发送html邮件不解析,linux+postfix
- php-mail()函数发送UTF-8邮件-中文标题乱码
- php中使用mail函数发送邮件时的注意事项
- php使用内置函数mail()发送邮件的解决方案
- CentOS7 配置sendmial + PHP mail函数发送邮件
- visual studio 2010 中使用严格的C99进行编译
- Android应用程序启动时发生AndroidRuntime : ClassNotFoundException for Activity class的解决方法
- poj 3267(dp)
- windows 下 gvim 的简单配置
- ARCGIS 点抽稀的实现
- php无法用mail函数发送邮件之原因
- 关于java技术不得不说的密码
- jquery之显示多个文本框剩余输入字数
- 透过表象看本质!?之二——除了最小p乘,还有PCA
- css hack(ie6-9,firefox,chrome,opera,safari)
- Android Fragment 应用
- IOS5 StoryBoard 入门1
- HDU 1999不可摸数(筛选因子)
- ZigBee Light Link协议灯控方案