您好,欢迎访问一九零五行业门户网

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
发送一个简单的电子邮件,代码如下:
$txt = first line of textnsecond line of text; // use wordwrap() if lines are longer than 70 characters $txt = wordwrap($txt,70); // send email mail(somebody@example.com,my subject,$txt);
刚开始感觉非常不错,网易邮箱、qq邮箱、gmail邮箱常用的邮箱都可以收到,但经测试hotmail、tom、live等邮箱是收不到此类邮件的!
经查询邮件发送的时候,一般都需要身份验证,而php自带的mail()无能为力,很脆弱啊!
永久链接:
转载随意!带上文章地址吧。
其它类似信息

推荐信息