这两天写了个方法用到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 发送一个简单的电子邮件,代码如下:
刚开始感觉非常不错,网易邮箱、QQ邮箱、GMAIL邮箱常用的邮箱都可以收到,但经测试HOTMAIL、TOM、LIVE等邮箱是收不到此类邮件的! 经查询邮件发送的时候,一般都需要身份验证,而PHP自带的mail()无能为力,很脆弱啊! (责任编辑:admin) |