网站地图    收藏   

主页 > php专栏 > php应用 >

php mail()邮件发送配置方法 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 这两天写了个方法用到php mail()本以为php提供的这个方法非常简单、方便、易用,其实不然!php mail()函数需要配置才可以发邮件的哦,下面...

php mail()邮件发送配置方法

这两天写了个方法用到php mail()本以为php提供的这个方法非常简单、方便、易用,其实不然!

php mail()函数需要配置才可以发邮件的哦,下面配置方法:

如果你没有使用windows,那么sendmail_path指令就是你唯一要担心的东西.如果你正在使用Windows,你就需要看看最后两个指令.

如果你使用的是Linux或是一个Unix变种,sendmail_path看起来应该象这样:

sendmail_path = /usr/sbin/sendmail

或者如果你使用Qmail:

sendmail_path = /var/qmail/bin/sendmail

在PHP mail()函数中的这条指令里,你还可以设置配置参数来指明队列缓冲选项或是显示的设置Return-Path头,如下所示:

sendmail_path = /usr/sbin/sendmail -t -fyou@yourdomain.com

作为一个非Windows用户,这就是你要做的一切了.如果你使用的是Windows,你有更多的事情要做.你还需要看一看SMTP和sendmail_from的值.不要被sendmail_from指令名字中的sendmail弄迷糊了.虽然你没有在Windows上使用名叫Sendmail的程序,但那只是指令的名字.不要被它吓到了.

在你的phpinfo()显示的结果里,看看SMTP和sendmail_from的缺省值--它们要么是空白,要么包含了胡乱的值.你应该把它们改成有意义的值.

如果你决心在这台电脑上运行一个SMTP服务程序,你在php.ini文件中的条目就应该如下:SMTP = localhost

但是,如果你要使用你ISP(在这个例子中是EarthLink)的外发邮件服务器,那么php.ini中的邮件看起来应该如下:SMTP = mail.earthlink.net

你也可以使用IP地址而不是域名,因为计算机不区分这两种条目.

第二条配置指令是sendmail_from,它应该被设置成From头中的电子邮件地址.它可以在脚本里被修改但是通常作为缺省值使用.下面就是这个配置指令的示例youraddress@yourdomain.com指的是你自己的邮件地址,代码如下:

sendmail_from = youraddress@yourdomain.com

发送一个简单的电子邮件,代码如下:

  1. $txt = "First line of textnSecond line of text"
  2. // Use wordwrap() if lines are longer than 70 characters 
  3. $txt = wordwrap($txt,70); 
  4. // Send email 
  5. mail("somebody@example.com","My subject",$txt); 

刚开始感觉非常不错,网易邮箱、QQ邮箱、GMAIL邮箱常用的邮箱都可以收到,但经测试HOTMAIL、TOM、LIVE等邮箱是收不到此类邮件的!

经查询邮件发送的时候,一般都需要身份验证,而PHP自带的mail()无能为力,很脆弱啊!

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论